SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

UNIXコマンド辞典

rm

ファイル/ディレクトリを削除する

対応OS: linux , freebsd, solaris

2015/05/20 08:00

rm [-f] [-i] [-r] [-v] FILE...

 rmコマンドは、FILE...に指定したファイルと空のディレクトリを削除します。ディレクトリを削除する場合には、そのディレクトリ配下にファイルやディレクトリがあってはいけません。ただし、オプション「-r」を指定すると、空でないディレクトリを削除できます。

オプション
① -f
通常、FILE...に指定したファイルやディレクトリが存在しない場合には、エラーが発生します。しかし、このオプションを指定するとファイルやディレクトリの存在するものだけを削除し、エラーは発生しません。
② -i
FILE...に指定したそれぞれのファイルやディレクトリの削除の前に、削除するかどうか問い合わせます。
③ -r
FILE...に指定したディレクトリが空でなくても削除します。
④ -v [Linux][FreeBSD]
処理内容を出力します。
引数
① FILE...
削除するファイルやディレクトリをスペースで区切って指定します。ワイルドカードによる指定も可能です。
注意

 オプション「-r」は空でないディレクトリを削除できて便利なように思えますが、使い方を誤ると大変なことになります。例えば、カレントディレクトリがルートディレクトリの状態で、スーパーユーザが「rm -r *」というコマンドを実行すると、ファイルシステム上のすべてのファイルとディレクトリを削除してしまい、二度と起動しないシステムになってしまいます。実行には十分注意してください

ファイルを削除する
$ ls -l file* 
-rw-rw-r-- 1 cmd cmd 32 4月11 15:13 file01
-rw-rw-r-- 1 cmd cmd 39 4月11 15:13 file02
-rw-rw-r-- 1 cmd cmd 39 4月11 21:53 file03
$ rm file02 file03
ファイル「file02」と「file03」を削除
$ ls -l file*
-rw-rw-r-- 1 cmd cmd 39 4月11 15:13 file01
$
存在しないファイルを削除しようとした場合
$ ls -l file* 
-rw-rw-r-- 1 cmd cmd 32 4月11 15:13 file01
-rw-rw-r-- 1 cmd cmd 39 4月11 15:13 file02
-rw-rw-r-- 1 cmd cmd 39 4月11 21:53 file03
$ rm file04
rm: cannot lstat 'file04': そのようなファイルやディレクトリはありません
オプション「-f」を指定しないとエラーが発生
$ rm -f file04
オプション「-f」を指定するとエラーは発生しない
$
ファイルの削除時に問い合わせを行う
$ ls -l file* 
-rw-rw-r-- 1 cmd cmd 32 4月11 15:13 file01
-rw-rw-r-- 1 cmd cmd 39 4月11 15:13 file02
-rw-rw-r-- 1 cmd cmd 39 4月11 21:53 file03
$ rm -i file*
rm: remove regular file 'file01'? y
rm: remove regular file 'file02'? n
rm: remove regular file 'file03'? y
削除するかどうかの問い合わせ
「y」を入力すると削除
「n」を入力すると削除しない
$ ls -l file*
-rw-rw-r-- 1 cmd cmd 39 4月11 15:13 file02
$
空でないディレクトリを削除する
$ tree dir01 
dir01
|-- dir011
| |-- file011
| |-- file012
| `-- file013
`-- file01
ディレクトリ「dir01」の内容
1 directory, 4 files
$ rm -r dir01
空でないディレクトリ「dir01」を削除
$ ls dir01
ls: dir01: そのようなファイルやディレクトリはありません
$
HINT!

 lsコマンド・treeコマンド

UNIXコマンド辞典トップページに戻る

本コンテンツは「UNIXコマンド辞典 ビギナー編」(2003年)を元にWeb用に再編集したものです
All Contents copyright © 2003-2009 Odyssey Communications Inc., Shoeisha Co., Ltd.

開発者必携!VBAスキルを証明する資格「VBAエキスパート」

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング