每天乙個Linux命令5 rmdir命令

2021-07-26 13:22:52 字數 2378 閱讀 7098

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

最近乙個很火的事件是gitlab是在太平洋時間周二晚上發出一系列緊急通知,稱一位身處荷蘭的疲憊系統管理員在進行資料庫複製過程中不小心在一台錯誤的伺服器上刪除了乙個目錄,他刪除了乙個包含 300gb 實時產品資料的資料夾,在取消 rm -rf 刪除命令後該資料夾只剩下 4.5gb 資料。

命令格式:

rmdir [選項]... 目錄...
命令功能:

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

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

- v, --verbose 顯示指令執行過程

命令例項:

例項1:rmdir 不能刪除非空目錄

命令:rmdir scf

lenovo@zyh

:~/test1

$ tree scf

scf├── bin

├── doc

│ ├── info

│ └── product

├── lib

├── logs

│ ├── info

│ └── product

└── service

└── deploy

├── info

└── product

12 directories, 0 files

lenovo@zyh

:~/test1

$ rmdir scf

rmdir: 刪除 'scf' 失敗: 目錄非空

lenovo@zyh

:~/test1

$

說明:

rmdir 目錄名 命令不能直接刪除非空目錄

例項2:rmdir -p 當子目錄被刪除後使它也成為空目錄的話,則順便一併刪除

命令:rmdir -p logs

輸出:

lenovo@zyh

:~/test1

$ tree scf

scf├── bin

├── doc

│ ├── info

│ └── product

├── lib

├── logs

│ ├── info

│ └── product

└── service

└── deploy

├── info

└── product

12 directories, 0 files

lenovo@zyh

:~/test1

$ rmdir -p scf/logs

rmdir: 刪除 'scf/logs' 失敗: 目錄非空

lenovo@zyh

:~/test1

$ cd scf

lenovo@zyh

:~/test1/scf

$ rmdir -p logs/product

rmdir: 刪除目錄 'logs' 失敗: 目錄非空

lenovo@zyh

:~/test1/scf/logs

$ ls

info

lenovo@zyh

:~/test1/scf/logs

$ cd ..

lenovo@zyh

:~/test1/scf

$ rmdir -p logs/info

0 directories, 0 files

lenovo@zyh

:~/test1/scf

$ cd ..

lenovo@zyh

:~/test1

$ tree scf

scf├── bin

├── doc

│ ├── info

│ └── product

├── lib

└── service

└── deploy

├── info

└── product

9 directories, 0 files

lenovo@zyh

:~/test1

$

每天乙個Linux命令

將我遇到的linux指令總結一下,不斷增加 1 sz和rz 一般來說,linux 伺服器大多是通過 ssh客戶端來進行遠端的登陸和管理的,使用 ssh登陸 linux ssh有關的兩個命令可以提供很方便的操作 sz 將選定的檔案傳送 send 到本地機器 rz 執行該命令會彈出乙個檔案選擇視窗,從本...

每天乙個linux命令

linux cmp命令 linux cmp命令用於比較兩個檔案是否有差異。當相互比較的兩個檔案完全一樣時,則該指令不會顯示任何資訊。若發現有所差異,缺省會標示出第乙個不同之處的字元和列數編號。若不指定任何檔名稱或是所給予的檔名為 則cmp指令會從標準輸入裝置讀取資料。語法cmp clsv i 字元數...

每天乙個 Linux 命令

head 與 tail 就像它的名字一樣的淺顯易懂,它是用來顯示開頭或結尾某個數量的文字區塊,head 用來顯示檔案的開頭至標準輸出中,而 tail 想當然爾就是看檔案的結尾。1 命令格式 head 引數 檔案 2 命令功能 head 用來顯示檔案的開頭至標準輸出中,預設head命令列印其相應檔案的...