在Linux中,所有的文件與目錄都由根目錄 / 開始。
反正開頭不是 / 就屬于相對路徑的寫法
.:表示當前目錄,也可以使用 ./ 來表示。 ..:表示上一層目錄,也可以 ../ 來表示。
目錄
|
應放置的文件內容
|
/
|
根目錄root(/),一般建議在根目錄下面只有目錄,不要直接有文件。根目錄是啟動時系統第一個載入的分區,所以,所有啟動過程會用到的文件應該都放在這個分區中。舉例來說,/etc、/bin、/dev、/lib、/sbin這5個子目錄都應該要與根目錄連在一起,不可獨立成為某個分區
|
/bin, /usr/bin, /usr/local/bin
|
除了 /bin之外,/usr/local/bin、/usr/bin也是放置“用戶可執行的二進制文件的目錄”。舉例來說,ls、mv、rm、mkdir、rmdir、gzip、tar、cat、cp、mount等重要命令都放在這個目錄中
|
/boot
|
這個目錄的主要目的是放置Linux系統啟動會用到的文件。啟動會用到Linux的核心文件。這個目錄下面的文件vmlinuz就是Linux的核心。非常重要。如果引導程序(loader)選擇grub,那么這個目錄內還有 /boot/grub子目錄
|
/dev
|
在Linux系統上,任何設備都以文件類型存在于這個目錄中。存取這個目錄下面的某個文件,就等于存取某個設備。設備又分為字符設備(character device),例如鍵盤、鼠標等;以及塊設備(block device),例如硬盤、光盤等等。在此目錄下的文件會多出兩個屬性,分別是主設備號(major device number)與輔設備號(minor device number)。系統核心就是通過這兩個號碼來判斷設備的。重要的文件有 /dev/null、/dev/tty[1-6]、/dev/ttyS*、/dev/lp*、/dev/hd*、/dev/sd* 等等
|
/etc
|
系統主要的設置文件幾乎都放在這個目錄內,例如人員的賬號密碼文件、各種服務的起始文件等等。一般來說,這個目錄下的各文件屬性是可以讓一般用戶查看的,但只有root有權修改。并且,在此目錄下的文件幾乎都是ASCII的純文本文件。不過,FHS建議不要在這個目錄中放置可執行文件。比較重要的文件有:/etc/inittab、/etc/init.d/、/etc /modprobe.conf、/etc/X11、/etc/fstab、 /etc/sysconfig/ 等等。另外,其下重要的目錄有:
· /etc/init.d/:所有服務的默認啟動腳本都放在這里,例如要啟動或者關閉iptables的話:
/etc/init.d/iptables start
/etc/init.d/iptables stop
|
|
· /etc/xinetd.d/:這就是所謂的超級守護程序(super daemon)管理的各項服務的設置文件目錄。
· /etc/X11:與X Window有關的各種設置文件都在這里,尤其是xorg.conf或XF86Config這兩個X Server的設置文件
|
/home
|
這是系統默認的用戶家目錄(home directory)。在新增一般用戶賬號時,默認的用戶家目錄都會放到這里。比較重要的是,家目錄有兩種代號:
~:表示當前這個用戶的家目錄,而
~dmtsai:則表示dmtsai的家目錄
|
/lib, /usr/lib, /usr/local/lib
|
系統會使用到的函數庫的目錄。程序在運行過程中,可能會調用一些額外的功能參數,這需要函數庫的協助。這些函數庫就放在此處。比較重要的是 /lib/modules目錄內會放核心的相關模塊
|
/lost+found
|
系統出現異常,產生錯誤時,會將一些遺失的片段放于此目錄下,通常這個目錄會自動出現在某個分區最頂層的目錄下。例如在 /disk中加裝硬盤,在這個目錄下就會自動產生一個這樣的目錄: /disk/lost+found
|
/mnt
/media
|
這是軟盤與光盤的默認載入點;通常軟盤掛在 /mnt/floppy下,而光盤掛在 /mnt/cdrom下,不過也不一定。隨便找一個地方來載入也可以。另外,當前也規劃出另一個 /media的目錄。與 /mnt有點類似
|
/opt
|
這是給主機額外安裝軟件所放的目錄。舉例來說,FC4使用Fedora團體開發的軟件,如果今天想要自行安裝新的KDE桌面軟件,可以將該軟件安裝在這個目錄下。不過,以前的Linux系統中,我們還是習慣放在 /usr/local目錄下
|
/proc
|
這個目錄本身是一個“虛擬文件系統”。它放置的數據都在內存中,例如系統核心、形成信息、外部設備的狀態及網絡狀態等等。因為這個目錄下的數據都在內存中,所以本身不占任何硬盤空間。比較重要的文件有/proc/cpuinfo、/proc/dma、/proc/ interrupts、/proc/ioports、/proc/net/* 等等
|
/root
|
系統管理員(root)的家目錄。之所以放在這里,是因為我們提過,系統第一個啟動就載入的分區為 /,而我們希望 /root能夠與 / 放在同一塊分區上
|
/sbin, /usr/sbin, /usr/local/sbin
|
放一些系統管理員才會用到的執行命令,例如:fdisk、mke2fs、fsck、mkswap、mount等等。與 /bin不太一樣的地方是,這幾個目錄是給root等系統管理用的。但本目錄下的執行文件還是可以讓一般用戶用來“查看”而不能設置
|
/srv
|
一些服務啟動之后,這些服務所需要取用的數據目錄。舉例來說,WWW服務器需要的網頁數據就可以放在 /srv/www里
|
/tmp
|
這是讓一般用戶或者是正在執行的程序臨時放置文件的地方。這個目錄是任何人都能存取的,所以需要定期清理。當然,重要數據不可放在此目錄
|
/usr
|
根據FHS規范的第二層內容,在 /usr目錄下,包含系統的主要程序、圖形界面所需要的文件、額外的函數庫、本機自行安裝的軟件,以及共享的目錄與文件等等。事實上,它有點像Windows操作系統中的“Program files”與“WinNT”這兩個目錄的結合。在此目錄下的重要子目錄有:
· /usr/bin, /usr/sbin:一般身份用戶與系統管理員可執行的文件放置目錄。
· /usr/include:c/c++ 等程序語言的文件頭(header)與包含文件(include)放置處,當以tarball方式(*.tar.gz的方式安裝軟件)安裝某些數據時,會使用到里頭的許多包含文件。
· /usr/lib:各應用軟件的函數庫文件放置目錄。
· /usr/local:本機自行安裝的軟件默認放置的目錄。當前也適用于 /opt目錄。在安裝完Linux之后,基本上所有的配置都有了,但軟件總是可以升級的,例如要升級代理服務,則通常軟件默認的安裝地方就是在 /usr/local(local是“當地”的意思),同時,安裝完畢之后所得到的執行文件,為了與系統原執行文件有分別,升級后的執行文件通常放在 /usr/local/bin。建議將后來才安裝的軟件放在這里,便于管理
|
|
· /usr/share:共享文件放置的目錄,例如下面兩個目錄:
n /usr/share/doc:放置一些系統幫助文件的地方,例如安裝了grub,那么在該目錄下面找一找,就可以查到lilo的幫助文件了。很方便。
n /usr/share/man:manpage的文件文件目錄。就是使用man的時候查詢的路徑。例如使用man ls命令時,就會查出 /usr/share/ man/man1/ls.1.gz幫助文件的內容。
Ÿ /usr/src:Linux系統相關的程序代碼放置目錄,例如 /usr/ src/linux為核心源碼。
Ÿ /usr/X11R6:系統內的X Window System所需的執行文件幾乎都放在這里
|
/var
|
這個目錄也很重要,也是FHS規范的第二層目錄內容。它主要放置系統執行過程中經常變化的文件。舉例來說,例如緩存(cache)或者是隨時更改的登錄文件(log file)。此外,某些軟件執行過程中會寫入的數據庫文件,例如MySQL數據庫,也都寫入這個目錄中。很重要。它下面的重要目錄有:
· /var/cache:程序文件在運行過程當中的一些暫存盤。
· /var/lib:程序執行的過程中,需要使用到的數據文件放置的目錄。舉例來說,locate數據庫與MySQL及rpm等數據庫系統,都寫在這個目錄內。
· /var/log:登錄文件放置的目錄。很重要。例如 /var/log/ messages就是總管所有登錄文件的文件。
· /var/lock:某些設備具有一次性寫入的特點,例如tab(磁帶機),此時,為了避免被其他人干擾而破壞正在運行的操作,因此,會將該設備lock(鎖)起來,以確定該設備只能被單一程序所用。
· /var/run:某些程序或者是服務啟動后,會將它們的PID放在這個目錄下。
· /var/spool:是一些隊列數據存放的地方。舉例來說,主機收到電子郵件后,就會放到 /var/spool/mail中,若信件暫時發不出去,就會放到 /var/spool/mqueue目錄下,用戶工作任務分配(cron)則是放在 /var/spool/cron中
|
cd是Change Directory(改變目錄)的縮寫,這是用來切換工作目錄的命令。
pwd是Print Working Directory(顯示工作目錄)的縮寫,也就是顯示當前所在目錄,
加上pwd -P的參數后,會不以連接文件的數據顯示,而是顯示正確的完整路徑。
mkdir(make directory,生成目錄)。請注意,在默認情況下,目錄需要一層一層的建立。
就是加上 -p參數。直接使用命令:“mkdir -p /home/bird/testing/test1”,系統會自動幫你將 /home、/home/bird、/home/bird/testing按順序建立起目錄。并且,如果該目錄本來就已經存在時,系統也不會顯示錯誤信息。
-m強制給一個新目錄相關的屬性,例如上面的列表中,通過 -m 711給新目錄賦予drwx--x--x屬性。
rmdir(刪除“空”目錄)
目錄需要一層一層刪除才行。而且被刪除的目錄里,必定不能有其他目錄或文件。這也是空目錄(empty directory)的含義。如果要將所有目錄下的東西都刪除,就必須使用rm -rf test。
在執行命令時,系統會按照PATH的設置,去每個PATH定義的路徑下搜索執行文件,先搜索到的命令先執行。
|