Linux基礎知識總結

  自己是個Linux的小菜鳥,一直都想好好學學Linux,但是總也堅持不下來,迄今仍處於剛入門的階段。雖然斷斷續續地學了一些基礎知識,但是很容易就忘記了。因此,決定把看過的一些資料,再加上網上查到的一些內容,對Linux的一些基本知識與概念歸納整理一番,以便加深記憶。 如果有哪裏描述不準確的地方,也希望好心人指出。
1、Linux中的磁盤分區與目錄
    文件系統指文件存在的物理空間,linux系統中每個分區都是一個文件系統,都有自己的目錄層次結構。linux會將這些分屬不同分區的、單獨的文件系統按一定的方式形成一個系統的總的目錄層次結構。Linux的文件結構是單個的目錄樹結構,所有的一切都由根目錄開始,用‘/’代表,延伸至各級子目錄;不像Windows的文件結構是多個並列的樹狀結構,最頂部的是不同的磁盤(分區),如:C,D,E,F等。
對於Linux的磁盤分區與目錄的關係描述如下:
    ①任何一個分區都必須掛載到某個目錄上。 
    ②目錄是邏輯上的區分,分區是物理上的區分。 
    ③磁盤Linux分區都必須掛載到目錄樹中的某個具體的目錄上才能進行讀寫操作。
    ④根目錄是所有Linux的文件和目錄所在的地方,需要掛載上一個磁盤分區。 
        
    假設當前系統目錄結構(根目錄下二級目錄分爲/etc、/dev、/bin…/home)如上圖所示,假設硬盤分了兩個區partition1、partition2(關於硬盤分區相關內容下面介紹),partition1是掛載到根目錄,partition2則是掛載到/home這個目錄。 這也就是說,當我的數據放置在/home內的各次目錄時,數據是放置到partition2分區中的。
---------------------------------------------掛載的概念-----------------------------------------
    當要使用某個設備時,例如要讀取硬盤中的一個格式化好的分區、光盤或軟件等設備時,必須先把這些設備對應到某個目錄上,而這個目錄就稱爲“掛載點(mount point)”,這樣纔可以讀取這些設備,而這些對應的動作就是“掛載”。
--------------------------------------------------------------------------------------------------
2、Linux硬盤分區與設備標識 
    要分區,首先要對一些基本概念進行了解。在Linux系統中,每個裝置都被當成一個文件來對待,各硬件裝置在Linux中都有對應的文件名。
   舉例來說,IDE接口的硬盤的文件名即爲/dev/hd[a-d],SCSI硬盤或SATA硬盤的文件名則表示爲/dev/sd[a-d],其中括號內的字母爲a-d當中的任意一個。如:hda就是第一塊IDE硬盤,sdb就是第二塊SCIS或SATA硬盤。用hda1、hda2、hda5、hda6..來標識不同的分區。sda1、sda2、sda5的意思也是如此。
   其中,字母a 代表第一塊硬盤,b代表第二塊硬盤,依次類推。而數字1 代表一塊硬盤的第一個分區、2 代表第二個分區,依次類推。0 到3 對應的是主分區(Primary Partition)或擴展分區(Extension Partition)。從4開始,對應的都是硬盤的邏輯分區(Logical Partition)。一塊硬盤即使只有一個主分區,邏輯分區也是從5開始編號的,這點應特別注意。
-------------------------------------主分區、擴展分區、邏輯分區---------------------------------
    硬盤分區主要分爲主分區(Primary Partion)和擴展分區(Extension Partion)兩種,且主分區和擴展分區數目之和不能大於四個。主分區一經創建,格式化後可立即使用。擴展分區創建之後,無法直接格式化使用,必須再進行二次邏輯分區(Logical Partion)劃分且格式化後才能使用。邏輯分區劃分沒有數量上的限制。
    ①主分區和擴展分區最多可以有四個(硬盤的限制);
    ②擴展分區最多只能有一個(操作系統的限制);
    ③邏輯分區是在擴展分區內連續劃分出來的分區;
    ④能夠被格式化後,作爲數據存取的分區爲主分區與邏輯分區。擴展分區無法格式化;
    ⑤邏輯分區的數量依操作系統而不同,在Linux系統中,IDE硬盤最多有59個邏輯分區(5號到63號), SATA硬盤則有11個邏輯分區(5號到15號)。
