這篇文章主要羅列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。