文件系統的組織結構分析,咱們能分析什麼呢?也就是當咱們列/目錄時,所看到的/usr、/etc ... ... /var 等目錄是作什麼用的,這些目錄是否是有些特定的用途。不管哪一個哪一個版本的Linux系統,都有這些目錄,這些目錄應該是標準的。固然各個Linux發行版本也會存在一些小小的差別,但整體來講,仍是大致差很少。html
Linux發行版本之間的差異其實不多,差異主要表如今系統管理的特點工具以及軟件包管理方式的不一樣,除此以外,沒有什麼大的差異; 好比Fedora軟件包管理工具是rpm,而Slackware是pkgtool 或installpkg等;node
言歸正傳,咱們接着說文件系統組織結構。linux
/ Linux文件系統的入口,也是處於最高一級的目錄;數據庫
/bin 基礎系統所須要的那些命令位於此目錄,也是最小系統所須要的命令;好比 ls、cp、mkdir等命令;功能和/usr/bin相似,這個目錄中的文件都是可執行的,普通用戶均可以使用的命令。作爲基礎系統所須要的最基礎的命令就是放在這裏。服務器
/boot Linux的內核及引導系統程序所須要的文件,好比 vmlinuz initrd.img 文件都位於這個目錄中。在通常狀況下,GRUB或LILO系統引導管理器也位於這個目錄;ssh
/dev 設備文件存儲目錄,好比聲卡、磁盤... ...工具
/etc 系統配置文件的所在地,一些服務器的配置文件也在這裏;好比用戶賬號及密碼配置文件;字體
/home 普通用戶家目錄默認存放目錄;ui
/lib 庫文件存放目錄操作系統
/lost+found 在ext2或ext3文件系統中,當系統意外崩潰或機器意外關機,而產生一些文件碎片放在這裏。當系統啓動的過程當中fsck工具會檢查這裏,並修復已經損壞的文件系統。 有時系統發生問題,有不少的文件被移到這個目錄中,可能會用手工的方式來修復,或移到文件到原來的位置上。
/media 即插即用型存儲設備的掛載點自動在這個目錄下建立,好比USB盤系統自動掛載後,會在這個目錄下產生一個目錄 ;CDROM/DVD自動掛載後,也會在這個目錄中建立一個目錄,相似cdrom 的目錄。這個只有在最新的發行套件上纔有,好比Fedora Core 4.0 5.0 等。能夠參看/etc/fstab的定義;
/misc 雜項,堆放很差歸類的東西
/mnt 這個目錄通常是用於存放掛載儲存設備的掛載目錄的,好比有cdrom 等目錄。能夠參看/etc/fstab的定義。有時咱們能夠把讓系統開機自動掛載文件系統,把掛載點放在這裏也是能夠的。主要看/etc/fstab中怎麼定義了;好比光驅能夠掛載到/mnt/cdrom 。
/opt 表示的是可選擇的意思,有些軟件包也會被安裝在這裏,也就是自定義軟件包,好比在Fedora Core 5.0中,OpenOffice就是安裝在這裏。有些咱們本身編譯的軟件包,就能夠安裝在這個目錄中;經過源碼包安裝的軟件,能夠經過 ./configure --prefix=/opt/目錄 。
/proc 操做系統運行時,進程(正在運行中的程序)信息及內核信息(好比cpu、硬盤分區、內存信息等)存放在這裏。/proc目錄假裝的文件系統proc的掛載目錄,proc並非真正的文件系統,它的定義能夠參見 /etc/fstab 。
/root Linux超級權限用戶root的家目錄;
/sbin 大可能是涉及系統管理的命令的存放,是超級權限用戶root的可執行命令存放地,普通用戶無權限執行這個目錄下的命令,這個目錄和/usr/sbin;/usr/X11R6/sbin或/usr/local/sbin目錄是類似的; 咱們記住就好了,凡是目錄sbin中包含的都是root權限才能執行的。
/tmp 臨時文件目錄,有時用戶運行程序的時候,會產生臨時文件。/tmp就用來存放臨時文件的。/var/tmp目錄和這個目錄類似。
/usr 這個是系統存放程序的目錄,好比命令、幫助文件等。這個目錄下有不少的文件和目錄。當咱們安裝一個Linux發行版官方提供的軟件包時,大多安裝在這裏。若是有涉及服務器配置文件的,會把配置文件安裝在/etc目錄中。/usr目錄下包括涉及字體目錄/usr/share/fonts ,幫助目錄 /usr/share/man或/usr/share/doc,普通用戶可執行文件目錄/usr/bin 或/usr/local/bin 或/usr/X11R6/bin ,超級權限用戶root的可執行命令存放目錄,好比 /usr/sbin 或/usr/X11R6/sbin 或/usr/local/sbin 等;還有程序的頭文件存放目錄/usr/include。
/var 這個目錄的內容是常常變更的,看名字就知道,咱們能夠理解爲vary的縮寫,/var下有/var/log 這是用來存放系統日誌的目錄。/var/www目錄是定義Apache服務器站點存放目錄;/var/lib 用來存放一些庫文件,好比MySQL的,以及MySQL數據庫的的存放地;
咱們再補充一下一些比較重要的目錄的用途;
/etc/init.d 這個目錄是用來存放系統或服務器以System V模式啓動的腳本,這在以System V模式啓動或初始化的系統中常見。好比Fedora/RedHat;
/etc/xinit.d 若是服務器是經過xinetd模式運行的,它的腳本要放在這個目錄下。有些系統沒有這個目錄, 好比Slackware,有些老的版本也沒有。在Rehat/Fedora中比較新的版本中存在。
/etc/rc.d 這是Slackware發行版有的一個目錄,是BSD方式啓動腳本的存放地;好比定義網卡,服務器開啓腳本等。
/etc/X11 是X-Windows相關的配置文件存放地;
好比下面的例子:
[root@localhost ~]# /etc/init.d/sshd start 注:啓動sshd服務器
[root@localhost ~]# /etc/init.d/sshd stop 注:中止sshd服務器
啓動 sshd: [肯定]
這就是典型的sshd 服務器 System V模式啓動腳本,經過這運行這個腳本能夠啓動sshd服務器了。
/usr/bin 這個目錄是可執行程序的目錄,普通用戶就有權限執行; 當咱們從系統自帶的軟件包安裝一個程序時,他的可執行文件大多會放在這個目錄。好比安裝gaim軟件包時。類似的目錄是/usr/local/bin; 有時/usr/bin中的文件是/usr/local/bin的連接文件;
/usr/sbin 這個目錄也是可執行程序的目錄,但大多存放涉及系統管理的命令。只有root權限才能執行;類似目錄是/sbin 或/usr/local/sbin或/usr/X11R6/sbin等;
/usr/local 這個目錄通常是用來存放用戶自編譯安裝軟件的存放目錄;通常是經過源碼包安裝的軟件,若是沒有特別指定安裝目錄的話,通常是安裝在這個目錄中。這個目錄下面有子目錄。本身看看吧。
/usr/lib 和/lib 目錄類似,是庫文件的存儲目錄;
/usr/share 系統共用的東西存放地,好比 /usr/share/fonts 是字體目錄,是用戶都共用的吧。
/usr/share/doc和/usr/share/man幫助文件,也是共用的吧;
/usr/src 是內核源碼存放的目錄,好比下面有內核源碼目錄,好比 linux 、linux-2.xxx.xx 目錄等。有的系統也會把源碼軟件包安裝在這裏。好比Fedora/Redhat,當咱們安裝file.src.rpm的時候,這些軟件包會安裝在/usr/src/redhat相應的目錄中。請參考:《file.src.rpm 使用方法的簡單介紹》。另外Fedhat 4.0 5.0,他的內核源碼包的目錄位於/usr/src/kernels目錄下的某個目錄中(只有安裝後纔會生成相應目錄);
/var/adm 好比軟件包安裝信息、日誌、管理信息等,在Slackware操做系統中是有這個目錄的。在Fedora中好象沒有;本身看看吧。
/var/log 系統日誌存放,分析日誌要看這個目錄的東西;
/var/spool 打印機、郵件、代理服務器等假脫機目錄;
linux下的automounter
使用mount命令掛接某個物理設備後,必須用umount卸載它。
若是這個物理設備是個軟盤或者活動硬盤,在沒有umount的時候就移走了,系統向其寫入的時候會出現問題。
這個問題能夠經過Automounter解決。若是automounted的目錄在特定的時間段內沒有被訪問或者使用,將會自動unmount.
Automounter 的後臺進程daemon叫作 autofs.他能夠自動mount一個目錄,也能夠通過必定時間後自動umount它。
相應的配置文件是/etc/auto.master 和 /etc/auto.misc
同時要保持/misc 目錄爲空,linux會在這個目錄上配置 automounts。
1)
/etc/auto.master
將文件中如下語句的註釋去掉:
#/misc /etc/auto.misc --timeout=60
/misc /etc/auto.misc --timeout=60
/misc 表示linux會在這個目錄上配置 automounts。
/etc/auto.misc 在這個文件中進行詳細配置。
--timeout=60,60秒。若是automounted的目錄在60秒後沒有被訪問或者使用,將會自動unmount.
2)
/etc/auto.misc
有這麼一行默認的設置:
cd -fstype=iso9660,ro,nosuid,nodev :/dev/cdrom
表示:
若是你有一個 CD 在 /dev/cdrom 驅動器中,能夠經過Automounter自動mount,而且使用ls /misc/cd 直接訪問cd中的內容(autofs服務啓動後)。
/dev/cdrom 60秒後沒有被訪問或者使用,將會自動unmount.
步驟以下:
# service autofs restart
放入cd
# ls /misc/cd
/dev/cdrom被自動mount,能夠看到cd的內容,而且
# mount 能夠列出來被mount的 cdrom
/dev/cdrom on /misc/cd type iso9660(ro,nosuid,nodev)
60秒後再執行:
# mount
發現/dev/cdrom 已經再也不列表中了,也就是被unmount 了
若是再# ls /misc/cd# mount /dev/cdrom on /misc/cd type iso9660(ro,nosuid,nodev)又被自動mount