メインコンテンツへスキップ
50% off 全プラン対象、期間限定。月額 $2.48/mo
12 min left
サーバーとOS

Linuxで安全にディレクトリを削除する方法: rmdir、rm -r、find

Nick Silver 著者 Nick Silver 12 分で読めます 更新日 Sep 22, 2025
A lone ultrareal laptop at 3/4 angle on a wet surface; screen shows two crisp terminal lines: ls -ld -- '$DIR' rm -I -r -- '$DIR' From the right-side port, a cyan/magenta holographic ribbon curves out to a manila folder floating to the right of the laptop; the folder’s right half frays into fine paper dust mid-air. BR2049 lighting, UV rim, subtle rain specks, sodium-amber haze + single low skyline only.

適切なツールを選べば、Linuxでフォルダを削除するのは簡単です。 rmdir を空のパスに使用し、 rm -r コンテンツがまだ残っているディレクトリに使用し、 探す 中身をクリアするだけの場合に使用します。これが Linuxでディレクトリを削除する方法です。安全なデフォルト設定、迅速なチェック、邪魔になるエラーの修正があります。速度を重視する場合は、スナップショットテーブルをざっと確認してから、詳細を読み進めてください。

 

 

コマンド概要:コピー、ペースト、先へ進む

詳細に入る前に、よく使われるジョブをまとめました。中央の列からコピーして、注記を適用してください。

タスク 最も安全なクイックコマンド 追加フラグまたは注記
空のディレクトリを削除 rmdir DIR を削除します or rm -d DIR 追加 -p 空になった親ディレクトリも削除する場合に使用します。
確認プロンプト付きで空ではないディレクトリを削除 rm -I -r DIR 速度と安全性のバランスが取れています。
空ではないディレクトリを強制削除 rm -rf — DIR で確認 ls -ld — DIR 実行する前に確認してください。
親は保持し、中身をクリア find DIR -mindepth 1 -delete 隠しファイルやフォルダも処理します。
空のディレクトリだけを削除 find DIR -type d -empty -delete デプロイ後のクリーンアップに。
名前パターンで削除 find DIR -type d -name 'cache*' -prune -exec rm -rf {} + 大きなディレクトリツリーでも高速に動作します。

Linux でディレクトリを削除する方法を確認しながら、このスナップショットを手元に置いておくと便利です。 

空のディレクトリを削除する rmdir or rm -d

Ultrareal steel file-cabinet drawer pulled fully open, rails and felt pads visible, absolutely empty. Tiny embossed stickers on the front: RMDIR and EMPTY. A soft sodium-amber haze drifts behind a faint skyline silhouette; cyan signage glints along the brushed metal lip; micromotes and hairline scratches read true.

空のディレクトリ はリスクが低いケースです。葉だけを削除する必要がある場合、 rmdir はそれを正確に行います。ターミナルに留まるなら、 rm、使用 rm -d で同じ結果が得られます。どちらのコマンドも 空でないパスで停止します。これはターミナルでディレクトリを削除する方法を学ぶ初心者にとって、役立つ安全装置になります。

  • rmdir PROJECT/tmp 空のフォルダを削除し、存在しなくなると静かに終了します。
  • rmdir -p foo/bar/baz パスとその親ディレクトリを削除します。各々が空になった場合、一度にクリーンアップできます。
  • rm -d empty_folder ディレクトリが空の場合のみ削除します。 rmdir を使っている場合、 rm.
  • rmdir –ignore-fail-on-non-empty DIR スクリプト内でノイズが問題になる場合、「空ではありません」というエラーテキストを非表示にします。
  • 追加 -v 例えば、フィードバックについては、 rmdir -pv foo/bar/baz.

Linux でディレクトリを削除しようとするときの一般的な問題は、フォルダにまだファイルが含まれている場合、 rmdir 実行を拒否します。ここで再帰処理に切り替えるサインです。 

あわせて読みたい: XRDP で Linux サーバーに接続

