rmdirコマンドは空のディレクトリを削除するコマンドです。
空のディレクトリ以外を削除する方法は、rmコマンドの-Rオプションによる再帰的な削除があります。
rmdirコマンドを用いる場合は、間違ってディレクトリ以外のものを削除したくないときに利用できます。
目次
rmdirコマンドの利用例
空のディレクトリを削除
(オプションなし)
rmdirコマンドは空のディレクトリを削除することができます。0の終了ステータスは成功を表し、0以外の終了ステータスは失敗を表します。空ではないディレクトリを指定した場合は失敗の終了ステータスを返します。
コマンド例
1 |
rmdir dir |
コマンド例実行前
1 2 3 4 5 6 7 |
$ls -lR .: 合計 4 drwxrwxr-x 2 ubuntu ubuntu 4096 11月 30 15:17 dir ./dir: 合計 0 |
実行結果
1 2 3 |
$ls -lR .: 合計 0 |
空ではないディレクトリは無視
(--ignore-fail-on-non-emptyオプション)
rmdirコマンドは空ではないディレクトリを削除しようとすると失敗の終了ステータスを返します。
--ignore-fail-on-non-emptyオプションを用いると、空ではないディレクトリを削除するときに、そのディレクトリを無視して、削除に失敗した終了ステータスを返しません。
コマンド例と実行結果
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
$ls -lR .: 合計 4 drwxrwxr-x 2 ubuntu ubuntu 4096 11月 30 15:36 dir ./dir: 合計 0 -rw-rw-r-- 1 ubuntu ubuntu 0 11月 30 15:36 file.txt $ $rmdir dir rmdir: 'dir' を削除できません: Directory not empty $echo $? 1 $ $rmdir --ignore-fail-on-non-empty dir $echo $? 0 $ $ls -lR .: 合計 4 drwxrwxr-x 2 ubuntu ubuntu 4096 11月 30 15:36 dir ./dir: 合計 0 -rw-rw-r-- 1 ubuntu ubuntu 0 11月 30 15:36 file.txt |
削除したディレクトリ名を表示
(-vオプション)
-vオプションを用いると、削除したディレクトリ名が表示されます。
コマンド例と実行結果
1 2 3 4 5 6 7 8 9 10 |
$ls -lR .: 合計 4 drwxrwxr-x 2 ubuntu ubuntu 4096 11月 30 15:33 dir ./dir: 合計 0 $ $rmdir -v dir rmdir: ディレクトリ 'dir' を削除しています |
親ディレクトリごと削除
(-pオプション)
-pオプションを用いると、親ディレクトリも同時に削除することができます。ただし、削除する親ディレクトリに削除するディレクトリ以外のファイルやディレクトリがある場合は、その親ディレクトリは削除できません。
コマンド例と実行結果
1 2 3 4 5 6 7 8 9 10 11 12 |
$tree . └── dir1 └── dir1-1 └── dir1-1-1 3 directories, 0 files $ $rmdir -p -v dir1/dir1-1/dir1-1-1 rmdir: ディレクトリ 'dir1/dir1-1/dir1-1-1' を削除しています rmdir: ディレクトリ 'dir1/dir1-1' を削除しています rmdir: ディレクトリ 'dir1' を削除しています |
また、-pオプションを使わない方法として、以下のようなコマンドの使い方もあります。
コマンド例
コマンド例
1 |
rmdir dir1/dir1-1/dir1-1-1 dir1/dir1-1 dir1 |
参考
GNU Coreutils: rmdir invocation