UNIX 的 rmdir 有什麼意義?

UNIX 的 rmdir 有什麼意義?

我是 UNIX(MAC OS X bourne shell POSIX)的新手,我知道rmdir只會刪除一個空目錄,但在什麼情況下您實際上想要使用rmdir <directory name>而不僅僅是rm -r <directory name>?是否有一個我無法理解的智慧用例,如果我理解的話,了解會讓我的程式設計變得更好一點?謝謝。

答案1

rmdir更安全:如果目錄包含任何文件,它會拒絕刪除該目錄。如果您嘗試刪除錯誤的目錄,或者目錄仍然包含您需要的(可能是隱藏的)檔案怎麼辦?

還有歷史原因:一開始rm程序沒有開關-r,因此rmdir需要刪除目錄。那時rmdir它是一個不平凡的程序,但今天它只是rmdir(const char*)C 函數的包裝器。

答案2

rmdir當我刪除一個目錄時我會使用預計為空,這樣如果裡面還有文件就會失敗。如果我輸入錯誤,使用rm -rf可能會毀掉我想保留的檔案。

相關內容