Ubuntuでファイルやディレクトリを削除する方法(rmコマンド)

Ubuntuでrmコマンドを使いファイルやディレクトリを削除する方法です。

ファイルの削除

rmコマンドを使用することでファイルを削除する事ができます。

rm ファイル

test_01.txtというファイルを削除したい場合は下記のようにrmコマンドを実行します。

$ rm test_01.txt

複数のファイル指定して一度に削除することもできます。

rm ファイル1 ファイル2 ファイル3

下記の例では「test_01.txt」「test_02.txt」「test_03.txt」という3つのファイルを一度に削除しています。

$ rm test_01.txt test_02.txt test_03.txt 

ディレクトリの削除

rmコマンド実行時に-rや-dといったオプションを使用することで、ディレクトリを削除することができます。

-dオプションを使用した場合は、中が空のディレクトリしか削除することができません。

rm -r ディレクトリ
rm -d ディレクトリ

testdir_/というディレクトリを削除する場合は、下記のようにrmコマンドを実行します。

$ rm -r testdir_3/

オプション

rmコマンドで普段使用しそうなオプションについて説明します。

  • -f, --force 確認を行わず強制的に削除
  • -i 削除の確認を求めるメッセージを表示
  • -r, -R, --recursive ディレクトリを中にあるデータごと削除
  • -d, --dir ディレクトリが空の場合は削除

-f, --force 強制削除

-fオプションを使用すると、削除の確認メッセージが表示されるような場合でも確認せずに強制的に削除することができます。

削除してしまったファイルは元に戻すことができませんので、このオプションを使用するときは削除対象を間違えないように十分に確認してから作業を行ってください。

実行例

書き込み禁止のファイルを削除してみます。

$ ls -l test.txt 
-r-------- 1 tamohiko tamohiko 5 Nov  6 21:11 test.txt

削除する際に書き込み禁止のファイルを削除しても良いかの確認が表示され、ここで「y」を入力しなければファイルを削除することができません。

$ rm test.txt 
rm: remove write-protected regular file 'test.txt'? y

-fオプションを使用すると確認のメッセージが表示されなくなり、そのままファイルを削除することが出来るようになりました。

$ rm -f test.txt 

-i 削除の確認メッセージを表示

-iを使用すると、ファイル削除確認のメッセージを表示させることができます。

実行例

ファイルを削除して良いか確認のメッセージが表示されるようになりました。

$ rm -i test.txt 
rm: remove regular file 'test.txt'? y

rootユーザや管理者権限で作業する場合にこのオプションを使用することで、間違って削除してはいけないファイルの削除を防ぐことに役立ちます。

-r, -R, --recursive ディレクトリをデータごと削除

-rオプションを使うことで、中にあるデータごとディレクトリを削除することができます。

実行例

中にファイルがあるディレクトリを用意しました。

$ ls -lr testdir_3/
total 4
-rw-rw-r-- 1 tamohiko tamohiko 5 Nov  7 16:41 test.txt

ディレクトリの中にデータがあっても削除することができます。

$ rm -r testdir_3/

-d 空のディレクトリのみ削除

-dオプションを使用すると、中身が空のディレクトリを削除することができます。

中にデータが入っている場合はその旨のメッセージが表示されて、ディレクトリを削除することができません。

実行例

実際に-dオプションを使用してディレクトリを削除してみます。

中にデータがある場合

中にファイルがあるディレクトリを用意しました。

$ ls -lr testdir/
total 4
-rw-rw-r-- 1 tamohiko tamohiko 5 Nov  6 21:37 test.txt

-dオプションを使ってディレクトリを削除すると、ディレクトリの中が空ではないとメッセージが表示されて、ディレクトリを削除することができません。

$ rm -d testdir/
rm: cannot remove 'testdir/': Directory not empty
中にデータが無い場合

中が空っぽのディレクトリを用意しました。

$ ls -lr testdir_2/
total 0

ディレクトリの中が空っぽなので、-dオプションを使用してディレクトリを削除することができました。

$ rm -d testdir_2/

コメント

タイトルとURLをコピーしました