本文に進む 日本−日本語
日本HPホーム 製品とサービス お客様サポート/ ダウンロード ソリューション ご購入の方法
≫ お問い合わせ
詳細検索オプション
日本HPホーム
HP-UX リファレンス > r

rm(1)

HP-UX 11i Version 3: February 2007
≫ 

テクニカル ドキュメント

フィードバック
ここから本文が始まります

 ≫ 目次

 ≫ 索引

名称

rm ― ファイルまたはディレクトリの削除

構文

rm [-f|-i] [-Rr] file ...

説明

rm コマンドは、ディレクトリから 1 つ以上のファイルの項目を除去します。 削除する項目が該当するファイルへの最後のリンクであれば、ファイル自身も削除されます。 ファイルを削除するには、そのディレクトリに対する書き込みおよび検索 (実行) パーミッションが必要になりますが、 ファイル自体に対するパーミッションは必要ありません。 しかし、スティッキービットがファイルのあるディレクトリに設定されている場合、ファイルの所有者かディレクトリの所有者 もしくは適切な特権 を持つユーザー のみがファイルを削除できます。

ユーザがファイルに対する書き込みパーミッションを持たず、 また標準入力がターミナルの場合には、ファイル名とそのパーミッションを示す プロンプトを表示して、ファイルの削除について確認するよう要求してきます (下記の「アクセス制御リスト」参照)。 その後、標準入力から 1 行が読み取られます。 その行が y で始まっていればファイルは削除されます。 これ以外の場合は、ファイルはそのまま残ります。 -f オプションを指定した場合、または標準入力がターミナルでない場合は、 プロンプトによる確認は行われません。

file がディレクトリで -f オプションを指定しない場合か、 file の パーミッション により 書き込みが許可されず、かつ標準入力がターミナルであるか、 -i オプションが指定されていない場合、 rm はプロンプトを標準エラーに書き出し、 標準入力から 1 行を読み込みます。 応答が y で始まっていない場合、 現在のファイルに対する作業は終わり、残りのファイルに移行します。

file がシンボリックリンクの場合は、シンボリックリンクのみが削除されます。 シンボリックリンクに指定されたファイルまたはディレクトリは影響を受けません。 file で指定したパスの一部にシンボリックリンクが含まれている場合、 rm はシンボリックリンクをたどり、 file を削除します。

オプション

rm は、次のオプションを使用することができます。

-f 

項目のパーミッションに関係なく、確認のプロンプトを出さずに、 強制的に各ファイルまたはディレクトリを削除するよう指定します。 このオプションを指定すると、オペランドがないことを示す診断メッセージも抑制されます。

ただし、このオプションを指定した場合、 オペランドがないことを示す診断メッセージ以外はすべて出力されます。 エラーメッセージや対話形式のプロンプトをすべて抑制する場合は、 標準エラーの出力先を /dev/null に変更した状態で、 -f オプションを使用するようにしてください。

このオプションは、 -i オプションの以前の出現箇所をすべて無視します。

-i 

削除する項目ごとに、確認を要求するプロンプトが標準エラーに送られます。

このオプションは、 -f オプションの以前の出現箇所をすべて無視します。

-R 

このオプションを指定した場合、 rm は、引き数で指定したディレクトリごとに、 各ディレクトリの内容をすべて繰り返し削除してから、ディレクトリ自体を削除します。 また -i オプションとともに使用すると、 rm は、各ディレクトリの内容を確認するように要求した後、 これに含まれる各ファイルを対話形式で削除してから、 最後にディレクトリ自体も削除するかどうかをプロンプトで確認してきます。

-R オプションは、 ファイルの階層を下方に向かってはたらき、 ファイル名の長さがシステムの制限を超えない限り正しく動作します。

-r 

-R と等価です。

アクセス制御リスト

