このセクションでは自宅サーバーとしてLinuxを操作するうえでよく使うコマンドについて初心者/ビギナー向けに解説します。
お便利サーバー.com+相互リンクサイト内をキーワードで検索
抜粋Linuxコマンドリファレンス

ディレクトリとファイルの操作

ディレクトリとファイルの作成
カレントディレクトリの変更
ディレクトリとファイルの表示
ディレクトリとファイルのコピーと移動
ディレクトリとファイルの削除
ディレクトリとファイルの検索
パーミッションの変更
解凍と圧縮

ディスクとパーティションの操作+

テキストの操作+

ユーザーとアカウント管理+

ネットワークの管理+

システム・プロセス管理+

その他のコマンド+


rm〜ディレクトリやファイルを削除する

既存のディレクトリやファイルを削除する コマンド です。

ディレクトリ構造ごと削除することもできますし、 ワイルドカード を利用すれば複数のファイルやディレクトリを一度に削除することもできます。

コマンドの一般書式は、

rm [オプション] [削除対象1] [削除対象2] Enter

です。

[tanaka@web1 ~]$ pwdEnter カレントディレクトリを表示します。 pwdコマンドの説明
/home/tanaka
[tanaka@web1 ~]$ lsEnter ファイルを一覧します。 lsコマンドの説明
file1  file2  file3  data1
[tanaka@web1 ~]$ rm file1Enter
[tanaka@web1 ~]$ lsEnter ファイルを一覧します。
file2  file3  data1 ←"file1"が削除されました。
[tanaka@web1 ~]$ rm f*Enter
[tanaka@web1 ~]$ lsEnter ファイルを一覧します。
data1 ←"file2"と"file3"が削除されました。
[tanaka@web1 ~]$

"-r"〜ディレクトリをまるごと削除する

[削除対象]がディレクトリの場合には、 "-r" オプションをつけてrmコマンドを実行する必要があります。

rm -r [ディレクトリ名1] [ディレクトリ名2] Enter

[tanaka@web1 ~]$ ls -lEnter ファイルを一覧します。
合計 8
drwxrwxr-x  2 tanaka  tanaka    4096 1月 14 17:36 dir1
drwxrwxr-x  2 tanaka  tanaka    4096 1月 14 17:36 dir2
[tanaka@web1 ~]$ rm -r dir1Enter
[tanaka@web1 ~]$ ls -lEnter ファイルを一覧します。
合計 4
drwxrwxr-x  2 tanaka  tanaka    4096 1月 14 17:36 dir2
 ↑"dir1"が削除されました。
[tanaka@web1 ~]$

"-i"〜動作を確認しながら削除する

LinuOS CUI 操作環境には、 X-Window GUI 操作画面のような 「ごみ箱」 の仕組みがありません。

従って、一度ディレクトリやファイルの削除を実行してしまうと、一般的な操作ではもう元に戻すことはできません。

rm コマンド を実行するとき、特に ワイルドカード を使ったり、 "-r" オプション付きで実行したりするときは、本当は削除してはいけないディレクトリやファイルまで削除してしまう危険がありますから、こういう場合は "-i" オプションを付けて実行すると安全です。

rm -i [他のオプション] [削除対象1] [削除対象2] Enter

[tanaka@web1 ~]$ lsEnter ファイルを一覧します。
file1 file2 file3 file4
[tanaka@web1 ~]$ rm -i *Enter
rm: remove 通常ファイル `file1'?yEnter  削除なら"y"をタイプ
rm: remove 通常ファイル `file2'?nEnter  削除しないなら"n"をタイプ
rm: remove 通常ファイル `file3'?yEnter
rm: remove 通常ファイル `file4'?yEnter
[tanaka@web1 ~]$ lsEnter ファイルを一覧します。
file2
 ↑"file2"だけ削除されませんでした。
[tanaka@web1 ~]$

このように "-i" オプションを付けてrmコマンドを実行すると、実際に削除されようとするディレクトリやファイルの一つ一つについて、本当に削除して良いかどうかの問い合わせが行われるようになります。

このとき、途中でrmコマンドの実行を中断するときは、 Ctrl + c とタイプしてください。

なお、 root アカウント だけは、rmコマンドは デフォルト "-i" オプション付きとみなされて実行されるようになっています。

