21079


`rm -rf example/`

と

`rmdir example/`

の違いがわかりません。  
どのような違いがあるのでしょうか？


CC BY-SA 3.0
2016-01-19T12:41:57.990
21078
2016-01-20T02:13:09.537
14041
question
linux
rm -rf と rmdir の違いって？


rmdir は空のフォルダしか削除できないです。

rm -rf はフォルダの中でファイルが存在すれば削除ができます。

例えば

[code]

    mkdir example/
    touch example/file1
    
    rm -rf example/ はexampleのディレクトリーを隠しファイル以外削除できます。
    
    rmdir example/　はexampleのディレクトリーを削除できないです。
    rmdir: failed to remove `example': Directory not empty
    
[/code]


CC BY-SA 3.0
2016-01-19T12:50:21.130
21079
2016-01-20T02:13:09.537
2016-01-20T02:13:09.537
7325
7325
21078
answer


※`rm`について補足

`rm` : 対象のファイルを削除する。  
`-r` : 再帰的にディレクトリ内部を探査し子孫要素を削除する。  
また、このオプションを付与することでディレクトリを削除できる。  
`-f` : 削除に発生する警告を非表示にする。

下記の命令は同じものです。  
`rm -r -f` = `rm -rf`

例：対象がファイルのみの場合(警告あり)

[code]

    rm *.txt
    
[/code]

例：対象がディレクトリの場合(警告あり・子孫要素も削除対象)

[code]

    rm -r example_dir
    
[/code]

例：削除時に警告を発さずディレクトリを子孫要素ごと全て削除する場合

[code]

    rm -rf example_dir
    
[/code]


CC BY-SA 3.0
2016-01-20T01:50:31.773
21098
2016-01-20T01:50:31.773
21078
answer