-------------------------------------------------------------------------------------------------

3、Linux各目錄介紹
    上面提到過,Linux的文件結構是單個的目錄樹結構,所有的一切都由根目錄開始,用‘/’代表,延伸至各級子目錄;Linux各種發行版的目錄結構基本一致,各個目錄簡單介紹如下:
/        根目錄,所有的目錄都掛在這個目錄下面。 

/bin     作爲基礎系統所需要的最基礎的命令就是放在這裏。比如 ls、cp、mkdir等命令;功能和/usr/bin類似,這個目錄中的文件都是可執行的,普通用戶都可以使用的命令。
/boot    用來存放與Linux系統啓動有關的程序,比如啓動引導裝載程序等。Linux的內核及引導系統程序所需要的文件,比如 vmlinuz、initrd.img 文件都位於這個目錄中;在一般情況下, GRUB或LILO系統引導管理器也位於這個目錄;啓動裝載文件存放位置,如kernels、initrd、grub。一般獨立分區。

/dev      該目錄包含了Linux系統中使用的所有外部設備,/cdrom該目錄在剛安裝系統時是空的,可以將光驅文件系統掛在這個目錄下。

/etc     系統的配置文件存放地。一些服務器的配置文件也在這裏;比如用戶帳號及密碼配置文件以及各種服務的啓動文件。比較重要的文件有: /etc/inittab, /etc/init.d/, /etc/modprobe.conf, /etc/X11/, /etc/fstab, /etc/sysconfig/ 等等。

/home   存放普通用戶的數據,是普通用戶的宿主目錄,比如用戶user的主目錄就是/home/user。一般獨立分區,這樣即使重裝系統,也不會丟失自己的文件資料。

/lib     庫文件存放地。存放開機會用到的函數庫,以及bin和sbin底下的指令需要的庫文件。作用類似windows裏的.dll文件。尤其重要的是/lib/modules/這個目錄, 因爲該目錄會放置核心相關的模塊(驅動程序)。

/mnt      臨時掛載文件系統。這個目錄一般是用於存放掛載儲存設備的掛載目錄的,比如有cdrom 等目錄。可以參看/etc/fstab的定義

/opt    可選的應用程序包。

/proc   操作系統運行時,進程(正在運行中的程序)信息及內核信息(比如cpu、硬盤分區、內存信息等)存放在這裏。/proc目錄僞裝的文件系統proc的掛載目錄,proc並不是真正的文件系統,它的定義可以參見 /etc/fstab。

/root     系統管理員(root)的家目錄。之所以放在這裏,是因爲如果進入單人維護模式而僅掛載根目錄時,該目錄就能夠擁有root的家目錄,所以我們會希望root的家目錄與根目錄放置在同一個分割槽中。

/sbin     系統管理命令,和bin類似,是一些可執行文件,不過不是所有用戶都需要的,一般是系統管理所需要使用得到的。放在/sbin底下的爲開機過程中所需要的,裏面包括了開機、修復、還原系統所需要的指令。至於某些服務器軟件程序,一般則放置到/usr/sbin/當中;本機自行安裝的軟件所產生的系統執行文件(system binary),則放置到/usr/local/sbin/當中了。常見的指令包括:fdisk, fsck, ifconfig, init, mkfs 等等。

/tmp    公用的臨時文件存儲點。一般系統重啓不會被保存。

