Ls

使用 ls -a 與 ls -A

  • June 29, 2021

有什麼理由有人會ls -a過度使用ls -A嗎?也就是說,可以...曾經顯示任何有用的東西嗎?我曾經使用-a只是因為我不知道這-A是同一件事,但沒有.and ..。這讓我回到了我的問題:是否-a曾經展示過任何不平凡的東西...有人可能想看到的東西?

最初,ls僅支持,在 70 年代初的第一個 Unix 版本中-a已經存在。

-A在 70 年代後期,BSD 中添加了一個選項ls(儘管直到 80 年代後期才被記錄),原因就是ls -a列出.or..很少有用。90 年代初的 GNU 實現ls從一開始就擁有它(也稱為--almost-all那裡)。

POSIX 在其 2008 版中最終指定了該選項,因此它最終適用於大多數其他ls實現。但到那時,大多數人已經習慣了打字ls -a

ls -a``ls -la除了目錄中的文件之外,當您想要檢查目前和父目錄的權限、修改時間等時,有時會很有用。

請注意,雖然 POSIX 需要dir/. anddir/..路徑分別解析到dir及其父目錄(以及.目前..工作目錄及其父目錄),但它不需要readdir()返回.and..條目,也不需要將這些.and..實現為實際的目錄條目它們在 Unix 的原始版本中。因此,您可以找到ls -a不報告.也不報告的系統..。在 Linux 上,...沒有作為目錄條目儲存在多個文件系統中,但是readdir()(好吧,getdents()下面的系統呼叫)在這種情況下仍然會偽造它們。

一個相關的(更糟糕的)問題是一些 shell ,.包括. 這就是原因,並且例如作為防止這些外殼的錯誤特徵的保護措施失敗了。..``.*rm -rf .``rm -rf ..

引用自:https://unix.stackexchange.com/questions/656217