空ではないディレクトリを削除するには rm

Ultrareal industrial paper shredder as the single hero; mouth loaded with multiple manila folders and dividers. The folders are clearly stuffed with paper. A tiny metal badge on the front reads RM -R; a small hazard triangle beside it reads FORCE.

再帰的削除は rm -r or rm -rf基本的にはスピードとプロンプトのトレードオフです。Linux でディレクトリの削除方法を学び始めた人は、 rm -r で始めてプロンプトを追加します。自動化するチームは -f パスチェックをロックした後に追加します。

冷静さを保つパターンで始めましょう:

  • 一度プロンプトする rm -I -r DIR は1回だけ確認してから処理を進めます。 -i 大きな木の上に。
  • すべてをプロンプト表示: rm -ri DIR は遅いですが、小さなツリーで各ステップを見たい場合に便利です。
  • 強制実行と再帰: rm -rf DIR はプロンプトとほとんどのエラーをスキップします。 pwd, ls -ld — DIR、そして echo "$DIR" で確認してから Enter を押してください。
  • 詳細な状態: -v 削除された各パスを表示します。例: rm -rfv build/.
  • ルートとマウントの保護: 最新システムではブロックされます rm -rf / 経由 –preserve-rootスクリプトに追加 –one-file-system マウント境界を越えません。

ビジーなマシンでの強制削除の前に、30秒かけてターゲットを確認してください。以下で出力します ls -ld — "$DIR"その後、クォートとグロブを確認してください。Linuxでディレクトリを削除する正しい方法は、まず試してみることです -I その後、非対話的に繰り返します。慎重に確認し、再現可能な手順を確立してください。

linux-vps Linuxホスティングをシンプルに

Webサイトやアプリをもっと良い方法でホストしたい? 何か新しいものを開発中? Windowsが苦手? そんな方のためのLinux VPSです。

Linux VPSを入手

変な名前、先頭のダッシュ、隠しファイルのトラブル

A stretch of caution tape pulled taut across frame, ultrareal vinyl texture with subtle wrinkles. Black print repeats -TMP at intervals after each CAUTION.

パスによってはダッシュで始まったり、パース処理を混乱させるバイトを含むことがあります。以下を渡してください オプション解析を停止するか、次を追加します ./ 名前の前に。

奇妙な名前に対応する安全な方法:

rm -r -- --weird
rm -r ./-cache

このような小さな習慣により、Linuxでのディレクトリ削除は共有サーバーとリモートセッションではるかにストレスが少なくなります。親は保持してその中身を削除する必要がある場合は、深さを考慮したコマンドに切り替えてください。次のホログラフィックLinuxガイドで詳しく説明します。

フォルダは残して、中身を空にする

Ultrareal manila folder with a small bottom trapdoor built into the tab-side corner, hinged and slightly open so a faint stream of holographic “file shards” falls away. Etched on the tab: FIND and MIND1 (for -mindepth 1)

多くの作業では、ファイルが欠落したディレクトリではなく、クリーンなディレクトリが必要です。ログローテーション、ビルドパイプライン、VPSのメンテナンス。Linuxでディレクトリ内のすべてのファイルを削除しながら親を保持する方法は、2つのパターンで対応できます。

  • 親をスキップします 探す:
find /var/tmp/app -mindepth 1 -delete
  • またはが実行するか rm バッチ上:
find ./cache -mindepth 1 -exec rm -rf {} +

どちらも隠しエントリ(ドットファイルを含む)を処理します。これは単純な rm * では見落とすところです。Linuxでディレクトリ内のすべてのファイルを削除する方法が質問だった場合、これが信頼できる方法です。

ワンライナーは便利ですが、多くのチームは名前または深さでのフィルタリングが必要です。そこで 探す 推測なしでスコープを与えます。

あわせて読みたい: Linuxで実行中のサービスをリストアップ

対象を絞った削除と 探す: 名前、深さ、プルーニング

