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@ ~]$