Linux 為什麼嚴格區分大小寫?

時間 2021-05-07 04:01:16

1樓:SyuTingSong

區分大小寫的檔案系統會導致很多問題,比如foobar.jpg和FOOBAR.jpg居然是兩個檔案,或者PyModule和pymodule竟然可以是兩個不同的Python模組,在區分大小寫的系統裡,它們竟然可以同時存在。

不區分大小寫的好處顯而易見,目前Linux檔案系統堅持區分大小寫的原因是要保持向後相容。比如開發乙個軟體,它是在區分大小寫的檔案系統上面開發的,那個操蛋的程式設計師真的寫出了PyModule和pymodule這樣兩個不同的模組,這個程式部署到不區分大小寫的檔案系統上就必然會出問題,反之亦然。

只是為了相容,都是歷史的錯。明明你建立乙個foobar.jpg的時候系統可以提示你已經存在乙個FOOBAR.jpg了,可是區分大小寫的檔案系統就是允許你直接建立。

2樓:pansz

其實,Linux 本身是無所謂是否區分的,只是 ext4 等檔案系統區分而已。

實際上 Linux 上的絕大部分 GNU 軟體在乙個不區分大小寫的檔案系統上也可以跑。cygwin 系列就是個例子,跑的大部分 gnu 軟體,檔案在 Windows 系統下,記錄大小寫但不區分大小寫。

所以答案也許是, Linux 當年最初支援的檔案系統剛好是個區分大小寫的檔案系統而已。但 Linux 其實是可以用不同的檔案系統的。

3樓:

不區分大小寫的檔案系統會導致很多問題,比如 foobar.jpg 和 FOOBAR.jpg 可能是不同的兩個檔案,或者 PyModule 和 pymodule 是兩個不同的 Python 模組,但是在不區分大小寫的檔案系統裡,它們是不可以同時存在的。

區分大小寫的好處顯然易見,而目前的檔案系統依然堅持不區分大小寫的原因是要保持向後相容。比如開發乙個軟體,它是在不區分大小寫的檔案系統上面開發的,如果把它部署到區分大小寫的檔案系統上的話,有可能會出問題;反之亦然。

只是為了相容,都是歷史的錯,不是因為做起來容易。

郵箱名稱區分大小寫嗎?

樓上說的都太尼瑪武斷了!首先根據標準,email address的 local part 在smtp是要求 MUST 保留大小寫的 domain則是按照dns解析規則 但是在實踐中 不推薦 區分大小寫。也就是,郵件服務一定會在資訊裡保留你發件人收件人的大小寫情況,但是在傳送的時候,可選擇性是否大小寫...

為什麼英文有大小寫?

呂鳳娥 英文本母,即現在英文 English 所根據的字母,共26個。現代的英文本母完全借用了26個拉丁字母。所謂 拉丁字母 就是古羅馬人所運用文字的字母。英文本母的大小寫放在四線三格中的寫法如下 英文本母並非是由英中國人創造的,英文本母是在約3500年前由腓尼基人創造的。腓尼基人精於帆海和經商,他...

為什麼git預設不區分資料夾大小寫?

Hoyt Ren 因為你裝的是win版,預設配置了不區分大小寫。需要區分的話,改下配置就行了。如 Jason 所說 git config core.ignorecase false如需全域性修改,可以用 global 引數,否則只對當前活動目錄所在庫生效。當然,首先你得把win改成支援大小寫,否則麻...