rmdir是常用的命令,該命令的功能是刪除空目錄,一個目錄被刪除之前必須是空的。(注意,rm - r dir命令可代替rmdir,但是有很大危險性。)刪除某目錄時也必須具有對父目錄的寫權限。
一.命令格式
rmdir [參數] 目錄
二.命令功能:
該命令從一個目錄中刪除一個或多個子目錄項,刪除某目錄時也必須具有對父目錄的寫權限。
三.命令參數:
參數 | 描述 |
---|---|
-p | 遞歸刪除目錄dirname,當子目錄刪除後其父目錄爲空時,也一同被刪除。如果整個路徑被刪除或者由於某種原因保留部分路徑,則系統在標準輸出上顯示相應的信息。 |
-v | --verbose,顯示指令執行過程 |
四. 命令示例
1.刪除空目錄dir31
命令:
rmdir dir31
輸出:
hc@hc-virtual-machine:~$ tree test1/ test1/ ├── dir1 │ ├── dir11 │ └── file1 └── dir2 │ └── dir21 └── dir3 └── dir31 4 directories, 1 file hc@hc-virtual-machine:~$ rmdir test1/dir1/file1 rmdir: 刪除 'test1/dir1/file1' 失敗: 不是目錄 hc@hc-virtual-machine:~$ rmdir test1/dir3 rmdir: 刪除 'test1/dir3' 失敗: 目錄非空 hc@hc-virtual-machine:~$ rmdir test1/dir3/dir31 hc@hc-virtual-machine:~$ tree test1/ test1/ ├── dir1 │ ├── dir11 │ └── file1 └── dir2 │ └── dir21 └── dir3
說明:
rmdir 目錄名 ,不能用來刪除文件,也不能刪除非空目錄,只能用來刪除單個空目錄
2. “遞歸”刪除空目錄(此“遞歸”指“反向遞歸”,刪除父級空目錄)
命令:
rmdir -p test1/dir2/dir21/
輸出:
hc@hc-virtual-machine:~$ tree test1/ test1/ ├── dir1 │ ├── dir11 │ └── file1 └── dir2 └── dir21 4 directories, 1 file hc@hc-virtual-machine:~$ rmdir -p test1/dir2/dir21/ rmdir: 刪除目錄 'test1' 失敗: 目錄非空 hc@hc-virtual-machine:~$ tree test1/ test1/ └── dir1 ├── dir11 └── file1 2 directories, 1 file
說明: 刪除dir2目錄下的dir21目錄,如果刪除後,dir21目錄的父級目錄爲空目錄,則刪除其父級目錄dir2,如果dir2的目錄被刪除後,test1目錄爲空目錄,則接着刪除,直到遇到父級目錄不爲空目錄,則停止刪除
rmdir -p 當該目錄的子目錄被刪除後使其也成爲空目錄的話,則順便一併刪除該目錄
3. 顯示刪除過程
命令:
rmdir -pv test1/dir1/dir11/
輸出:
hc@hc-virtual-machine:~$ ls PycharmProjects snap test1 公共的 模板 視頻 圖片 文檔 下載 音樂 桌面 hc@hc-virtual-machine:~$ tree test1/ test1/ └── dir1 └── dir11 hc@hc-virtual-machine:~$ rmdir -pv test1/dir1/dir11/ rmdir: 正在刪除目錄 'test1/dir1/dir11/' rmdir: 正在刪除目錄 'test1/dir1' rmdir: 正在刪除目錄 'test1' hc@hc-virtual-machine:~$ ls PycharmProjects snap 公共的 模板 視頻 圖片 文檔 下載 音樂 桌面