在Linux中的rmdir
是常用的命令,該命令的功能是刪除空目錄,一個目錄被刪除之前必須是空的。(注意,rm -r dir
命令可代替rmdir
,但是有很大危險性。)刪除某目錄時也必須具有對父目錄的寫許可權。
rmdir [選項]… 目錄…
該命令從一個目錄中刪除一個或多個子目錄項,刪除某目錄時也必須具有對父目錄的寫許可權。
- p
遞回刪除目錄dirname,當子目錄刪除後其父目錄為空時,也一同被刪除。如果整個路徑被刪除或者由於某種原因保留部分路徑,則系統在標準輸出上顯示相應的資訊。 -v
, --verbose
顯示指令執行過程 rmdir
不能刪除非空目錄
命令:
rmdir doc
輸出:
yiibai@ubuntu:~/mkdir/project$ tree
.
├── bin
├── doc
│ ├── info
│ └── product
├── lib
├── logs
│ ├── info
│ └── product
└── service
└── deploy
├── info
└── product
yiibai@ubuntu:~/mkdir/project$ rmdir doc
rmdir: failed to remove ‘doc’: Directory not empty
yiibai@ubuntu:~/mkdir/project$ rmdir doc/info
yiibai@ubuntu:~/mkdir/project$ rmdir doc/product
yiibai@ubuntu:~/mkdir/project$ tree
.
├── bin
├── doc
├── lib
├── logs
│ ├── info
│ └── product
└── service
└── deploy
├── info
└── product
10 directories, 0 files
說明:
rmdir
在執行刪除目錄時, 此命令不能直接刪除非空目錄。
rmdir -p
當子目錄被刪除後使它也成為空目錄的話,則順便一併刪除
命令:
rmdir -p logs
輸出:
yiibai@ubuntu:~/mkdir/project$ tree
.
├── bin
├── doc
├── lib
├── logs
│ ├── info
│ └── product
└── service
└── deploy
├── info
└── product
10 directories, 0 files
yiibai@ubuntu:~/mkdir/project$ rmdir -p logs
rmdir: failed to remove ‘logs’: Directory not empty
yiibai@ubuntu:~/mkdir/project$ tree
.
├── bin
├── doc
├── lib
├── logs
│ ├── info
│ └── product
└── service
└── deploy
├── info
└── product
10 directories, 0 files
yiibai@ubuntu:~/mkdir/project$ rmdir -p logs/product/
rmdir: failed to remove directory ‘logs’: Directory not empty
yiibai@ubuntu:~/mkdir/project$ rmdir -p logs/product
rmdir: failed to remove ‘logs/product’: No such file or directory
yiibai@ubuntu:~/mkdir/project$ tree
.
├── bin
├── doc
├── lib
├── logs
│ └── info
└── service
└── deploy
├── info
└── product
9 directories, 0 files
yiibai@ubuntu:~/mkdir/project$