通過安裝並體驗 Linux 系統,讀者應該能發現 Linux 與 Windows 的一些不同之處,本節就幾個容易讓初學者混淆的問題做重點講解,以便加深讀者對 Linux 系統的認識。
Linux 嚴格區分大小寫
和 Windows 不同,Linux 是嚴格區分大小寫的,包括檔名和目錄名、命令、命令選項、組態檔設定選項等。
例如,Windows 系統桌面上有一個名為 Demo 的資料夾,當我們在桌面上再新建一個名為 demo 的資料夾時,系統會提示資料夾命名衝突;而 Linux 系統不會,Linux 系統認為 Demo 檔案和 demo 檔案不是同一個檔案,因此在 Linux 系統中,Demo 檔案和 demo 檔案可以位於同一目錄下。
因此,初學者在操作 Linux 系統時要注意區分大小寫的不同。
Windows 下的程式不能直接在 Linux 中使用
Linux 和 Windows 是不同的作業系統,兩者的安裝軟體不能混用。例如,Windows 系統上的 QQ 軟體安裝包無法直接放到 Linux 上使用。
系統之間存在的這一差異,有弊也有利。弊端很明顯,就是所有的軟體要想安裝在 Linux 系統上,必須單獨開發針對 Linux 系統的版本(也可以依賴模擬器軟體執行);好處則是能感染 Windows 系統的病毒(或木馬)對 Linux 無效。
由於系統間存在差異,很多軟體會同時推出針對 Windows 和 Linux 的版本,如大家熟悉的即時通訊軟體 QQ,既有 Windows 系統下的 QQ 版本,也有適用於 Linux 系統的 QQ for Linux 版本。
Linux 不靠擴充套件名區分檔案型別
我們都知道,Windows 是依賴擴充套件名區分檔案型別的,比如,".txt" 是文字檔案、".exe" 是執行檔案、".ini" 是組態檔、".mp4" 是小電影等。但 Linux 不是。
Linux 系統通過許可權位標識來確定檔案型別,且檔案型別的種類也不像 Windows 下那麼多,常見的檔案型別只有普通檔案、目錄、連結檔案、塊裝置檔案、字元裝置檔案等幾種。Linux 的可執行檔案不過就是普通檔案被賦予了可執行許可權而已。
Linux 中的一些特殊檔案還是要求寫 "擴充套件名" 的,但大家小心,並不是 Linux 一定要靠擴充套件名來識別檔案型別,寫這些擴充套件名是為了幫助管理員來區分不同的檔案型別。這樣的副檔名主要有以下幾種:
-
壓縮包:Linux 下常見的壓縮檔名有 *.gz、*.bz2、*.zip、*.tar.gz、*.tar.bz2、*.tgz 等。為什麼壓縮包一定要寫擴充套件名呢?很簡單,如果不寫清楚擴充套件名,那麼管理員不容易判斷壓縮包的格式,雖然有命令可以幫助判斷,但是直觀一點更加方便。另外,就算沒寫擴充套件名,在 Linux 中一樣可以解壓縮,不影響使用。
-
二進位制軟體包:CentOS 中所使用的二進位制安裝包是 RPM 包,所有的 RPM 包都用".rpm"擴充套件名結尾,目的同樣是讓管理員一目了然。
-
程式檔案:Shell 指令碼一般用 "*.sh" 擴充套件名結尾,其他還有用 "*.c" 擴充套件名結尾的 C 語言檔案等。
-
網頁檔案:網頁檔案一般使用 "*.php" 等結尾,不過這是網頁伺服器的要求,而不是 Linux 的要求。
在此不一一列舉了,還有如日常使用較多的圖片檔案、視訊檔、Office 檔案等,也是如此。
Linux 中所有內容(包括硬體裝置)以檔案形式儲存
Linux 中所有內容都是以檔案的形式儲存和管理的(硬體裝置也是檔案),這和 Windows 完全不同,Windows 是通過裝置管理器來管理硬體的。比如說,Linux 的裝置檔案儲存在
/dev/
目錄中,硬碟檔案是
/dev/sd[a-p]
,光碟檔案是
/dev/hdc
等。
徹底搞明白“Linux一切皆檔案”,請閱讀《Linux一切皆檔案》一文。
Linux中所有儲存裝置都必須在掛載之後才能使用
Linux 中所有的儲存裝置都有自己的裝置檔名,這些裝置檔案必須在掛載之後才能使用,包括硬碟、U 盤和光碟。
掛載其實就是給這些儲存裝置分配碟符,只不過 Windows 中的碟符用英文字母表示,而 Linux 中的碟符則是一個已經建立的空目錄。我們把這些空目錄叫作掛載點(可以理解為 Windows 的碟符),把裝置檔案(如 /dev/sdb)和掛載點(已經建立的空目錄)連線的過程叫作掛載。這個過程是通過掛載命令實現的,具體的掛載命令後續會講。