キャッシュツリーのみ、1階層のビルドフォルダのみ、またはアーカイブされたログのみを削除したい場合があります。以下のコンパクトなパターンセットです ディレクトリを検索して削除 職務

タスク コマンドスナップショット 注釈
削除のみ cache*/ プロジェクト下のディレクトリ find . -type d -name 'cache*' -prune -exec rm -rf {} + -prune マッチしたディレクトリへの下降をスキップします。巨大なツリーで高速です。
ディレクトリを深さで削除 find ./dist -mindepth 1 -maxdepth 1 -type d -exec rm -rf {} + 配下の第1レベルの子のみを対象とします dist/.
空のディレクトリのみ削除 find . -type d -empty -delete デプロイ後のクリーンアップに。
パターンにマッチするファイルを削除 find logs -type f -name '*.gz' -delete 新しいログはそのまま保持します。
親は残して他をすべて削除 find /data/tmp -mindepth 1 -delete サービスは親ディレクトリを引き続き使用します。

使用 -print ドライラン用に実行してから本番パスで削除します。これはLinuxでのディレクトリ削除の実践的な側面です。予測可能なスコープと高速な実行です。Gotchaでは、一部の最小限のBusyBoxビルドでは -delete アクションが見つかりません。使用してください -exec rm -rf {} + かわりに

これらのパターンで多くのケースに対応できます。稀だが高コストなミスを防ぐため、いくつかのガードレールを追加します。

安全装置で自分自身から保護する

An ultrareal lockout/tagout padlock + hasp assembly as the lone hero, brushed steel and scuffed red enamel, bead of condensation on the shackle; a fiber safety tag hangs from the hasp with three bold engravings: RM -I, ONE FS, PRESERVE ROOT.

強力なコマンドには落ち着いたデフォルトが必要です。これらの習慣を身につけ、Linuxでコマンドを使ってディレクトリを削除する際に、あなた自身も削除されないようにします。

  • プロンプトを1つだけ使用します rm -I -r DIR 画面でパスを確認している間。
  • パスは毎回クォートしてください: rm -rf — "$DIR" スペース、グロブ、ダッシュで始まる名前から保護します。
  • 正確なターゲットを確認してください: ls -ld — "$DIR" モード、所有者、パスを1行で表示します。
  • ファイルシステム内に留まる rm -rf –one-file-system "$DIR" マウントされたボリュームへの越境を防ぎます
  • ルート保護を有効なままに保つ –preserve-root その場で。
  • 必要に応じてイミュータブルビットをクリアする lsattr -d "$DIR" 確認するために、 chattr -i "$DIR" それを削除するために。

削除がそれでも失敗したりハングする場合は、よくある原因を順に調べてください。

Cloudzy の Linux VPS でクリーンアップテストを実行し、開発を続けましょう

Ultrareal 1U rack server sits firmly on a cloud (cloud = VPS). A short SFP+ fiber patch links the server to an open laptop at 3/4 angle. On the laptop’s glassy terminal, two big stacked engravings: RM -I -R and ROLLBACK (toggle dot lit). On the rack face, small badges: NVME, 10 GBPS, DDR5.