ファイルにオプションの ACL 項目があると、 rm は、ファイルのパーミッションの後に正符号 (+) を表示します。 表示されるパーミッションは、 stat() が返すファイルの st_mode 値を要約したものです ( stat(2) 参照)。 acl(5) も参照してください。

多言語化対応

環境変数

LANG により、未設定の、またはヌルの多言語対応変数に対する デフォルト値が指定されます。 LANG セットされていない場合、またはヌルの場合は、 "C" ( lang(5) 参照) が使用されます。 多言語対応変数の内容が無効な設定である場合、多言語対応変数がすべて"C"に設定されたものとして rm は動作します。 environ(5) を参照してください。

LC_ALL 空白以外の文字列値にセットすると、 その他の全多言語対応変数に対する値が変更されます。

LC_CTYPE により、 テキストをシングルバイト文字、マルチバイト文字のいずれで解釈するか、 正規表現中の文字クラスの表現にマッチしたプリント可能の文字として分類するかどうかが決まります。

LC_MESSAGES は、標準エラーに書き込む診断メッセージ、および標準出力に書き込む情報メッセージのフォーマットと内容を決めるロケールを指定します。

NLSPATH は、 LC_MESSAGES の処理に使用するメッセージカタログの位置を決めます。

サポートされるコードセット

シングル/マルチバイトの文字コードセットがサポートされています。

診断

診断の内容は、メッセージに示すとおりです。 -f オプションを指定しても、すべての診断メッセージが抑制されるわけではありません。

例えば、 次のようなコマンドを使用してしまうことがないように、ファイル .. は削除できなくなっています。

rm -r .*

指定したファイルがディレクトリの場合、オプションの引き数 -R または -r を使用してある場合を除き、エラーメッセージが出力されます。

戻り値

rm は次の値で終了します。

 0 

-f オプションが指定されない場合は、すべての指定されたディレクトリのエントリー (rm で指定された引数) が削除された場合のみ 0 が返ります。

-f オプションが指定された場合は、指定されたディレクトリに存在するすべてのエントリーが削除されます。指定されたディレクトリのエントリーで、存在しないものがあれば、 rm はやはり 0 を返します。

>0 

エラーが発生しました。

確認用のプロンプトを出して、ファイルを削除します。

rm -i file1 file2

ディレクトリ中にあるファイルをすべて削除します。

rm -i mydirectory/*

前のコマンドはファイルだけを削除するもので、 mydirectory の中にディレクトリがあっても、これは削除の対象にはなりません。

現在のディレクトリの中に存在し、名称が - または * 、またはシェルに特有の意味を持つ文字で始まるファイルを削除します。

  • rm ./-filename
    rm \*filename
    など

現在のディレクトリに存在し、名称の先頭に特殊な文字 (通常、見ることのできない表示不可能な文字) があるファイル、 または名称の先頭や終わりにスペースが入っているファイルを削除します。

rm -i *filename*

*filename* がディレクトリ中で一意になっていない場合は、 別のファイルが要求された時点で n を入力します。

次の例は、ディレクトリを削除する強力なコマンドです。 使用する場合は、危険を伴うので十分な注意が必要です。

rm -fR directoryname

または

rm -Rf directoryname

これはファイルまたはディレクトリを削除する前の確認プロンプトを出さずに、 directoryname からファイルおよびディレクトリをすべて削除します。 このコマンドは、必ず directoryname 中にあるすべてのファイルおよびディレクトリ、さらに directoryname 自体について、削除してもかまわないことが確実である場合に限って、 使用してください。

制約

NFS

rm は、ネットワークファイルを削除する前に確認を行う際に、 オプションのアクセス制御リスト項目が存在することを示す正符号 (+) の表示は行いません。

参照

rmdir(1), unlink(2), acl(5)

標準準拠

rm: SVID2, SVID3, XPG2, XPG3, XPG4, POSIX.2

印刷用画面へ
プライバシー 本サイト利用時の合意事項
© 2007 Hewlett-Packard Development Company, L.P.