ファイルまたはディレクトリーを除去 (リンク解除) します。
rm [ -f ] [ -r ] [ -R ] [ -i ] [ -e ] File ...
rm コマンドは、指定した File パラメーターのエントリーをディレクトリーから除去します。エントリーがファイルへの最終リンクであれば、このファイルが削除されます。 あるファイルに対する書き込み許可がなく、かつ標準入力が端末である場合は、 そのファイル名が示され、そのファイルを削除したいかどうかの確認を要求されます。 y (yes を意味する) を入力するとそのファイルが削除され、 その他の任意の文字を入力するとそのファイルは削除されません。 削除したいファイルの読み取り許可または書き込み許可は必要ありません。 ただし、そのファイルが入っているディレクトリーの書き込み許可がなければなりません。
ファイルがシンボリック・リンクであれば、そのリンクは除去されますが、 そのシンボリック・リンクが参照するファイルまたはディレクトリーはそのままの状態です。ディレクトリーへの書き込み許可があれば、 シンボリック・リンクを削除するための書き込み許可は必要ありません。
.(ドット) または .. (ドット、ドット) ファイルが File パラメーターのベース名部分として指定されると、rm コマンドは標準エラーに診断メッセージを書き込み、 このようなパラメーターが指定されても何も実行しないようにします。
-f フラグを指定していないときに、 File パラメーターに書き込み許可がなく標準入力がワークステーションである場合か、 または -i フラグを指定している場合には、rm コマンドは、標準エラーにプロンプトを書き込み、標準入力から 1 行読み取ります。 肯定応答を入力しなければ、rm コマンドは現行ファイルにはそれ以上何も実行せず、次のファイルに進みます。
ディレクトリーにスティッキー・ビットが設定されていて、 そのディレクトリーがユーザー所有のものでない場合には、他のユーザーの所有するファイルを除去することはできません。
NFS バージョン 4 サーバー用にエクスポートされたファイルまたはディレクトリーを 除去しようとすると、失敗して、そのリソースが使用中である旨のメッセージが出されます。ファイルまたはディレクトリーは、NFS バージョン 4 用にアンエクスポートしてから、除去する必要があります。
| -r | File パラメーターにディレクトリーを指定すると、ディレクトリーとそれらの内容を再帰的に除去できます。このフラグは -R フラグと同等です。 |
| -R | File パラメーターにディレクトリーを指定すると、ディレクトリーとそれらの内容を再帰的に除去できます。このフラグは -r フラグと同等です。 |
このコマンドは、以下の終了値を戻します。
| 0 | -f フラグを指定しなかった場合は、名前の付いたディレクトリーのエントリーすべてが除去されるか、 既存の名前の付いたディレクトリーのエントリーがすべて除去されます。 |
| >0 | エラーが発生しました。 |
rm myfile
このファイルに別のリンクがある場合には、ファイルはそのリンクの名前で残りますが、 myfile という名前は除去されます。myfile が唯一のリンクであれば、ファイル自体が削除されます。
rm -ir manualこのコマンドは、manual ディレクトリーのすべてのサブディレクトリーの内容を再帰的に除去し、それぞれのファイルの除去についてのプロンプトを表示してから、manual ディレクトリー自体を除去します。その例を以下に示します。
You: rm -ir manual System: rm: Select files in directory manual? Enter y for yes. You: y System: rm: Select files in directory manual/draft1? Enter y for yes. You: y System: rm: Remove manual/draft1? You: y System: rm: Remove manual/draft1/chapter1? You: y System: rm: Remove manual/draft1/chapter2? You: y System: rm: Select files in directory manual/draft2? Enter y for yes. You: y System: rm: Remove manual/draft2? You: y System: rm: Remove manual? You: y
この例では、rm コマンドは最初に、manual ディレクトリーの検索が必要かどうか尋ねます。manual ディレクトリーには複数のディレクトリーが入っているため、 rm コマンドは次に、削除したいファイルを manual/draft1 ディレクトリー内で検索する許可を求めてから、 manual/draft1/chapter1 ファイルと manual/draft1/chapter2 ファイルを削除したいかどうか尋ねます。次に rm コマンドは manual/draft2 ディレクトリー内の検索の許可を求めます。そして、 manual/draft1、manual/draft2、manual の各ディレクトリーを削除する許可を求めます。
サブディレクトリー (例えば、manual/draft2) を除去する許可を否認すると、 rm コマンドは、manual ディレクトリーを除去しません。その代わりに、メッセージ「rm: Directory manual not empty」が表示されます。
| /usr/bin/rm | rm コマンドが入っています。 |