rmdir命令


在Linux中的rmdir是常用的命令,該命令的功能是刪除空目錄,一個目錄被刪除之前必須是空的。(注意,rm -r dir命令可代替rmdir,但是有很大危險性。)刪除某目錄時也必須具有對父目錄的寫許可權。

1.命令格式

rmdir [選項]… 目錄…

2.命令功能

該命令從一個目錄中刪除一個或多個子目錄項,刪除某目錄時也必須具有對父目錄的寫許可權。

3.命令引數

  • - p遞回刪除目錄dirname,當子目錄刪除後其父目錄為空時,也一同被刪除。如果整個路徑被刪除或者由於某種原因保留部分路徑,則系統在標準輸出上顯示相應的資訊。
  • -v, --verbose 顯示指令執行過程

4.命令範例

範例一

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在執行刪除目錄時, 此命令不能直接刪除非空目錄。

範例2:

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$