轉發 : Linux(centos)系統各個目錄的做用詳解 推薦html
文件系統的類型 linux
LINUX有四種基本文件系統類型:普通文件、目錄文件、鏈接文件和特殊文件,可用file命令來識別。 shell
普通文件:如文本文件、C語言元代碼、SHELL腳本、二進制的可執行文件等,可用cat、less、more、vi、emacs來察看內容,用mv來更名。 數據庫
目錄文件:包括文件名、子目錄名及其指針。它是LINUX儲存文件名的惟一地方,可用ls列出目錄文件。 windows
鏈接文件:是指向同一索引節點的那些目錄條目。用ls來查看是,鏈接文件的標誌用l開頭,而文件面後以"->"指向所鏈接的文件。 centos
特殊文件:LINUX的一些設備如磁盤、終端、打印機等都在文件系統中表示出來,則一類文件就是特殊文件,常放在/dev目錄內。例如,軟驅A稱爲/dev/fd0。LINUX無C:的概念,而是用/dev/had來自第一硬盤。 瀏覽器
使用者、密碼、羣組信息緩存
系統上的帳號信息: /etc/passwd服務器
對應的密碼信息:/etc/shadow網絡
全部的羣組信息:/etc/group
根據FHS(File Hierarchy System)定義的各層目錄的相關性
對於linux新手來講,最感到迷惑的問題之一就是文件都存在哪裏呢?特別是對於那些從windows轉過來的新手來講,linux的目錄結構看起來有些奇怪哦。因此,在這裏講一下linux下的主要目錄以及它們都是用來幹什麼的。
/
This is the root directory. The mothership. The home field. The one and only top directory for your whole computer. Everything, and I mean EVERYTHING starts here. When you type ‘/home’ what you’re really saying is 「start at / and then go to the home directory.」
/
這就是根目錄。對你的電腦來講,有且只有一個根目錄。全部的東西,我是說全部的東西都是從這裏開始。舉個例子:當你在終端裏輸入「/home」,你實際上是在告訴電腦,先從/(根目錄)開始,再進入到home目錄。
建議在根目錄下只接目錄,不要直接有檔案在根目錄下面。
由於開機的時候系統會第一個掛載根目錄指定的partition,因此,全部開機過程當中會用到的檔案,都應該放到這個partition中,好比/etc,/bin,/dev,/lib,/sbin這五個目錄都應該與根目錄在一塊兒,不能夠獨立成某個partition。與此相對的,某些目錄建議不要和根目錄放在同一個partition中,例如:/home,/usr,/var,/tmp等等。
/root
This is where the root user lives. The root user is the god of your system. Root can do anything, up to and including removing your entire filesystem. So be careful using root.
/root
這是系統管理員(root user)的目錄。對於系統來講,系統管理員就比如是上帝,它能對系統作任何事情,甚至包括刪除你的文件。所以,請當心使用root賬號。這個目錄最好和根目錄在同一個partition中。
Linux的內核及引導系統程序所須要的文件目錄,好比 vmlinuz initrd.img 文件都位於這個目錄中。在通常狀況下,GRUB或LILO系統引導管理器也位於這個目錄。
/bin
Here’s where your standard linux utilities(read programs) live — things like 「ls」 and 「vi」 and 「more」. Generally this directory is included in your path. What this means is that if you type ‘ls’, /bin is one of the places your shell will look to see if ‘ls’ means anything.
/bin
這裏存放了標準的(或者說是缺省的)linux的工具,好比像「ls」、「vi」還有「more」等等。一般來講,這個目錄已經包含在你的「path」系統變量裏面了。什麼意思呢?就是:當你在終端裏輸入ls,系統就會去/bin目錄下面查找是否是有ls這個程序。
除了/bin之外,/usr/bin,/usr/local/bin也用於存放可執行的二進制文件。/usr/bin和/usr/sbin 相似與「/」根目錄下對應的目錄(/bin和/sbin),但不用於基本的啓動(譬如,在緊急維護中)。大多數命令在這個目錄下。
/etc
Here’s where the administrative and system configuration stuff lives. For instance, if you have samba installed, and you want to modify the samba configuration files, you’d find them in /etc/samba.
/etc
這裏主要存放了系統配置方面的文件。舉個例子:你安裝了samba這個套件,當你想要修改samba配置文件的時候,你會發現它們(配置文件)就在/etc/samba目錄下。
重要的目錄:
/etc/init.d/:全部服務的預設啓動script都是放在這裏。例如要啓動或者關閉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的設定檔案。
/dev
Here’s where files that control peripherals live. Talking to a printer? Your computer is doing it from here. Same goes for disk drives, usb devices, and other such stuff.
/dev
這裏主要存放與設備(包括外設)有關的文件(unix和linux系統均把設備當成文件)。想連線打印機嗎?系統就是從這個目錄開始工做的。另外還有一些包括磁盤驅動、USB驅動等都放在這個目錄。
在linux系統中,任何裝置與接口設備都是以檔案的形態存在於這個目錄中。只要經過存取這個目錄下的某個檔案,就等於存取某個裝置。在此目錄下的檔案會多出兩個屬性,major device number與minor device number。咱們的系統核心就是透過這兩個number來判斷裝置的。比較重要的檔案有/dev/null,/dev/tty[1-6],/dev/ttyS*,/dev/lp*,/dev/hd*,/dev/sd*等等。
/home
Here’s where your data is stored. Config files specific to users, your Desktop folder(whick makes your desktop what it is), and any data related to your user. Each user will have their own /home/username folder, with the exception of the root user.
/home
這裏主要存放你的我的數據。具體每一個用戶的設置文件,用戶的桌面文件夾,還有用戶的數據都放在這裏。每一個用戶都有本身的用戶目錄,位置爲:/home/用戶名。固然,root用戶除外。
/tmp
This is the Temporary folder. Think of it as a scratch directory for your Linux system. Files that won’t be needed by programs once their used once or twice are put here. Many Linux systems are set to automatically wipe the /tmp folder at certain intervals, so don’t put things you want to keep here.
/tmp
這是臨時目錄。對於某些程序來講,有些文件被用了一次兩次以後,就不會再被用到,像這樣的文件就放在這裏。有些linux系統會按期自動對這個目錄進行清理,所以,千萬不要把重要的數據放在這裏。
/opt
Here’s where optional stuff is put. Trying out the latest Firefox beta? Install it to /opt where you can delete it without affecting other settings. Programs in here usually live inside a single folder whick contains all of their data, libraries, etc.
/opt
這裏主要存放那些可選的程序。你想嘗試最新的firefox測試版嗎?那就裝到/opt目錄下吧,這樣,當你嘗試完,想刪掉firefox的時候,你就可 以直接刪除它,而不影響系統其餘任何設置。安裝到/opt目錄下的程序,它全部的數據、庫文件等等都是放在同個目錄下面。
舉個例子:剛纔裝的測試版firefox,就能夠裝到/opt/firefox_beta目錄下,/opt/firefox_beta目錄下面就包含了運 行firefox所須要的全部文件、庫、數據等等。要刪除firefox的時候,你只需刪除/opt/firefox_beta目錄便可,很是簡單。
/opt 表示的是可選擇的意思,有些軟件包也會被安裝在這裏,也就是自定義軟件包,好比在Fedora Core 5.0中,OpenOffice就是安裝在這裏。有些咱們本身編譯的軟件包,就能夠安裝在這個目錄中;經過源碼包安裝的軟件,能夠經過 ./configure --prefix=/opt/目錄 。
/media
Some distros use this folder to mount things like usb disks, cd or dvd drives and other filesystems.
/mnt
這個目錄通常是用於存放掛載儲存設備的掛載目錄的,好比有cdrom 等目錄。能夠參看/etc/fstab的定義。有時咱們能夠把讓系統開機自動掛載文件系統,把掛載點放在這裏也是能夠的。主要看/etc/fstab中怎 麼定義了;好比光驅能夠掛載到/mnt/cdrom ,軟盤掛載在/mnt/floppy下。這也不是必須的,只要願意,能夠隨便找個地方掛載。/media目錄與/mnt有些相似
/media
有些linux的發行版使用這個目錄來掛載那些usb接口的移動硬盤(包括U盤)、CD/DVD驅動器等等。
/srv
一些服務啓動以後,這些服務所須要取用的數據的存放目錄。例如,www服務器須要的網頁資料就能夠放置在/srv/www目錄下
/lib,/usr/lib,/usr/local/lib
系統會使用到的函數庫放置的目錄。程序在運行的過程當中,可能會調用一些額外的功能,須要函數庫的支持。這些函數庫就放在這裏。比較重要的是/lib/modules,這個目錄內放置了kernel的相關模塊。
/usr
Here’s where you’ll find extra utilities that don’t fit under /bin or /etc. Things like games, printer utilities, and whatnot. /usr is divided into sections like /usr/bin for programs, /usr/share for shared data like sound files or icons, /usr/lib for libraries whick cannot be directly run but are essential for running other programs.Your package manager takes care of the things in /usr for you.
/usr
在這個目錄下,包含系統的主要程序、圖形接口所須要的檔案、額外的函數庫、本機自行安裝的軟件,以及共享目錄與文件等。有點像Windows中Program Files和Windows這兩個目錄的結合。你能夠找到那些不適合放在/bin或/etc目錄下的額外的工具。好比像遊戲阿,一些打印工具拉等等。/usr目錄包含了許多子目錄: /usr/bin目錄用於存放程序;/usr/share用於存放一些共享的數據,好比音樂文件或者圖標等等;/usr/lib目錄用於存放那些不能直接運行的,但倒是許多程序運行所必需的一些函數庫文件。你的軟件包管理器(應該是「新立得」吧)會自動幫你管理好/usr目錄的。
/usr/bin,/usr/sbin
通常身份使用者與系統管理員可執行的命令。
/usr/include
C/C++等程序語言的頭文件(header)與包檔案(include)。當咱們以tarball方式(*.tar.gz的方式安裝軟件)安裝某些數據時,會使用到裏面的許多檔案。
/usr/local
This is where most manually installed(ie. outside of your package manager) software goes. It has the same structure as /usr. It is a good idea to leave /usr to your package manager and put any custom scripts and things into /usr/local, since nothing important normally lives in /usr/local.
/usr/local
這裏主要存放那些手動安裝的軟件,即不是經過「新立得」或apt-get安裝的軟件。它和/usr目錄具備相相似的目錄結構。讓軟件包管理器來管理/usr目錄,而把自定義的腳本(scripts)放到/usr/local目錄下面,我想這應該是個不錯的主意。
/usr/share
共享文件放置目錄。
/usr/share/doc
放置一些系統說明文件的地方。
/usr/share/man
man page的檔案存放目錄。
/usr/src
linux系統相關的程序代碼放置目錄,例如/usr/src/linux爲核心原始碼
/usr/X11R6
系統內的X Window System所需的執行檔案几乎都放在這
/var
這個目錄的內容是常常變更的,看名字就知道,咱們能夠理解爲vary的縮寫。主要放置linux執行過程當中,常態性變更的檔案。好比cache檔案或者登錄檔案(log file)。此外,某些軟件執行過程當中會寫入的數據庫檔案,例如MySql數據庫,也都放入這個目錄中。
/var/cache
運行過程當中的緩存
/var/log
這是用來存放系統日誌的目錄。
/var/lock
某些裝置只能被單一程序所使用,好比tab(磁帶機),就會將該裝置放到這個目錄lock起來。
/var/run
某些程序或服務啓動後,會將他們的PID放置在這個目錄下。
/var/spool
一些隊列數據存放的地方。例如,/var/spool/mail放置系統中的郵件。若郵件暫時發佈出去,就會放置到/var/spool/mqueue目錄下,使用者工做排程(cron)則放置在/var/spool/cron中
/var/www
目錄是定義Apache服務器站點存放目錄;
/var/lib
程序執行過程當中,須要使用到的數據文件放置目錄。好比MySQL的數據庫的的存放地;
補充:
/sbin,/usr/sbin,/usr/local/sbin
大可能是涉及系統管理的命令的存放,是超級權限用戶root的可執行命令存放地,普通用戶無權限執行這個目錄下的命令,這個目錄和/usr/sbin; /usr/X11R6/sbin或/usr/local/sbin目錄是類似的;咱們記住就好了,凡是目錄sbin中包含的都是root權限才能執行的。
/lost+found
在ext2或ext3文件系統中,當系統意外崩潰或機器意外關機,而產生一些文件碎片放在這裏。當系統啓動的過程當中fsck工具會檢查這裏,並修復已經損 壞的文件系統。 有時系統發生問題,有不少的文件被移到這個目錄中,可能會用手工的方式來修復,或移到文件到原來的位置上。
一般這個目錄會自動出如今某個partition最頂層的目錄下。例如加裝一塊硬盤與/disk中,那在這個目錄下就會自動產生一個這樣的目錄/disk/lost+found
/proc
這個目錄自己就是一個「虛擬檔案系統」,他放置的數據都是在內存當中。例如,系統核心、造成信息、接口設備的狀態、及網絡狀態等等。由於這個目錄下的數據都在內存中,因此自己不佔任何硬盤空間。
操做系統運行時,進程信息及內核信息(好比cpu、硬盤分區、內存信息等)存放在這裏。/proc目錄假裝的文件系統proc的掛載目錄,proc並非真正的文件系統,它的定義能夠參見 /etc/fstab 。
/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。
關於/opt目錄的一個小技巧
在Linux中,/opt目錄是存放某些大型軟件或者某些特殊軟件的目錄,好比谷歌瀏覽器(Google Chrome)默認就是安裝在/opt中。可是咱們通常不會把opt單獨分在一個區,由於/opt中大多數時候是空的,即便安裝了軟件也不會太多,並且有 些軟件的容量還比較大,這樣就會佔用/的容量,咱們能夠在其它你願意的地方創建一個目錄來將/opt「轉移」到別處,好比個人的/usr是單獨分在一個 區,容量有50G,這麼大的空間不要浪費了不是?並且/usr原本就是安裝軟件的地方,因此我能夠/usr下創建一個叫opt的文件夾,而後右鍵點擊這個 /usr下的opt,選擇「建立連接」,獲得一個名爲「到 opt 的連接」文件,而後把這個文件剪切到/下,將原來的/opt刪除,再將「到 opt 的連接」更名爲opt就能夠了,之後咱們安裝在/opt的軟件其實是安裝到了/usr/opt下(其實是一個符號連接)。
/usr/local 這個目錄通常是用來存放用戶自編譯安裝軟件的存放目錄;通常是經過源碼包安裝的軟件,若是沒有特別指定安裝目錄的話,通常是安裝在這個目錄中。這個目錄下面有子目錄。本身看看吧。
/usr/share 系統共用的東西存放地,好比 /usr/share/fonts 是字體目錄,/usr/share/doc和/usr/share/man幫助文件。
/var/log 系統日誌存放,分析日誌要看這個目錄的東西;
/var/spool 打印機、郵件、代理服務器等假脫機目錄;