linux每日命令(7):rmdir命令

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  公共的  模板  視頻  圖片  文檔  下載  音樂  桌面
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章