Ls
使用 ls -a 與 ls -A
有什麼理由有人會
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 ..