『學了就忘』Linux基礎 — 16、Linux系統與Windows系統的不同

繁華似錦Fighting發表於2021-11-02

這篇文章主要羅列Windows系統和Linux系統最常見的一些區別。

1、Linux嚴格區分大小寫

Linux是嚴格區分大小寫的,這一點和Windows系統不一樣,所以操作時要注意區分大小寫。

包括檔名和目錄名、命令、命令選項、配置檔案設定選項等。

Tips:

  • Linux系統中大寫的不多,常用就幾個,遇到用心記一下就行。
  • Linux系統中的命令,是沒有大寫的,命令後跟的選項是有大寫的。

2、Linux一切皆檔案

Linux中所有內容都是以檔案的形式儲存和管理的,硬體裝置也是檔案,這和Windows完全不同。Windows是通過裝置管理器來管理硬體的。Linux的裝置檔案儲存在/dev/目錄中,硬碟檔案是/dev/sd[a-p],光碟檔案是/dev/hdc等。

注意:

到底一個配置會不會永久生效,就看一件事,配置會不會寫入對應的配置檔案中。

如果寫入了配置檔案中,這就會是個永久生效,否則反之。

大多數通過命令生效的都是臨時生效,要想永久生效,一般會修改配置檔案。

說明:

  • 永久生效:無論關機還是重啟,配置都不會消失的。
  • 臨時生效:現在生效,重啟就不在生效了。

3、Linux不靠副檔名區分檔案型別

(1)Windows系統中的檔案型別

Windows是依賴副檔名區分檔案型別的,一個檔案的名稱組成是檔名+副檔名。而檔案的型別,就看副檔名來決定。比如,.txt是文字檔案、.exe是執行檔案、.ini是配置檔案、.mp4是小電影等。

說明:

Windows系統,基本上每一種型別的軟體,都有對應的副檔名。

換句話說, 每一個不同型別的副檔名檔案,都需要不同的軟體才能開啟。

(2)Linux系統中的檔案型別

Linux不是靠副檔名區分檔案型別的

Linux是靠許可權位標識來確定檔案型別的,而且檔案型別的種類也不像Windows下那麼多,常見的檔案型別只有普通檔案、目錄、連結檔案、塊裝置檔案、字元裝置檔案等幾種。

說明:

Linux中檔案的型別,你寫也行,不寫也行,沒有硬性要求。比如你建立一個abc.exe檔案,在Windows系統系統中就是一個可執行檔案,而在Linux系統中,就是一個普通文字。

但是,我們絕大多數的人都是先接觸Windows系統作業系統,而Windows系統通過副檔名來標識檔案型別也相對於Linux系統更為清晰,所以在Linux系統中建立常用的檔案,檔名還是寫上對應的副檔名,這樣好分別,好記憶,儘管只是個名稱。

提示:Linux系統下常見的檔案型別為7種,如果在加上Unix和一些不常見的檔案型別,大概有12種左右。

(3)Linux的可執行檔案不過就是普通檔案被賦予了可執行許可權而已

但Linux中的一些特殊檔案還是強制要求寫“副檔名”的,但是大家小心,並不是Linux一定要靠副檔名來識別檔案型別,寫這些副檔名是為了幫助管理員來區分不同的檔案型別。這樣的副檔名主要有以下幾種。

  • 壓縮包:Linux下常見的壓縮檔名有:.gz.bz2.zip.tar.gz.tar.bz2.tgz等。

    為什麼壓縮包一定要寫副檔名呢?

    原因是Linux系統中的壓縮型別比Windows系統的要多(Windows系統常見的壓縮格式:.zip.rar.7z,而Linux系統有十幾種之多),如果不寫清楚副檔名,那麼管理員不容易判斷壓縮包的格式。

    而且Linux系統每種不同的壓縮包,解壓縮的命令或者方式是不一樣的。

    之前上邊說過Linux系統中檔案是不強制寫副檔名的,但之所以強制推薦要寫上,不是方便Linux系統進行區分,而是方便管理員來進行區分的。

    雖然有命令可以幫助判斷,但是直觀一點更加方便。另外,就算沒寫副檔名,在Linux中一樣可以解壓縮,不影響使用。

  • 二進位制軟體包:CentOS中所使用的二進位制安裝包,是RPM包。所有的RPM包都用.rpm副檔名結尾,目的同樣是讓管理員一目瞭然。

  • 程式檔案(或者指令碼):Shell指令碼一般用.sh副檔名結尾,其他還有用.c”副檔名結尾的C語言檔案等。

    原因一:也是給管理員檢視方便的。
    原因二:Linux系統預設可以識別一些指令碼,如果是可識別的指令碼Shell指令碼,如果你把檔案的副檔名寫上.sh,Linux就知道你寫的程式是Shell指令碼。編輯的時候就會有顏色,格式等出現提示。

  • 網頁檔案:網頁檔案一般使用.html.php等結尾,不過這是網頁伺服器的要求(如Apache),而不是Linux的要求(強制)。

4、Linux中所有的儲存裝置都必須在掛載之後才能使用

Linux中所有的儲存裝置都有自己的裝置檔名,這些裝置檔案必須在掛載之後才能使用,包括硬碟、U盤和光碟。

掛載:簡單的說就是把裝置檔案(如/dev/sdb)和掛載點(已經建立的空目錄)連線的過程叫作掛載。相當於在Windows系統中給你的儲存裝置分配碟符。

而Windows中的碟符用英文字母表示,而Linux中的碟符則是一個已經建立的空目錄。我們把這些空目錄叫作掛載點(可以理解為Windows的碟符)。

擴充套件瞭解:

Linux中硬碟是全自動掛載的(如/dev/sdb),開機之後自動進行掛載,而U盤和光碟需要手動進行掛載。

既然Linux系統識別自動掛載,為什麼U盤和光碟也設定設定成自動掛載?
不行的,因為Linux系統是無條件信任管理員,如果設定成開機自動掛載U盤和光碟,那麼Linux系統開機的時候,就必須一定要掛載U盤和光碟。
萬一有一次在開機時候忘記放U盤和光碟,Linux系統會認為你欺騙了它純潔感情,它會死給你看的(導致直接系統啟動失敗)。
這種啟動失敗修復並不難,但是要修復就一定要拿到本機的,因為伺服器一般都不放到本地的,是放在遠端機房管理的。

5、Windows下的程式不能直接在Linux中使用

Linux和Windows是不同的作業系統,可以安裝和使用的軟體也是不同的,所以能夠在Windows中安裝的軟體是不能在Linux中安裝的。

有好處嗎?
當然有,那就是能夠感染Windows的病毒和木馬都對Linux無效。

有壞處嗎?
也有,那就是所有的軟體要想在Linux中安裝,必須單獨開發針對Linux的版本,或者依賴模擬器軟體執行。

很多軟體也會同時推出針對Windows和Linux的版本,如大家熟悉的即時通訊軟體QQ。

相關文章