Go to main content

マニュアルページ セクション 1: ユーザーコマンド

印刷ビューの終了

更新: 2018年8月8日
 
 

rm(1)

名前

rm, rmdir - ディレクトリのエントリの削除

形式

rm [–f | –-force] [–iI] [–-interactive[=WHEN]]
[–r | –R | –-recursive] [–-one-file-system]
[–-no-preserve-root] [–-preserve-root] [–-help
]
[–v | –-verbose] file ...
/usr/bin/rm -r | 
-R | --recursive [-f | --force
] [--help] [-i]
[--interactive=[=WHEN]] [--one-file-system
] [–I] [--preserve-root]
[--no-preserve-root] [-v | --verbose
] dirname... [file]...
/usr/xpg4/bin/rm [-fiRr] 
file...
/usr/bin/rmdir
 [--ignore-fail-on-non-empty] [-p | 
--parents] [-s]
[-v | --verbose] [--help] 
dirname ...

説明

/usr/bin/rm /usr/xpg4/bin/rm

rm ユーティリティーは、file オペランドで示された各ディレクトリエントリを削除します。file に書き込み権がなく、標準入力が端末の場合、そのファイルに対するすべてのアクセス権 (8 進数) が出力され、後ろに疑問符がつけられます。これは、確認を求めるプロンプトです。回答が肯定の場合、ファイルが削除されます。それ以外の場合、ファイルはそのままです。

file がシンボリックリンクの場合、リンクは削除されますが、参照するファイルまたはディレクトリは削除されません。ユーザーがシンボリックリンクを削除する際、そのディレクトリに書き込み権があれば、シンボリックリンクに書き込み権は必要ありません。

複数のファイルが指定され、何らかの理由でそのうちの 1 つが削除できなかった場合、rm は診断メッセージを標準エラー出力に書き出し、そのファイルにはそれ以上の処理は行わず、残りの file を処理します。

標準入力が端末でない場合、rm は –f オプションが指定されている場合と同様に動作します。

/usr/bin/rmdir

rmdir ユーティリティーは、dirname オペランドで示されたディレクトリのエントリを削除します。dirname は空のディレクトリを指している必要があります。

ディレクトリは指定された順序で処理されます。したがって、あるディレクトリとそのディレクトリのサブディレクトリを 1 回の rmdir 呼び出しで削除する場合は、サブディレクトリを親ディレクトリよりも前に指定して先に削除し、親ディレクトリの削除のときにディレクトリが空になるようにしてください。

オプション

/usr/bin/rm では次のオプションがサポートされています。

–r, –R, –-recursive

引数リストにあるディレクトリおよび サブディレクトリを再帰的に削除します。ディレクトリ内は空にされ、削除されます。通常、ディレクトリにある書き込み保護された任意のファイルの削除には、ユーザーに確認を求めるプロンプトが出されます。ただし、–f オプションが使用されている場合、または 標準入力が端末ではなく、しかも –i オプションが使用されていない場合、書き込み保護されたファイルはプロンプトなしで削除されます。

このオプションが使用されたシンボリックリンクは、シンボリックリンク先には及びません。

書き込み保護された空でないディレクトリを削除しようとすると、このコマンドは常に (–f オプションが使用されている場合でも) 失敗に終わり、エラーメッセージが表示されます。

–-help

使用方法に関するメッセージを表示し、リターンコード 0 で終了します。

–f, –-force

ユーザーへの指示なしにディレクトリ内のファイル (書き込み保護されているファイルも含む) を削除します。しかし、書き込み保護されたディレクトリでは、(たとえどんなアクセス権があっても) ファイルは決して削除されず、それについてのメッセージは表示されません。

–i

対話型。このオプションを使用すると、rm はファイルを削除する前に、確認を求めるプロンプトを出します。これは –f オプションより優先され、標準入力が端末でない場合でもその効力を持続します。

–I

4 つ以上のファイルがある場合は確認を求めるプロンプトを表示します。–i オプションよりも介入頻度は低くなります。これは –f オプションより優先され、標準入力が端末でない場合でもその効力を持続します。

–-interactive[=WHEN]

WHEN (never、once (–I)、または always (–i)) に従ってプロンプトを表示します。WHEN が指定されていない場合は、常にプロンプトを表示します。これは –f オプションをオーバーライドし、標準入力が端末でない場合でもその効力を持続します。

–-one-file-system

再帰的な削除の際に、対応するコマンド行引数のファイルシステムとは異なるファイルシステムのディレクトリはスキップします。

–-preserve-root

「/」に対しては再帰的な操作を行いません。

–-no-preserve-root

「/」を特別なものとして扱いません。これはデフォルトです。

–v, –-verbose

処理された各ファイルの診断を表示します。

/usr/xpg4/bin/rm

/usr/xpg4/bin/rm では次のオプションがサポートされています。

–r, –R

