rmコマンド【remove command】
rmコマンドとは?

基本的な書式は「rm ファイル名」で、指定したファイルを削除する。複数のファイル名をスペース区切りで並べれば一度にまとめて削除できる。また「ワイルドカード」と呼ばれる記号を使い、「rm *.txt」のように特定のパターンに合うファイルをまとめて指定することもできる。意図せず広い範囲が対象になることがあるため、実行前にlsコマンドを同じパターンを指定して実行し、削除対象のリストを表示することが推奨される。
通常の実行ではディレクトリは削除できず、中身のファイルごと消すには「-r」オプションが必要となる。「rm -r ディレクトリ名」と指定すると、入れ子になったサブディレクトリも含めてすべてを一括削除する。これを「再帰的削除」と呼ぶ。これに、強制削除を指示する「-f」オプションを加えた「rm -rf」は確認なしでディレクトリを丸ごと削除する強力な命令で、対象の指定を誤るとシステムの根幹に関わるファイルまで消去してしまう危険がある。
誤操作を防ぐための手段として「-i」オプションがある。「rm -i ファイル名」と実行すると、削除前に確認メッセージが表示され、利用者が可否を判断できる。一方、「-f」は確認を省略して処理を進めるため、スクリプト内で自動実行する際に使われることが多い。書き込みが保護されたファイルを削除しようとすると、標準の動作では警告が表示される場合もある。
ハードディスクやSSDなど物理的な記録媒体の上では、rmコマンドを実行した直後はファイルシステムにおけるそのファイルやディレクトリの管理情報が削除されるだけで、ファイルの内容が実際に記録されていた媒体上の「跡地」には、他のファイルが新たに上書きするまで元のデータが残ったままになる。通常の運用ではファイルは消滅したものとして扱われるが、機密情報を記録していたストレージ装置を廃棄する場合など、データの実体が残留していては困る場合は消去ツールなど別の手段で確実に内容の消去を行う必要がある。