Linux如何刪除空目錄 rmdir命令注意事項(xiàng)

rmdir命令用于刪除空目錄,若目錄非空則報(bào)錯(cuò);使用rmdir 目錄名可刪除單個(gè)空目錄;用rmdir -p 可一次性刪除多層空目錄;若目錄非空需手動(dòng)清空或使用rm -r遞歸刪除;可批量刪除多個(gè)空目錄,各目錄以空格隔開(kāi)。

Linux如何刪除空目錄 rmdir命令注意事項(xiàng)

刪除空目錄是linux系統(tǒng)中一個(gè)常見(jiàn)的操作,而rmdir命令就是專(zhuān)門(mén)用來(lái)完成這個(gè)任務(wù)的。它只能刪除空目錄,也就是說(shuō),如果目錄里還有文件或者其他子目錄,rmdir就會(huì)報(bào)錯(cuò)并拒絕執(zhí)行。

Linux如何刪除空目錄 rmdir命令注意事項(xiàng)

如果你已經(jīng)確認(rèn)目標(biāo)目錄是空的,并希望用最直接的方式刪除它,那么rmdir是一個(gè)安全、簡(jiǎn)潔的選擇。

Linux如何刪除空目錄 rmdir命令注意事項(xiàng)


rmdir的基本用法

使用rmdir刪除一個(gè)空目錄非常簡(jiǎn)單,只需要在終端輸入:

rmdir 目錄名

比如你想刪除名為empty_dir的空目錄,可以這樣寫(xiě):

Linux如何刪除空目錄 rmdir命令注意事項(xiàng)

rmdir empty_dir

如果目錄刪除成功,不會(huì)有輸出;如果失敗,會(huì)提示類(lèi)似“Directory not empty”的錯(cuò)誤信息。

注意:

  • 只能刪除空目錄
  • 不會(huì)遞歸刪除(即不能同時(shí)刪掉父目錄和子目錄)
  • 刪除前建議先用ls或find確認(rèn)目錄是否為空

一次性刪除多層空目錄

有時(shí)候我們會(huì)遇到一連串的空目錄,比如dir1/dir2/dir3,每個(gè)都是空的。這時(shí)候可以用rmdir -p參數(shù)來(lái)一次性刪除所有層級(jí):

rmdir -p dir1/dir2/dir3

這條命令會(huì)從最內(nèi)層開(kāi)始刪除,只要每一層都是空的,就能成功刪到最外層目錄。

?? 注意:

  • 如果中間某一層有內(nèi)容,整個(gè)操作都會(huì)失敗
  • 要確保路徑是從下往上的完整路徑

當(dāng)目錄非空時(shí)怎么辦?

正如前面所說(shuō),rmdir只適用于空目錄。如果你嘗試刪除一個(gè)包含文件或子目錄的目錄,會(huì)看到這樣的提示:

rmdir: failed to remove 'dirname': Directory not empty

這時(shí)候你就需要換其他命令了,比如:

  • 先手動(dòng)清空目錄內(nèi)容,再使用rmdir
  • 或者直接使用rm -r命令遞歸刪除整個(gè)目錄及其內(nèi)容:
rm -r dirname

不過(guò)要注意,rm -r會(huì)強(qiáng)制刪除目錄及其中的所有內(nèi)容,操作前務(wù)必確認(rèn),避免誤刪。


小技巧:批量刪除多個(gè)空目錄

如果你想一次刪除多個(gè)互不相關(guān)的空目錄,可以在命令后面列出所有目錄名,用空格隔開(kāi):

rmdir dir1 dir2 dir3

只要這些目錄都為空,就能全部被刪除。如果有任何一個(gè)不是空的,那對(duì)應(yīng)的那一項(xiàng)就會(huì)失敗,但不影響其他目錄的刪除。


基本上就這些。rmdir是個(gè)簡(jiǎn)單但實(shí)用的命令,適合清理結(jié)構(gòu)清晰、確實(shí)為空的目錄。用的時(shí)候注意別混用rm -r,也別誤刪有用的數(shù)據(jù)。

? 版權(quán)聲明
THE END
喜歡就支持一下吧
點(diǎn)贊10 分享