rm コマンド

目的

ファイルまたはディレクトリーを除去 (リンク解除) します。

構文

rm [  -f ] [  -r ] [  -R ] [  -i ] [  -e ] File ...

説明

rm コマンドは、指定した File パラメーターのエントリーをディレクトリーから除去します。エントリーがファイルへの最終リンクであれば、このファイルが削除されます。 あるファイルに対する書き込み許可がなく、かつ標準入力が端末である場合は、 そのファイル名が示され、そのファイルを削除したいかどうかの確認を要求されます。 y (yes を意味する) を入力するとそのファイルが削除され、 その他の任意の文字を入力するとそのファイルは削除されません。 削除したいファイルの読み取り許可または書き込み許可は必要ありません。 ただし、そのファイルが入っているディレクトリーの書き込み許可がなければなりません。

ファイルがシンボリック・リンクであれば、そのリンクは除去されますが、 そのシンボリック・リンクが参照するファイルまたはディレクトリーはそのままの状態です。 ディレクトリーへの書き込み許可があれば、 シンボリック・リンクを削除するための書き込み許可は必要ありません。

.(ドット) または .. (ドット、ドット) ファイルが File パラメーターのベース名部分として指定されると、rm コマンドは標準エラーに診断メッセージを書き込み、 このようなパラメーターが指定されても何も実行しないようにします。

-f フラグを指定していないときに、 File パラメーターに書き込み許可がなく標準入力がワークステーションである場合か、 または -i フラグを指定している場合には、rm コマンドは、標準エラーにプロンプトを書き込み、標準入力から 1 行読み取ります。 肯定応答を入力しなければ、rm コマンドは現行ファイルにはそれ以上何も実行せず、 次のファイルに進みます。

ディレクトリーにスティッキー・ビットが設定されていて、 そのディレクトリーがユーザー所有のものでない場合には、他のユーザーの所有するファイルを除去することはできません。

注: rm コマンドは、 (ダッシュ、ダッシュ) パラメーターをフラグの終わりを示す区切り文字としてサポートします。

NFS バージョン 4 サーバー用にエクスポートされたファイルまたはディレクトリーを 除去しようとすると、失敗して、そのリソースが使用中である旨のメッセージが出されます。 ファイルまたはディレクトリーは、NFS バージョン 4 用にアンエクスポートしてから、除去する必要があります。

フラグ

項目 説明
-e 各ファイルの削除後にメッセージを表示します。
-f 書き込み保護ファイルを除去する前にプロンプトを表示しません。指定されたファイルが存在しな くても、エラー・メッセージを表示せず、エラー状況を戻しません。 -f-i フラグの両方が指定されている場合には、 最後に指定した方に影響があります。
-i 各ファイルを削除する前にプロンプトを表示します。-i-r フラグを一緒に使うと、 rm コマンドはディレクトリーを削除する前にもプロンプトを表示します。-i-f フラグの両方が指定されている場合には、最後に指定した方に影響があります。
項目 説明
-r File パラメーターにディレクトリーを指定すると、ディレクトリーとそれらの内容を再帰的に除去できます。このフラグは -R フラグと同等です。
-R File パラメーターにディレクトリーを指定すると、ディレクトリーとそれらの内容を再帰的に除去できます。このフラグは -r フラグと同等です。

終了状況

このコマンドは、以下の終了値を戻します。

項目 説明
0 -f フラグを指定しなかった場合は、名前の付いたディレクトリーのエントリーすべてが除去されるか、 既存の名前の付いたディレクトリーのエントリーがすべて除去されます。
>0 エラーが発生しました。

セキュリティー

RBAC ユーザーおよび Trusted AIX® ユーザーへの注意: このコマンドは特権操作を実行できます。特権命令を実行できるのは特権ユーザーのみです。 権限および特権について詳しくは、「セキュリティー」の『特権コマンド・データベース』を参照してください。このコマンドに関連した特権および権限のリストについては、lssecattr コマンドまたは getcmdattr サブコマンドの項を参照してください。

  1. ファイルを削除するには、以下のように入力します。
    rm myfile
    このファイルに別のリンクがある場合には、ファイルはそのリンクの名前で残りますが、 myfile という名前は除去されます。myfile が唯一のリンクであれば、ファイル自体が削除されます。
  2. 最初に確認プロンプトを受け取らずにファイルを削除するには、以下のように入力します。
    rm  -f core
    rm -f コマンドが core という名前のファイルを除去しようとする前には、確認プロンプトは発行されません。ただし、 core ファイルが書き込み保護されていて、ユーザーがこのファイルのオーナーでもなく、 root 権限を持っていない場合は、エラー・メッセージが表示されます。rm -f コマンドが存在していないファイルを除去しようとしたときは、 エラー・メッセージは表示されません。
  3. ファイルを 1 つずつ削除するには、以下のように入力します。
    rm  -i mydir/*
    それぞれのファイル名が表示されたら、削除したいファイルには y を入力し、 保持しておきたいファイルには Enter キーを押します。
  4. ディレクトリー・ツリーを削除するには、以下のように入力します。
    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/draft1manual/draft2manual の各ディレクトリーを削除する許可を求めます。

    サブディレクトリー (例えば、manual/draft2) を除去する許可を否認すると、 rm コマンドは、manual ディレクトリーを除去しません。その代わりに、メッセージ「rm: Directory manual not empty」が表示されます。

ファイル

項目 説明
/usr/bin/rm rm コマンドが入っています。