我們都知道,在 視窗 下隱藏文件夾是看不到的,它們有的是系統文件,而有的則是病毒。如果非要顯示的話,經過系統的警告之後,你可以以半透明的文件夾的形式看到這個文件夾,系統以此來標識一個文件夾是隱藏的,它有著“-小號”的屬性,受到系統保護。
那麼很多人剛剛接觸 Linux、OSX,就會很不習慣,因為這些操作系統的隱藏文件是以點開頭來標記的,這些目錄的名稱甚至都不能在 Windows 下用來給文件夾命名!
當然,如果是提前命名好了的,則又可以復制粘貼到 Windows 下,嗯,也可以正常訪問,只不過不再隱藏了——水土不服嘛,要不然你怎麼總能夠在 OSX 上看到 U 盤裡多出來的奇妙目錄呢?
那麼,為什麼 OSX、Linux 要使用這種奇葩的隱藏文件和目錄的方法呢? !像 Windows 一樣,直接來一個“隱藏”的屬性,我們打個勾可好?
其實,這個問題由來已久。
就像 Linux 下每個目錄的命名方式一樣,這個隱藏文件的命名形式是有歷史的:它來自一個命令的 bug.
早在以前,Linux 等操作系統沒有圖形界面,而命令行的話我們想要查看一個目錄,則需要使用命令 ls(由於類 UNIX 操作系統有相對 Windows 更完善的權限機制,倒是並不太需要通過隱藏的方式來保護文件和目錄)
我們都知道,在命令行里無論在哪個目錄,總有兩個目錄永恆存在,那就是 點 和 點點:
1 2 3 4 5 |
╭─r0uter@logcg.local ~ ╰─➤ ls -al total 877056 drwxr-xr-x@ 79 r0uter staff 2686 6 27 23:42 . drwxr-xr-x 7 root admin 238 6 13 17:12 .. |
一個點代表了當前目錄,兩個點代表了上級目錄,所以我們會使用切換目錄命令(光盤)通過切換到兩個點來表示轉到上級(Windows 中則是“起色“)。
1 |
#cd .. |
那麼一般這一個點這個沒什麼用處——或者說意義不大,所以 ls 默認不會顯示這個目錄,即隱藏掉了這個點,只留下了點點。
但一個目錄裡總有那麼幾個平時不用但必須存在的文件(比如配置文件配置目錄之類的),能夠隱藏可好?(終於有人發出了隱藏的需求!)
後來人們就發現 ls 命令有個 bug,所有以點開頭的名稱好像都不會被顯示呀!
所以這樣隱藏文件的方法一來二去就傳開了——時至今日,bug 變成了 feature。
😃
本文由 落格博客 原創撰寫:落格博客 » 為什麼 UNIX 等系統的隱藏目錄以點開頭?
轉載請保留出處和原文鏈接:https://www.logcg.com/archives/1032.html
剛測試了一下,ls默認不會顯示點和點點,所以用點開頭代表隱藏文件挺好的,但是ls -a是可以顯示所有的。
挺有意思,今天看到cp命令目標是 ~/.oh-my-zsh,然後切換到~目錄發現沒有這個目錄,就想了解下這個問題了,獲益良多,謝謝
原來是這麼回事