50% off 全プラン、期間限定。料金は $2.48/mo
残り12分
サーバー及びOS

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

ニック・シルバー By ニック・シルバー 12分で読める 2025年9月22日に更新
3/4 のアングルで湿った表面の上に置かれた、たった1台のウルトラリアルノートパソコン。画面には2行のクリアなターミナル行が表示されています: ls -ld -- '$DIR' rm -I -r -- '$DIR' 右側のポートから、シアン/マゼンタのホログラフィックリボンが曲がって伸び、ノートパソコンの右に浮かぶマニラフォルダーへ。フォルダーの右半分は空中で細かい紙片になってほつれています。BR2049 ライティング、UV リム、細かい雨の粒、ナトリウムアンバーのもや + 単一の低い地平線のみ。

適切なツールを選べば、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

ウルトラリアルなスチール製ファイルキャビネットの引き出しが完全に引き出された状態。レールとフェルトパッドが見える。完全に空。前面に小さくエンボス加工されたステッカー: RMDIR と EMPTY。柔らかいナトリウムアンバーのかすみが薄いスカイラインのシルエット後ろに漂い、シアン色の看板が磨かれた金属の唇に輝き、微粒子と髪の毛のような傷が真実を読み取る。

空のディレクトリ はリスクが低いケースです。葉だけを削除する必要がある場合、 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

超リアルな業務用シュレッダーが唯一のヒーロー。複数のマニラフォルダと仕切り板が詰め込まれた投入口。フォルダには紙が明らかに詰まっている。前面の小さな金属バッジには RM -R と表記され、その横の小さな危険三角マークには 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ホスティング シンプルに

ウェブサイトやウェブアプリをもっと良い方法でホストしたいですか?新しいものを開発中ですか?それとも Windows が気に入らないですか?それが Linux VPS を用意した理由です。

Linux VPSを取得する

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

枠にぴんと張られた黄黒のカットテープ。超リアルなビニール質感に細かいしわ。黒いプリントは -TMP を等間隔で繰り返す。

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

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

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

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

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

超リアルなマニラフォルダの底部に小さなトラップドアが内蔵されており、タブ側のコーナーに蝶番で取り付けられ、わずかに開いて虹色の「ファイル破片」が流れ出ている。タブに刻まれた: FIND および MIND1 (-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 {} + かわりに

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

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

実際のロックアウト/タグアウト南京錠とハスプアセンブリがたった1つの守り手です。ブラッシュスチール製で傷のある赤いエナメル塗装。シャックルには結露の粒が付着しています。ファイバー安全タグがハスプからぶら下がっており、3つの太い刻印があります: 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 でクリーンアップテストを実行してから、開発を続けよう

実感的な1Uラックサーバーがクラウド上に堅牢に設置されています(クラウド = VPS)。短いSFP+ファイバーパッチケーブルがサーバーを3/4角度に配置されたオープンラップトップに接続しています。ラップトップの光沢のあるターミナルには、2つの大きなスタック式の刻印が表示されています: RM -I -R と ROLLBACK(トグルドット点灯)。ラックのフェースには小さなバッジが付いています: NVME、10 GBPS、DDR5

安定したリモートサーバーを試したい場合 rm, rmdir、そして 探す 安全に、起動する Linux VPS ホスティング クリーンシェルで作業してください。手頃な価格で高速、そして 12か国のグローバルロケーション と共に 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 デスクトップを追加します。その後、削除操作をインタラクティブに練習し、スナップショットを取得して、コマンドが自然に使えるようになるまで繰り返してください。

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

細い樋の上に置かれた、ひとつの極めてリアルなフォルダ(この樋はトラブルシューティングを象徴するため、トラブルシューティングアイコンを刻む)。内部には、小さなサブフォルダと薄く表示された .dotfiles アイコンが落ちていく。樋の上から下へ刻まれた文字:SYMPTOM、CHECK、FIX。反対側: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ごみ箱

鮮やかな青のデスクトップリサイクルビン(啞面ポリマー製、小さな射出痕跡付き、スロット開口部付き)、折りたたんだ紙フォルダの端がスロット部分から見えています。リム沿いにエッチング加工: TRASH-CLI、TRASH。サイドの小さなバッジには RESTORE が光り、復元の可能性を示唆しています。

すべてを永続削除する必要はありません。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が「ディレクトリが空ではありません」と表示されるのはなぜですか。

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

「操作が許可されていません」または「アクセスが拒否されました」を修正するにはどうしたらいいですか。

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

共有

ブログから最新記事

読み続ける。

Cosmos Cloudで実行できる最高のセルフホストアプリ - Cosmosダッシュボード周辺のアプリパネル付きカバー画像。
サーバー及びOS

Cosmos Cloudで実行できる最高のセルフホストアプリ: ファイル、メディア、パスワード管理、自動化など

Maybe - Cosmos Cloudをセットアップ済みで、どのアプリが相性良いか確認したい場合、またはCosmosを決めきれずに相性を見たい場合。

ニック・シルバーニック・シルバー 16分で読む
Dockerアプリ管理向けPortainer vs Cosmos Cloud - ハイブリッドセットアップ図とネオン操作ブロック付きカバー。
サーバー及びOS

Portainer vs Cosmos Cloud: Dockerアプリ管理に最適な選択肢

Dockerの基本を理解していて、成長するアプリスタックをより簡潔に実行する方法を探しているなら、Portainer vs Cosmos Cloudの簡潔な回答はこちら。Portainerはより直接的な制御に優れています。

ニック・シルバーニック・シルバー 14分読む
Cosmos Cloud vs CasaOS vs Umbrel - 3つのセルフホストパスが1つの抽象的なクラウドネットワーク世界の中に表示される機能図。
サーバー及びOS

Cosmos Cloud vs CasaOS vs Umbrel: あなたのセットアップに最適なセルフホストプラットフォーム

簡潔に言うと、CasaOSは最も始めやすく、Umbrelは最もクリーンなキュレーション感があり、ドメイン管理をより細かく制御したい場合はCosmos Cloudが適切です。

ニック・シルバーニック・シルバー 11分の読み取り

デプロイの準備はできていますか? $2.48/月からの価格

2008年創業の独立系クラウド。AMD EPYC、NVMe、40 Gbps。14日間返金保証。