"-f"〜動作を確認しないで削除する

"-i" オプションの逆の動作で、rm コマンド の実行で削除の可否の問い合わせを行いません。

一般の ユーザーアカウント デフォルト の設定となります。

root アカウント からrmコマンドを実行するときは "-i" オプションがデフォルトですので、

rm -f [他のオプション] [削除対象1] [削除対象2] Enter

と明示的に"-f"オプションを付ける必要があります。

ただし、rootアカウントで"-f"オプションを付けてrmコマンドを実行するときは、 細心の注意を払ってください

rootアカウントはファイルシステム上の全てのディレクトリとファイルを操作する権限をもっています。

ということは、例えば、 カレント ディレクトリが "/(ルート)" であることを忘れて、「このディレクトリの中のディレクトリを全部削除」というコマンド操作である、

「"/"以下の全てのファイルとディレクトリを問い合わせなしに削除する」 ということになります。
実際にはどうなるかはわかりません。
[root@web1 /]# rm -r -f *Enter

という操作を行うと、取り返しのつかないことになります。

こういう特殊な例は別としても、例えば、「"dir"で始まる全てのディレクトリを削除する」 というつもりで、

[root@web1 ~]# rm -r -f dir*Enter

とタイプすべきところを、間違えて"dir"と"*"の間にスペースを入れて、

[root@web1 ~]# rm -r -f dir *Enter

とタイプして実行してしまうと、

「"dir"というディレクトリと全てのディレクトリを削除する」

という意味になってしまい、カレントディレクトリが空っぽになってしまいます。

rootアカウントからたくさんのファイルを一度に削除するとき、"-f"オプションなしで実行するのはとても面倒です。

しかしだからといって、普段から"-f"オプションを付けるような習慣が付いてしまうと、そのうち痛い目にあいますからくれぐれもご用心ください。

rmdir〜空のディレクトリを削除する

既存のディレクトリで、そのディレクトリ以下に一つのディレクトリもファイルも存在しない場合だけ、削除を実行する コマンド です。

ワイルドカード を利用すれば複数のディレクトリを一度に削除することもできます。

コマンドの一般書式は、

rmdir [ディレクトリ1] [ディレクトリ2] Enter

です。

削除対象のディレクトリが空ではない場合はエラーになります。

[tanaka@web1 ~]$ ls -lEnter ファイルを一覧します。
合計 8
drwxrwxr-x  2 tanaka tanaka  4096 1月 14 17:36 dir1 ←空ではないディレクトリ
drwxrwxr-x  2 tanaka tanaka  4096 1月 14 17:36 dir2 ←空のディレクトリ
[tanaka@web1 ~]$ rmdir dir1Enter
rmdir: `dir1': ディレクトリは空ではありません
[tanaka@web1 ~]$ rmdir dir2Enter
[tanaka@web1 ~]$ ls -lEnter ファイルを一覧します。
合計 4
drwxrwxr-x  2 tanaka  tanaka    4096 1月 14 17:36 dir1
 ↑"dir2"が削除されました。
[tanaka@web1 ~]$

空ではないディレクトリを削除するには、 "-r" オプション付きで rm コマンドを実行します。

もちろん、"rm -r"でも空のコマンドを削除することは可能ですから、そういう意味でrmdirコマンドは「無用なコマンド」と思われるかもしれません。

ただ、rmdirコマンドでは 「中身のあるディレクトリは削除不可能」 ですから、例えば、

「いらなくなったディレクトリを削除する。」

と思ったとき、"rm -r"ではなく、まずrmdirを実行してみる習慣をつけておくと、必要なディレクトリを間違って削除してしまうミスを避けることができます。

このサイトは リンクフリー です。趣味や勉強のためでしたら、引用、転用、コピー、朗読、その他OKです。このサイトへのリンクについては こちら をご覧ください。今のところ更新予定はありませんのでご了承ください。
”Linux”は、Linus Torvalds 氏の各国における登録商標です。”Red Hat”及びRed Hatのロゴおよび Red Hat をベースとしたすべての商標とロゴは、各国におけるRed Hat, Inc. 社の商標または登録商標です。その他のプログラム名、システム名、製品名などは各メーカー、ベンダの各国における登録商標又は商標です。