Linux檔名小寫的好處(轉)
說明:來自老阮的《為什麼檔名要小寫》的文章,其實我覺得應該說是《Linux檔名為什麼要小寫》會更合適些。
一、可移植性
Linux 系統是大小寫敏感的,而 Windows 系統和 Mac 系統正好相反,大小寫不敏感。一般來說,這不是大問題。
但是,如果兩個檔名只有大小寫不同,其他都相同,跨平臺就會出問題。
foobar
Foobar
FOOBAR
fOObAr
上面四個檔名,Windows 系統會把它們都當作foobar
。如果它們同時存在,你可能沒辦法開啟後面三個檔案。
另一方面,在 Mac 系統上開發時,有時會疏忽,寫錯大小寫。
// 正確檔名是 MyModule.js const module = require('./myModule');
上面的程式碼在 Mac 上面可以執行,因為 Mac 認為MyModule.js
和myModule.js
是同一個檔案。但是,一旦程式碼到伺服器執行就會報錯,因為 Linux 系統找不到myModule.js
。
如果所有的檔名都採用小寫,就不會出現上面的問題,可以保證專案有良好的可移植性。
二、易讀性
小寫檔名通常比大寫檔名更易讀,比如accessibility.txt
就比ACCESSIBILITY.TXT
易讀。
有人習慣使用駝峰命名法,單詞的第一個字母大寫,其他字母小寫。這種方法的問題是,如果遇到全部是大寫的縮略詞,就會不適用。
比如,一個姓李的紐約特警,無論寫成NYPoliceSWATLee
還是NyPoliceSwatlee
,都怪怪的,還是寫成ny-police-swat-lee
比較容易接受。
三、易用性
某些系統會生成一些預置的使用者目錄,採用首字母大寫的目錄名。比如,Ubuntu 在使用者主目錄會預設生成Downloads
、 Pictures
、Documents
等目錄。
Mac 系統更過分,一部分系統目錄也是大寫的,比如/Library/Audio/Apple Loops/
。
另外,某些常見的配置檔案或說明檔案,也採用大寫的檔名,比如Makefile
、INSTALL
、CHANGELOG
、.Xclients
和.Xauthority
等等。
所以,使用者的檔案都採用小寫檔名,就很方便與上面這些目錄或檔案相區分。
如果你打破砂鍋問到底,為什麼作業系統會採用這樣的大寫檔名?原因也很簡單,因為早期 Unix 系統上,ls
命令先列出大寫字母,再列出小寫字母,大寫的路徑會排在前面。因此,如果目錄名或檔名是大寫的,就比較容易被使用者首先看到。
四、便捷性
檔名全部小寫,還有利於命令列操作。比如,某些命令可以不使用-i
引數了。
# 大小寫敏感的搜尋 $ find . -name abc $ locate "*.htmL" # 大小寫不敏感的搜尋 $ find . -iname abc $ locate -i "*.HtmL"
另外,大寫字母需要按下 Shift 鍵,多多少少有些麻煩。如果檔名小寫,就不用碰這個鍵了,不僅省事,還可以提高打字速度。
程式設計師長時間使用鍵盤,每分鐘少按幾次 Shift,一天下來就可以省掉很多手指動作。長年累月,也是對自己身體的一種保護。
綜上所述,檔名全部使用小寫字母和連詞線(all-lowercase-with-dashes),是一種值得推廣的正確做法。
參考:
http://www.ruanyifeng.com/blog/2017/02/filename-should-be-lowercase.html(以上內容轉自此篇文章)
==>如有問題,請聯絡我:easonjim#163.com,或者下方發表評論。<==相關文章
- 處理檔名內含有特殊字元的檔案 (轉)字元
- 寫得蠻好的linux學習筆記(轉)Linux筆記
- 簡訊跳轉微信小程式有哪些好處?微信小程式
- Linux系統檔案型別及檔案的副檔名(轉)Linux型別
- MySQL 讀寫分離的好處MySql
- 處理Windows 95的長檔名中斷詳解 (轉)Windows
- 將大量檔案的擴充名中大寫字母改為小寫:Python實現Python
- Linux 下如何處理包含空格和特殊字元的檔名Linux字元
- 寫好C程式的秘籍(轉)C程式
- MySQL批量轉換表名為小寫(Python指令碼)MySqlPython指令碼
- linux下檔名的操作Linux
- 關於applet寫入檔案的處理 (轉)APP
- Linux特殊檔名Linux
- 寫技術部落格的無限好處
- 小程式實現手寫簽名
- linux 列目錄時顯示中文檔名 (轉)Linux
- 今天上午寫的perl---用於鈴音檔名的轉換
- 批量處理檔名稱(上)
- P處理 批量更改檔名
- tar不能處理長檔名
- 蘋果企業簽名與其他簽名區別與好處蘋果
- Linux下加掛檔案系統的小結(轉)Linux
- 程式碼簽名證書原理及好處
- 小知識:講述Linux命令別名與資原始檔的區別Linux
- Linux 批量修改檔名Linux
- git提交時支援檔名大小寫的修改Git
- Linux學習筆記 檔案讀寫小細節Linux筆記
- 轉Java開發 Java 小寫轉大寫Java
- 小寫轉大寫金額[SQL SERVER] (轉)SQLServer
- SHELL技巧:處理檔名中的那些空格
- 批量重新命名簽名好以後的檔案
- 檔案下載檔名亂碼處理
- 獲取檔案字尾名的比較好的方法
- git預設忽略檔名大小寫Git
- Linux中顯示FAT等分割槽上的漢字檔名(轉)Linux
- Linux下的檔案及檔案字尾名Linux
- 小程式開發對電商好處有?
- Linux的好處有哪些?Linux運維學習Linux運維