linux系統目錄結構介紹篇
linux系統有其特定的文件系統的目錄組織結構,了解這些目錄結構是學習基本知識的基本。下面我以redhatlinux為藍本介紹一下這些目錄結構。
目錄名
簡介
/bin
這個目錄是系統中最主要的可執行文件的存放地,這些可執行文件大都是linux系統裡最常用的命令了,一般用戶和超級用戶都會經常使用其下的命令,如:ls、su、mount等。
/etc
是系統內部存放配置文件的最主要場所,一般和系統關系十分密切的配置文件都放在該目錄下,也就是說對系統的配置主要就是對該目錄下的文件進行修改。在該目錄下大多是文本文件。,比如:inittab、lilo.conf等。
/lost+found
主要是系統有毛病的時候存放文件的地方,正常情況下可以不去理會。
/root
超級用戶root的默認主目錄,對一般用戶來說該目錄是沒有進入權限的。一般自己的文件都考到自己的主目錄下面,以免打亂原來的系統層次結構。
/tmp
和dos或windows的temp目錄相同,也就是該目錄下面存放臨時文件。
/boot
這個是redhatlinux特有的目錄,存放系統啟動的時候的內核文件和其他一些信息文件。有的發行版本就沒有這個目錄,而是把這些東西放在根目錄下。
/home
這是系統默認的普通用戶的主目錄的根目錄,也就是普通用戶的主目錄設置為:/home/[userid]目錄。
/mnt
是系統提供安裝額外文件系統時候的安裝目錄,這個主要的目的是為了不打亂原來的目錄系統結構,否則安裝在哪裡都是可以的。只要那個目錄沒被使用。
/sbin
和/bin一樣,主要是存放可執行文件的場所,只不過這裡的可執行文件主要是給超級用戶管理管理系統時使用的,普通用戶幾乎沒有權限執行其中的程序。如:mke2fs、ifconfig等。
/usr
這個目錄是linux系統裡面占用磁盤空間最大的目錄,該目錄下面有許多應用程序,他的子目錄也比較復雜,而且系統之間還有好多不同,我將在下一張表格裡介紹它。
/dev
這個目錄下面的所有文件都是特殊文件,linux系統把所有的外設都看成是一個文件,就是說你對代表該外設的文件的操作就表示對該外設的操作。所以說/dev對系統是相當重要的。比如你想對軟盤進行EXT2文件系統的格式化,那麼就要這樣做:mke2fs /dev/fd0,這裡的fd0就代表軟盤驅動器。
/lib
存放系統的鏈接庫文件,沒有該目錄則系統就無法正常運行。我曾試著給該目錄改名,結果任何命令都無法運行,只好用軟盤啟動機器再安裝好文件系統才解決這個問題,可見其重要性。
/proc
這個目錄中的文件其實不是存放在磁盤上的,該目錄的文件系統叫做proc文件系統,是系統內核的映像。也就是說該目錄裡面的文件是存放在系統內存裡面。可以通過察看這些文件來了解系統的運行情況。這個目錄不要隨意動,稍有不慎就可能導致系統的鎖死。
/var
主要是一些系統記錄文件的存放地,同時也存放一些系統的配置文件。因系統不同而異。
/usr目錄結構:
目錄名
簡介
/usr/x11r6
主要是xwindows的目錄,下面還有子目錄的結構大致和根目錄相同。
/usr/games
安裝時選擇的游戲都在這裡。
/usr/src
主要是系統內核或其他程序的源程序。
/usr/bin
和/bin一樣都是一些用戶級別的可執行文件。
/usr/i486-linux-libc5
試linux的一些庫文件,用於編譯可執行文件或者是程序執行當中的鏈接。
/usr/local
是本地目錄結構層次,也就是後來安裝的程序盡量把自身加入到該目錄裡面。該目錄也是有結構的目錄,其子結構的用途和作用也類似於根目錄。
/usr/tmp
是非系統級別的臨時文件的存放地。
/usr/include
這個目錄是存放編譯程序所包含的頭文件的主要目錄。
/usr/man
這是系統中的聯機手冊也就是幫助文檔的主要存放地。
/usr/doc
存放一些系統的說明文檔和一些HOWTO文件。
/usr/sbin
和/sbin差不多。
/usr/lib
編譯時的鏈接庫文件。
Linux系統設置篇
要管理好一個系統,從某種意義上來說對系統文件的設置占有及其重要的地位。鑒於linux系統的復雜性,在這裡我只對/etc目錄下的那些重要文件做一個簡單的介紹。
DIR_COLORS:
該文件指定了系統哪些終端可以使用彩色的模式,定義了不同文件類型在列出時的不同顏色。可以自己修改這些設置。或把文件拷貝到自己主目錄下面的.dir_colors,然後自己修改這個文件,以使用個人設置。
HOSTNAME:
該文件記錄了本地主機的主機名和域名,使用主機名.域名的格式,比如ttqq.tsinghua.edu.cn裡面的ttqq就是主機名,而tsinghua.edu.cn則是域名。
BASHRC:
該文件定義使用bash為shell時自動執行的一個配置文件,其中可以放置一些需要運行的命令和別名設置,如:
PS1="[\u@\h\w]\\$" 〔定義系統提示符方式〕
Alias which="type -path" 〔定義which命令為type -path的別名〕
Alias ls="ls -color" 〔定義ls命令為代-color參數的ls命令〕
Alias rm="rm -f" 〔定義rm命令為代-f參數的命令〕
CRONTAB:
該文件定義了系統自動執行的進程。對crontab分的比較詳細,分成了按小時、日、星期、月自動執行。
CSH.CSHRC:
該文件是使用csh作為系統shell時的處始化文件,就象bashrc文件對於bash一樣。
FDPRM:
該文件是系統配置軟盤驅動器的參數文件,普通軟盤驅動器的參數列表如下:
# size sec/t hds trk stre gap rate spec1 fmt_gap 360/360 720 9 2 40 0 0x2A 0x02 0xDF 0x50 1200/1200 2400 15 2 80 0 0x1B 0x00 0xDF 0x54 360/720 720 9 2 40 1 0x2A 0x02 0xDF 0x50 720/720 1440 9 2 80 0 0x2A 0x02 0xDF 0x50 720/1440 1440 9 2 80 0 0x2A 0x02 0xDF 0x50 360/1200 720 9 2 40 1 0x23 0x01 0xDF 0x50 720/1200 1440 9 2 80 0 0x23 0x01 0xDF 0x50 1440/1440 2880 18 2 80 0 0x1B 0x00 0xCF 0x6C
這裡大概包括了主要軟驅的參數,如果以後你有特殊的軟驅,那麼就可以按上面的格式寫出他的參數設置。
FSTAB:
該文件比較重要,是系統啟動時自動安裝上的文件系統備置表文件。下面給出一個實際文件,然後在介紹其中內容:
/dev/hda6 / ext2 defaults 1 1 /dev/hda7 swap swap defaults 0 0 /dev/fd0 /mnt/floppy supermount fs=vfat,dev=/dev/fd0 0 0 /dev/cdrom /mnt/cdrom supermount fs=iso9660,dev=/dev/cdrom,ro 0 0 /dev/hda1 /mnt/c vfat defaults 0 0 /dev/hda5 /mnt/d vfat defaults 0 0 none /proc proc defaults 0 0
可以看出來,每一行由六項組成,其中每一項的意思為:
1. 描述欲安裝文件系統的設備。
2. 描述安裝的目錄,也就是安裝點。
3. 描述安裝設備上的文件系統。
4. 描述安裝時的安裝方式。
5. 使dump程序對該文件系統處理時的標志位。
6. 在啟動fsck程序對文件系統進行檢查時的標志位。
現在我結合以上內容來對這個文件進行解釋:
第一行:將首先安裝/dev/hda6為根文件系統,文件系統類型為ext2,使用默認安裝方式。
第二行:將安裝/dev/hda7為swap分區,使用swap文件系統,參數表示是交換分區,使用默認安裝方式。