Linuxコマンド rmdir(空のディレクトリを削除する)

指定した空のディレクトリを削除するrmdirコマンドの解説

RHEL Fedora CentOS Vine Deblan Ubuntu Plamo

参考サイト:Man page of INSTALL

使用方法

rmdirで指定したディレクトリを削除します。指定したディレクトリ内にファイルやディレクトリが存在する場合は、エラーが表示されて削除されません。

rmdirコマンドは、ディレクトリ内にファイルが残っていることに気づかずに削除してしまう事故を防ぐことに役立ちます。

似たようなコマンドでrmコマンドでもディレクトリを削除することができます。これは、ディレクトリ内にファイルやディレクトリが存在しても強制的に削除することができ、通常はrmコマンドを使用することが多いでしょう。

書式

$ rmdir [オプション] ディレクトリ名・・・
–ignore-fail-on-non-empty空のディレクトリではない場合はエラーを表示せず、削除も行わない
-p,
-parents
削除を指定したディレクトリの下に複数の階層が含まれる場合、
その階層を最下層ディレクトリから順番に削除する。
-v,
–verbose
ディレクトリを削除したら結果を表示する。
オプション一覧

サンプル:ファイルやディレクトリが存在しない場合

workを削除する。削除対象のディレクトリ内にファイルやディレクトリは存在しない。

$ rmdir work

実行結果

[testuser@ ~]$ tree
.
└── work

1 directory, 0 files
[testuser@ ~]$ rmdir work
[testuser@ ~]$ tree
.

0 directories, 0 files
[testuser@ ~]$ 

サンプル:ファイルやディレクトリが存在する場合

workを削除する。削除対象のディレクトリ内にファイルやディレクトリは存在しない。

$ rmdir work

実行結果

[testuser@ ~]$ tree
.
└── work
    └── sample1.txt

1 directory, 1 file
[testuser@ ~]$ rmdir work/
rmdir: failed to remove ‘work/’: Directory not empty
[testuser@ ~]$ 

複数のディレクトリ削除

サンプル

work1とwork2のディレクトリを1回のコマンド実行で削除する

$ rmdir work1 work2

実行結果

[testuser@ ~]$ tree
.
├── work1
└── work2

2 directories, 0 files
[testuser@ ~]$ rmdir work1 work2
[testuser@ ~]$ ls -lF
total 0
[testuser@ ~]$ 

階層構造のディレクトリを削除する

rmdirに-pを付加して実行することにより、階層構造(親と子)のディレクトリを1回で削除することができる。

サンプル

work(親)とwork配下のsample(子)ディレクトリどちらも削除するサンプル

$ rmdir -p work/sample

実行結果

[testuser@ ~]$ tree
.
└── work
    └── sample

2 directories, 0 files
[testuser@ ~]$ rmdir -p work/sample/
[testuser@ ~]$ tree
.

0 directories, 0 files
[testuser@ ~]$