安定したリモートサーバーを試したい場合 rm, rmdir、および 探す 安全に、起動する Linux VPS ホスティング クリーンシェルで作業してください。手頃な価格で高速、そして 13リージョン と共に 11 Linux ディストリビューション いつでも使用可能です。次が得られます ルートアクセス, NVMe SSD ストレージ、そして DDR5 RAM 最新プランでは、加えて DDoS保護 そして 99.95%のアップタイム コミットメント。高帯域幅と低レイテンシはパッケージに含まれており、最大 10 Gbps までの接続がプランカードに記載されています

  • グローバルフットプリント12を超える場所(ニューヨーク、ロサンゼルス、マイアミ、アムステルダム、ロンドン、ドイツ、スイス、ユタ、ダラス、ラスベガス、シンガポール含む)でデプロイでき、ユーザーへのルートが高速化されます
  • ルートアクセス + 11のディストロ好みのXQNT0081ZZを選択して、初日から完全にコントロールできます
  • 最新ハードウェアNVMe SSD ストレージとDDR5 RAM がインスタンスに電力を供給し、パフォーマンスは重い I/O でも鋭い状態を保ちます
  • ネットワーク + アップタイム低レイテンシー接続、高帯域幅、99.95% のアップタイムターゲットにより、スケジュール済みジョブは予定通りに実行されます
  • セキュリティDDoS 保護がサーバー全体に含まれているため、定期的なメンテナンスが中断される可能性は低くなります
  • 便利さプリインストールOS オプション、無料のIPv6、複数の支払い方法によりセットアップが簡潔に保たれます

フルデスクトップを希望しますか。チェックアウト時に Linux RDP ワンクリックアプリを選択してください。Linux VPS を配信し XRDP, GDM3、そして GNOME GUI プリインストール済み Ubuntuワンクリックでリモート接続できます。同じ12の場所で実行され、 99.95%のアップタイム ターゲット。ある 追加料金なし プリインストール RDP 構成を保ちます

要するに、手頃な価格の Linux VPS を起動し、ディストロを選んで root アクセスを保持します。必要に応じて、購入時に Linux RDP デスクトップを追加します。その後、削除操作をインタラクティブに練習し、スナップショットを取得して、コマンドが自然に使えるようになるまで繰り返してください。

トラブルシューティング: 「許可が拒否されました」「ディレクトリが空ではありません」ビジーパス

A single ultrareal folder perched over a narrow chute (this chute symbolizes troubleshooting, so engrave it with a troubleshooting icon); inside it, smaller sub-folders and faint .dotfiles icons fade as they drop. Lip engravings top-to-bottom on the chute: SYMPTOM, CHECK, FIX; opposite side: NOT EMPTY, LOOK, FIND -DELETE.

ほとんどの問題は少数のパターンに集約されます。この症状→確認→修正の流れを使うことで、Linux内のディレクトリ削除がデプロイをブロックするようなことはありません。

1) 自分が所有するディレクトリで「Permission denied」エラーが出る
属性を確認 lsattr -d DIR。イミュータブルフラグが i が設定されている場合は、以下のコマンドで削除してください sudo chattr -i DIRその後、再度実行してください。強化されたシステムやコンテナ環境で表示されることがあります。

2) 「操作が許可されていません」というエラーが表示される場合でも sudo
マウントが読み取り専用になっていないことを確認してください。 マウント | grep DIR or findmnt DIR 現在の状態を表示します。操作のために読み取り専用をリセットするか、別のパスを指定してください。

3) その後の「ディレクトリが空ではありません」エラー rmdir
エントリがまだ存在しています。以下に切り替えてください:

find DIR -mindepth 1 -delete

隠しファイルとネストされたコンテンツも含まれます。

4) サービスがフォルダを再作成します
実行中のユニットはそのパスに書き込みます。きちんと停止または再起動してから削除してください。環境そのものが壊れている場合は、 systemctl コマンドが見つかりません その問題を最初に解決するのに役立ちます。実例として、Nginxが /var/log/nginx/ ステージング環境で実行中。停止しています nginx.service クリアされました lsof、削除は成功し、ログは正常に再開されました。

5) "デバイスまたはリソースが使用中"
ディレクトリ内でプロセスがオープンハンドルを保持しています。 lsof +D ディレクトリ or fuser -vm ディレクトリ アクティブなプロセスを表示し、安全に停止してから削除します。ログをクリアする前にソケットを素早く確認したい場合は、 Linux Netstat コマンド このセクションで高速チェックができます。

6) 名前が変な場合: スペース、改行、またはダッシュで始まる名前
使用 or ./ ダッシュで始まる名前の前に記号を付け、すべての文字列をクォートします。変な名前を一括削除するには、 find . -print0 | xargs -0 スペースがコマンドを破壊しないようにします。

