カテゴリ: Linuxコマンド集 更新日: 2025/12/01

rm --one-file-systemオプションを徹底解説!初心者向けにマウントポイントの削除を防ぐ方法

rm --one-file-systemオプション|マウントポイントを越えて削除しないように制御する
rm --one-file-systemオプション|マウントポイントを越えて削除しないように制御する

先生と生徒の会話形式で理解しよう

生徒

「Linuxでrmコマンドを使ってディレクトリを削除するときに、外付けドライブまで消してしまいそうで不安です…」

先生

「それなら、--one-file-systemオプションを使うと安心ですよ。マウントポイントをまたいで削除するのを防いでくれます。」

生徒

「マウントポイントって何ですか?そして、どうやってそのオプションを使えばいいんですか?」

先生

「それじゃあ、順番にわかりやすく説明していきましょう!」

1. マウントポイントとは?

1. マウントポイントとは?
1. マウントポイントとは?

Linuxでは、外付けHDDやUSBメモリなどの外部ストレージを使うときに、それらを「マウントポイント」という場所に接続します。
例えば、USBメモリを/mnt/usbに接続すれば、その中のファイルは/mnt/usbの中に表示されます。

この仕組みにより、Linuxでは複数のストレージが1つのディレクトリ構造の中に統合されて扱われます。

2. rmコマンドとディレクトリ削除の危険性

2. rmコマンドとディレクトリ削除の危険性
2. rmコマンドとディレクトリ削除の危険性

rm -rは、ディレクトリの中身をすべて削除するコマンドです。もし、この中に別のファイルシステム(=別のマウントポイント)が含まれていた場合、本来削除するつもりのなかった外部ストレージのファイルまで削除してしまう危険性があります。

たとえば、/dataというディレクトリの中に/data/backupとして外部ストレージがマウントされていた場合、rm -r /dataで削除してしまうと、外付けHDDの中身も消えてしまうのです。

3. --one-file-systemオプションとは?

3. --one-file-systemオプションとは?
3. --one-file-systemオプションとは?

--one-file-systemオプションは、rmコマンドで削除する際に、別のファイルシステムをまたがないように制限するための機能です。
簡単に言うと、外部ストレージや他のパーティションにマウントされている領域を削除対象から除外してくれます。

このオプションは、-r(再帰的削除)と一緒に使うのが基本です。

4. 実際の使い方

4. 実際の使い方
4. 実際の使い方

たとえば、/dataというディレクトリの中に別のファイルシステム(例:USBメモリ)がマウントされているとします。その場合、次のようにコマンドを実行します。


rm -r --one-file-system /data

このように実行することで、/dataの中にあるマウントされた外部ストレージの内容は削除されません。通常のファイルやフォルダだけが削除されるようになります。

5. 削除を安全にするための確認付き例

5. 削除を安全にするための確認付き例
5. 削除を安全にするための確認付き例

-iオプションを使うと、削除前に確認メッセージが出るので、さらに安心です。


rm -ri --one-file-system /data
rm: descend into directory '/data'? 
rm: remove regular file '/data/test1.txt'?

このように、yを入力しないと削除されないので、安全に作業できます。

6. 他のオプションとの組み合わせ例

6. 他のオプションとの組み合わせ例
6. 他のオプションとの組み合わせ例

--one-file-systemは以下のようなオプションと一緒に使うと便利です。

  • -r:ディレクトリを再帰的に削除
  • -i:削除前に確認する
  • -v:削除されたファイル名を表示

例えば、削除の前に確認しながら、削除されたファイル名も表示したい場合は次のように書きます。


rm -rvi --one-file-system /data

7. ルートユーザーで実行する場合

7. ルートユーザーで実行する場合
7. ルートユーザーで実行する場合

root(管理者)ユーザーで実行するときも、--one-file-systemは有効に働きます。特に/直下の操作では細心の注意が必要です。

次のようなコマンドで、ルート直下のディレクトリを誤って消さないようにできます。


rm -r --one-file-system /var

このとき、もし/var/backupに別のファイルシステムがマウントされていれば、/var/backupの中身は削除されずに残ります。

8. dfコマンドでマウントポイントを確認する

8. dfコマンドでマウントポイントを確認する
8. dfコマンドでマウントポイントを確認する

どこにマウントされているかを事前に確認するには、dfコマンドを使うと便利です。


df -h
ファイルシステム    サイズ  使用  残り 使用% マウント位置
/dev/sda1        100G   50G   50G   50% /
/dev/sdb1        500G  200G  300G   40% /data/backup

このように、/data/backupが別のファイルシステムであることがわかります。

9. --one-file-systemが役立つケース

9. --one-file-systemが役立つケース
9. --one-file-systemが役立つケース

このオプションは、以下のような場面でとても役立ちます。

  • cronで自動削除処理を設定しているとき
  • バックアップ用の外付けHDDを誤って削除したくないとき
  • 複数のディスクを扱っているサーバー環境

特にサーバー運用や自動化スクリプトでは、安全のために必ず使いたいオプションのひとつです。

関連記事:
カテゴリの一覧へ
新着記事
New1
ファイル・ディレクトリ操作
stat -Lオプションの使い方を解説|シンボリックリンクをたどってファイル情報を確認しよう
New2
ファイル・ディレクトリ操作
realpath -eオプションの使い方を解説!Linuxで存在するファイルのみ絶対パスを取得する方法
New3
ファイル・ディレクトリ操作
findコマンドの使い方を完全ガイド!初心者でもわかるLinuxのファイル検索の基本
New4
ファイル・ディレクトリ操作
touch --referenceオプションの使い方を完全ガイド!初心者でもわかるタイムスタンプのコピー方法
人気記事
No.1
Java&Spring記事人気No1
ファイル・ディレクトリ操作
findコマンドの使い方を完全ガイド!初心者でもわかるLinuxのファイル検索の基本
No.2
Java&Spring記事人気No2
ファイル・ディレクトリ操作
rmコマンドとは?Linuxでファイルやディレクトリを削除する基本
No.3
Java&Spring記事人気No3
ファイル・ディレクトリ操作
cpコマンドとは?Linuxでファイルやディレクトリをコピーする基本操作を初心者向けに解説
No.4
Java&Spring記事人気No4
ファイル・ディレクトリ操作
Linuxのls --full-timeオプションを完全ガイド!初心者でもわかるタイムスタンプのフル表示方法