/usr      Unix Software Resource的縮寫,Unix操作系統軟件資源所放置的目錄。其中包含:
------------------------------------------------
        /usr/bin        絕大部分的用戶可使用指令(與/bin的不同,是否與開機有關)
        /usr/sbin       非系統正常運作所需要的系統指令
        /usr/share      放置共享文件的地方。/usr/share/man、/usr/share/doc...
        /usr/include    linux下開發和編譯應用程序所需要的頭文件
        /usr/lib         /usr/bin/ 和/usr/sbin/的庫文件
        /usr/src        源代碼,linux內核的源代碼就放在/usr/src/linux裏
        /usr/local/bin  本地增加的命令
        /usr/local/lib   本地增加的庫
        /usr/X11R6     X Window System重要數據所放置的目錄
-------------------------------------------------
/var     用來存放Linux系統中經常變化的數據以及日誌文件。 
……
4、Linux分區規劃
    初學Linux最頭疼的就是在安裝系統時不知道如何去進行分區,自己對這塊也是理解的不太透徹,基本上就是按照網上的資料對系統做個最簡單的分區,做練習之用。對於更復雜的Linux服務器,該如何進行合理的規劃還需要向高手請教。以下是自己摘取了“鳥哥的私房菜”中的有關說明,並結合自己的實踐,整理的一點筆記:
    初次安裝,最簡單的方式是僅分爲[/與swap]兩個分區,由此避免因分區錯誤造成無法安裝。例如/usr是Linux的可執行程序及相關的文件擺放的目錄,容量需求較大,萬一分區時容量給的不夠大,就會出現麻煩!但是這種分區方式的弊端是,一旦某個小細節出錯,可能造成整個根目錄毀掉(因此只做練習之用還行)。
    對於較麻煩一點的分區方案,就是先分析這部主機的未來用途,然後根據用途去分析需要較大容量的目錄, 以及讀寫較爲頻繁的目錄,將這些重要的目錄分別獨立出來而不與根目錄放在一起,那當這些讀寫較頻繁的磁盤分區槽有問題時,至少不會影響到根目錄的系統數據。
我的系統環境如下:
   Linux版本CentOS-5.3-i386;硬盤空間  40G;內存 512M;
   在虛擬機vmware 6.5環境下進行安裝。安裝時跳過系統預設的默認分區,進行自定義分區。考慮分區的合理性,並且主要是個人練習之用,做如下規劃。並預留了一部分空間爲以後練習分區之用。
   /      根目錄,建議大小爲5GB以上。分配10G
   /boot   存放與Linux系統啓動有關的程序。分配100M
----------------------------------------------------------------------------------------------
    對於舊主板上面安裝新的大容量磁盤時,會出現磁盤容量誤判,因此即使可以安裝,但是在開機時,由於BIOS捉到的硬盤是不對的,所以使用硬盤開機可能就會出現無法開機。
   但是BIOS捉到的磁盤容量不對,但是至少在整顆磁盤前面的分區還可以讀到!因此,只要將這個磁盤最前面的容量分出一個小分區,並將這個區與系統啓動文件的放置目錄擺在一起,就是/boot 這個目錄,就可以解決了。/boot給100M Bytes左右即可!/boot要放在整塊硬盤的最前面。
------------------------------------------------------------------------------------------------
   /home   用戶文件存放目錄。 分配5G
   swap    內存置換空間!由於swap並不會使用到目錄樹的掛載, 所以swap不需要指定掛載點。這與操作系統的類型有關,Linux下需要一個EXT2或EXT3格式的硬盤分區作爲根分區,還需要一個SWAP 格式的交換分區,大小與內存大小有關。一般爲內存的1.5-2倍大小。我這裏分配了1G
   安裝過程分區圖如下所示(姑且認爲1G=1000M):

   在添加分區的掛載點爲/boot時,勾選強制爲主分區選項,系統會自動將/boot這個特殊目錄移到磁盤最前面,所以會看到/boot所在的磁盤分區槽爲/dev/sda1,而起始磁柱則爲1號。 

參考資料:
鳥哥的私房菜第三版
http://www.iteye.com/topic/816268
http://www.linuxso.com/linuxrumen/5122.html
http://wenku.baidu.com/view/c97b49bfc77da26925c5b0b9.html
http://linux.chinaunix.net/techdoc/beginner/2007/03/30/953684.shtml
.............

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章