これらの対策を講じれば、ほとんどの問題は解決します。永続削除を考えていない場合は、トラッシュフローを使用してください。

ゴミ箱を使う: trash-cliごみ箱

Ultrareal blue desktop recycling bin (matte polymer with tiny injection marks, slot opening), a folded paper folder edge peeking at the slot. Etched along the lip: TRASH-CLI, TRASH. A small side badge glows RESTORE to suggest reversal.

すべてを永続削除する必要はありません。GLibをサポートするデスクトップ環境やサーバーではトラッシュフローが利用でき、ファイルを確認して復元できます。Linux でディレクトリを削除する方法を学んでいて、簡単な方法を探しているなら、以下を試してください:

  • ジオ ゴミ箱 PATH ファイルとディレクトリをゴミ箱に移動します。 gio list trash:// ゴミ箱の内容を確認できます。
  • と共に trash-cli、使用 ゴミ箱 PATH, trash-list, trash-restore、および trash-empty シンプルなコマンドラインワークフロー向けです。

より遅い rm安全性とのトレードオフはありますが、追加の確認ステップが必要な場合は意味があります。Linux でディレクトリ削除方法を学びながら実データに危険を冒したくないなら、まずトラッシュを使ってから rm.

最後に

これで Linux のディレクトリ削除用の完全なツールセットが揃いました。以下が含まれます: rmdir を空のパスに使用し、 rm -I -r 安全な再帰削除用、 rm -rf ターゲットを確認してから、 find -mindepth 1 -delete 親ディレクトリを削除せず内容だけをクリアしたい場合に使用します。パスをクォートし、 –preserve-rootを保持し、ファイルシステムを統一して、イミュータブルビットがある場合は削除してください。トラブルシューティングのチェックでその他の問題に対応します。

また、実運用に向けた安全な練習用に新しいリモートサーバーが必要な場合は、Cloudzy Linux VPS サーバーを起動してください。価格も手頃で、安全なドライラン向けに信頼できます。さらに、 ワンクリック Linux RDP デスクトップセッションも付属しているので、GUI全体で削除操作を実際に試してみることができます。

 

よくあるご質問

rmとrmdirの違いは何ですか。

rmdirは空のディレクトリのみ削除でき、-pオプションで空になった親ディレクトリも削除できます。rmはファイルとディレクトリの両方を削除でき、再帰的に削除するには-rを、確認プロンプトを表示するには-Iまたは-iを追加します。

フォルダとその中身を強制的に削除するにはどうしたらいいですか。

パスを確認してからrm -rf — DIRを実行してください。行ごとのログが必要な場合は-vを追加します。最終実行の前に、rm -I -rで一度ドライラン(試行実行)をするシステム管理者もいます。

ディレクトリ自体ではなく、その中身だけを削除するにはどうしたらいいですか。

find DIR -mindepth 1 -deleteを実行します。Linuxでディレクトリを空にする方法を解決しながら、親ディレクトリはサービス用に保持されます。

ファイルが見えないのに、なぜ rmdir は「Directory not empty」と表示するのですか?

隠しファイルがまだ存在しています。ls -Aで表示してから、find -mindepth 1 -deleteパターンを使用します。

「Operation not permitted」や「Permission denied」を修正するには?

lsattr -d DIRでイミュータブルビットを確認し、存在する場合はsudo chattr -i DIRで削除します。また、マウントが読み取り専用ではないことを確認してください。クリーンアップ中にサービスがパスを再作成する場合は、まずユニットの問題を修正します。上記のリンクされたsystemctlセクションが参考になります。

Share

ブログの他の記事

読み進める。

デプロイの準備はできましたか? 月額2.48ドルから。

2008年から独立運営のクラウド。AMD EPYC、NVMe、40 Gbps。14日間返金保証。