【rm/del,rd】ファイルやディレクトリを削除する ~今週のコマンド003

2+

金曜連載

今週のコマンド

この連載ではUNIXライクなOS(Linux,Macなど)や、Windowsのコマンドプロンプトで使えるコマンドを週に数個ずつ、紹介します。

第3回となる今回はファイルやディレクトリを削除するコマンド rm (remove)/del,rdを紹介します。また、ワイルドカードについても少しだけ解説しています。

 

構文(Linux)

Linux rm [オプション] [ファイル・ディレクトリ]

指定した[ファイル・ディレクトリ]を削除する。(但し、デフォルトではディレクトリを削除不可)

オプション

-f 削除時の問い合わせやエラーを表示しない
-i 削除時に本当に削除するかを問い合わせる
-r, -R ディレクトリやその中のファイルも削除する
-v 削除時の情報を表示する

info削除に関して

今回の記事で紹介している「rm/del,rd」などのコマンドを使って削除するとファイルは完全に削除されます。 ゴミ箱には転送されません。

使用例

$ ls
dir test.txt

#削除時に確認を表示
$ rm -i test.txt
rm: 通常ファイル `test.txt’ を削除しますか? n

#test.txtを削除
$ rm test.txt
$ ls
dir

#ディレクトリdirを削除
$ rm -r dir
$ ls
$

※lsコマンドは、現在の作業ディレクトリの中のディレクトリとファイルを表示します。


 

コマンドプロンプト(Windows)では

ファイルを削除する場合と、ディレクトリを削除する場合でコマンドが異なります。

Windows del [オプション] [ファイル・ディレクトリ]

指定した[ファイル]を削除する。ディレクトリを指定した場合、そのディレクトリの中のファイルすべてが削除される。(ディレクトリ自体は削除されない)

オプション

/P 削除時の問い合わせやエラーを表示する
/F 読み取り専用ファイルを削除する
/Q 削除時の問い合わせやエラーを表示する
/S 指定したファイルを全てのサブディレクトリから削除する
/A ファイルの属性によって削除するファイルを選択する
:R 読み取り専用ファイル :S システムファイル :H 隠しファイル :A アーカイブ

 

 

Windows rd(rmdir) [オプション] [ディレクトリ]

指定した[ディレクトリ]を削除する。

オプション

/Q 削除時の問い合わせやエラーを表示しない
/S ディレクトリの中のファイルやサブディレクトリも削除する

使用例

C:\dir>dir
C:\dir のディレクトリ

2016/05/10 23:50 .
2016/05/10 23:50 ..
2016/05/10 23:43 ABC
2016/05/10 23:41 0 config.ini
2016/05/10 23:42 0 readonly.txt
2 個のファイル 0 バイト
3 個のディレクトリ 8,323,620,864 バイトの空き領域

@rem C:\dir\のなかの読み取り専用ファイルを全て削除
C:\dir>del /A:R *
C:\dir\*、よろしいですか (Y/N)? Y

C:\dir>dir
C:\dir のディレクトリ

2016/05/10 23:50 .
2016/05/10 23:50 ..
2016/05/10 23:43 ABC
2016/05/10 23:41 0 config.ini
1 個のファイル 0 バイト
3 個のディレクトリ 8,323,420,160 バイトの空き領域

@rem ディレクトリABCを削除
C:\dir>rd /S ABC
ABC、よろしいですか (Y/N)? Y

C:\dir>del config.ini

C:\dir>dir
C:\dir のディレクトリ

2016/05/10 23:51 .
2016/05/10 23:51 ..
0 個のファイル 0 バイト
2 個のディレクトリ 8,323,420,160 バイトの空き領域

C:\dir>

※dirコマンドはディレクトリの中身を表示するコマンド


 

!!ワイルドカードについて

UNIXとWindowsで使用できる代替文字、ワイルドカードについてちょっと説明します。「ある拡張子のファイルをまとめて削除したい…」こういう時に便利なのがワイルドカード! 「*」・・・全ての長さの任意の文字列 「?」・・・任意の1文字 たとえば、いま作業ディレクトリから拡張子「.txt」のファイルを削除したい場合:
rm(del) *.txt
たとえば、「sun」を含むファイルを削除したい場合:
rm(del) *sun*
たとえば、「moon1.png, moon2.png, ... , moon9.png」を削除したい場合:
rm(del) moon?.png
のように使い方は無限大!こういう使い方ができるのもCUIの長所といえるでしょう。ぜひぜひ使ってみてください!
2+