linux note
     linuxのコマンドがカテゴリ別の一覧で確認できます。



 

Linux Note(トップページ) > ファイル操作 > ファイル操作の基本 > rm コマンド (ファイル削除)







[Note] rm コマンド (ファイル削除)

初心者でもよく使うのが、この「rm」コマンドではないでしょうか?(ちなみに rm は 「remove」の略だと思われます。)
しかしながら、使い方のコツがありますので、解説しておきます。
まず、単純に「rm ファイル名」とすると以下のようになるかと思います。

 $ rm test.txt

 rm : remove “test.txt” (yes/no) ?

上記のような本当に削除してよいか、確認のメッセージが表示されます。ここで「yes」もしくは「y」と入力して「Enter」キーを叩くと、実際に当該ファイルが削除されます。

特に問題はないように感じるかもしれませんが、大量のファイルを削除しようとするとものすごく大変なことになってしまいます。

つまり、以下のようなケースです。

 $ rm *.txt
 rm : remove “no1.txt” (yes/no)? yes
 rm : remove “no2.txt” (yes/no)? yes
 rm : remove “no3.txt” (yes/no)? yes
 ・・・

上記では、現在のディレクトリ内にある拡張子が「.txt」のファイルを全て削除しようとしています。この場合、rm コマンドを実行すると1つ1つのファイルについて、本当に削除して良いか確認を求められます。1000ファイルあった時にことを想像してみてください。これはもう大変です。
ですので、そのような場合は、「-f」というオプションをつけて実行します。

 $ rm -f *.txt
 $

上記は、何事もなかったかのようにシェルが入力待ちになりますが、拡張子が「txt」のファイルは全て削除されいます。
また、当然のことですが、書き込み権限のないファイルに関してはエラーが発生します。

また、参考までにファイルではなく、ディレクトリを中身を含めて削除する場合は、「-r」というオプションを付けて、削除したいディレクトリ名を指定します。

以下、rm コマンドのオプションをまとめておきます。


オプション
機能の説明
-f
確認のメッセージなしに強制的に削除する(-f は「force」の略でしょうか?)
-i
削除する際に確認のメッセージを出力する(デフォルト)
-r
サブディレクトリも含め、再帰的にディレクトリ「全体」を削除する




[ カテゴリ一覧 ]

 |  エディタ  |  システム管理  |  テキスト操作  |  ファイルシステム  |  ファイル操作  | 
 |  ファイル管理  |  ユーザーやグループの管理  |