引数リストにあるディレクトリおよび サブディレクトリを再帰的に削除します。ディレクトリ内は空にされ、削除されます。通常、ディレクトリにある書き込み保護された任意のファイルの削除には、ユーザーに確認を求めるプロンプトが出されます。ただし、–f オプションが使用されている場合、または 標準入力が端末ではなく、しかも –i オプションが使用されていない場合、書き込み保護されたファイルはプロンプトなしで削除されます。

このオプションが使用されたシンボリックリンクは、シンボリックリンク先には及びません。

書き込み保護された空でないディレクトリを削除しようとすると、このコマンドは常に (–f オプションが使用されている場合でも) 失敗に終わり、エラーメッセージが表示されます。

–f

確認を求めるプロンプトメッセージを出力しません。存在しないものがオペランドで指定されても、診断メッセージを出力したり終了ステータスを変更したりしません。前に –i オプションが指定されていれば、それを無視します。

–i

確認を求めるプロンプトを出力します。–i オプションと –f オプションの両方を指定した場合は、最後のオプションが優先されます。

/usr/bin/rmdir

次のオプションは、/usr/bin/rmdir でのみ使用できます。

–-help

使用方法に関するメッセージを表示し、ステータス 0 で終了します。

–-ignore-fail-on-non-empty

ディレクトリが空でないことだけに起因する失敗は無視します。

–p, –-parents

ユーザーはディレクトリ dirname および空になる親ディレクトリを削除できます。パスの全体、または一部が削除されていなければ、メッセージが標準出力に出されます。

–s

–p が有効なときに標準エラーに出力されるメッセージを表示しません。

–v, –-verbose

処理されたディレクトリの診断を出力します。

オペランド

次のオペランドがサポートされています。

file

削除されるディレクトリエントリのパス名を指定します。

dirname

削除される空ディレクトリのパス名を指定します。

以下の例に、有効なコマンドの使用法を示します。

/usr/bin/rm、/usr/xpg4/bin/rm

使用例 1 ディレクトリの削除

次のコマンドは、ディレクトリエントリ a.out および core を削除します。

example% rm a.out core
使用例 2 確認を求めない、ディレクトリの削除

次のコマンドは、確認を求めずにディレクトリ junk とそのすべての内容を削除します。

example% rm -rf junk

/usr/bin/rmdir

使用例 3 空のディレクトリの削除

現在のディレクトリに a というディレクトリがあり、そのディレクトリには b というディレクトリだけがあるとします。また b には、c というディレクトリだけがあるものとします。次のコマンドは、3 つのディレクトリすべてを削除します。

example% rmdir -p a/b/c

環境変数

rmrmdir の実行に影響を与える次の環境変数についての詳細は、environ(7) を参照してください。LANG、LC_ALL、LC_COLLATE、LC_CTYPE、LC_MESSAGES、および NLSPATH。

肯定応答は、ユーザーのロケールの LC_MESSAGES カテゴリの yesexpr キーワードで定義されている拡張正規表現を使用して処理されます。LC_COLLATE カテゴリに指定されているロケールは、yesexpr に定義されている式に使用される範囲、同等クラス、および複数文字照合要素の動作を定義します。LC_CTYPE に指定されているロケールは、テキストデータのバイト列を文字として解釈するロケールや、yesexpr に定義されている式に使用される文字クラスの動作を定義します。locale(7) を参照してください。

終了ステータス

次の終了ステータスが返されます。

0

–f オプション省略時は、指定されたすべてのディレクトリエントリが削除されたことを示す。f オプション指定時は、指定されたすべての既存のディレクトリエントリが 削除されたことを示す。

>0

エラーが発生しました。

属性

属性についての詳細は、マニュアルページの attributes(7) を参照してください。

/usr/bin/rm、/usr/bin/rmdir

属性タイプ
属性値
使用条件
system/core-os
CSI
有効

/usr/xpg4/bin/rm

属性タイプ
属性値
使用条件
system/xopen/xcu4
CSI
有効
インタフェースの安定性
確実
標準
standards(7) を参照してください。

関連項目

rmdir(2), unlink(2), getopt_long(3C), mkdirp(3GEN), attributes(7), environ(7), standards(7)

診断

うっかりして次のようなことを行わないために、ファイル "." および “..” を削除することは禁じられています。

example% rm -r .*

ファイル「/」を削除することは禁止されています。これは、間違って以下のような状況になってしまったときに、惨劇を起こさないようにするためです。

example% rm -rf $x/$y

または

example% rm -rf /$y

そして、$x$y が空の文字列に展開される場合です。

- を使用することにより、ユーザーは任意のコマンド行オプションの最後を明白に記すことができ、rm- で始まるファイル名の引数を認識できます。BSD 移行の補助として、rm- -- の同義語として受け入れます。この導入補助は、将来のリリースでは提供されない可能性があります。- -- の両方が同一コマンド行にある場合は、2 つめがファイルとして解釈されます。