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