/ 根目錄
包含了幾乎所的文件目錄查牌。相當(dāng)于中央系統(tǒng)对碌。進(jìn)入的最簡單方法是:cd /荆虱。
/boot 引導(dǎo)程序,內(nèi)核等存放的目錄
這個目錄朽们,包括了在引導(dǎo)過程中所必需的文件怀读。在最開始的啟動階段,通過引導(dǎo)程序?qū)?nèi)核加載到內(nèi)存骑脱,完成內(nèi)核的啟動(這個時候菜枷,虛擬文件系統(tǒng) 還不存在,加載的內(nèi)核雖然是從硬盤讀取的叁丧,但是沒經(jīng)過Linux的虛擬文件系統(tǒng))啤誊,這是比較底層的東西來實現(xiàn)的。然后內(nèi)核自己創(chuàng)建好[虛擬文件系統(tǒng)拥娄,并且從虛擬文件系統(tǒng)的其他子目錄中(例如/sbin 和 /etc加載需要在開機(jī)啟動的其他程序或者服務(wù)或者特定的動作(部分可以由用戶自己在相應(yīng)的目錄中修改相應(yīng)的文件來配制蚊锹。如果我們的機(jī)器中包含多個操作系統(tǒng),那么可以通過修改這個目錄中的某個配置文件(例如grub.conf來調(diào)整啟動的默認(rèn)操作系統(tǒng)稚瘾,系統(tǒng)啟動的擇菜單牡昆,以及啟動延遲等參數(shù)。
/sbin 超級用戶摊欠,可以使用的命令的存放目錄
存放大多涉及系統(tǒng)管理的命令(例如引導(dǎo)系統(tǒng)的init程序丢烘,是超級權(quán)限用戶root的可執(zhí)行命令存放地柱宦,普通用戶無權(quán)限執(zhí)行這個目錄下的命令(但是有時普通用戶也可能會用到。)我們要記住播瞳,凡是目錄sbin中包含的都是root權(quán)限才能執(zhí)行的捷沸。
/bin 普通用戶可以使用的命令的存放目錄
系統(tǒng)所需要的那些命令位于此目錄,比如ls狐史、cp痒给、mkdir等命令;類似的目錄還/usr/bin骏全,/usr/local/bin等等苍柏。這個目錄中的文件都是可執(zhí)行的、普通用戶都可以使用的命令姜贡。作為基礎(chǔ)系統(tǒng)所需要的最基礎(chǔ)的命令就是放在這里试吁。
/lib 根目錄下的所程序的共享庫目錄
此目錄下包含系統(tǒng)引導(dǎo)和在根用戶執(zhí)行命令時候所必需用到的共享庫。做個不太好但是比較形象的比喻楼咳,點類似于Windows上面的system32目錄熄捍。理說,這里存放的文件應(yīng)該是/bin目錄下程序所需要的庫文件的存放地母怜,也不排除一些例外的情況余耽。類似的目錄還/usr/lib,/usr/local/lib等等苹熏。
/dev 設(shè)備文件目錄
在Linux中設(shè)備都是以文件形式出現(xiàn)碟贾,這里的設(shè)備可以是硬盤,鍵盤轨域,鼠標(biāo)袱耽,網(wǎng)卡,終端干发,等設(shè)備朱巨,通過訪問這些文件可以訪問到相應(yīng)的設(shè)備。設(shè)備文件可以使用mknod命令來創(chuàng)建枉长;而為了將對這些設(shè)備文件的訪問轉(zhuǎn)化為對設(shè)備的訪問冀续,需要向相應(yīng)的設(shè)備提供設(shè)備驅(qū)動模塊(一般將設(shè)備驅(qū)動編譯之后,生成的結(jié)果是一個*.ko類型的二進(jìn)制文件搀暑,在內(nèi)核啟動之后沥阳,再通過insmod等命令加載相應(yīng)的設(shè)備驅(qū)動之后跨琳,我們就可以通過設(shè)備文件來訪問設(shè)備了自点。一般來說,想要Linux系統(tǒng)支持某個設(shè)備脉让,需要 相應(yīng)的硬件設(shè)備桂敛,支持硬件的驅(qū)動模塊功炮,以及相應(yīng)的設(shè)備文件。
/home 普通用戶的家目錄
在Linux機(jī)器上术唬,用戶主目錄通常直接或間接地置在此目錄下薪伏。其結(jié)構(gòu)通常由本地機(jī)的管理員來決定。通常而言粗仓,系統(tǒng)的每個用戶都自己的家目錄嫁怀,目錄以用戶名作為名字存放在/home下面(例如quietheart用戶,其家目錄的名字為/home/quietheart借浊。該目錄中保存了絕大多數(shù)的用戶文件(用戶自己的配置文件塘淑,定制文件,文檔蚂斤,數(shù)據(jù)等)存捺,/root 用戶root的$HOME目錄系統(tǒng)管理員(就是root用戶或超級用戶)的主目錄比較特殊,不存放在/home中曙蒸,而是直接放在/root目錄下了捌治。
/etc 全局的配置文件存放目錄。
系統(tǒng)和程序一般都可以通過修改相應(yīng)的配置文件纽窟,來進(jìn)行配置肖油。例如,要配置系統(tǒng)開機(jī)的時候啟動那些程序臂港,配置某個程序啟動的時候顯示什么樣的風(fēng)格等等构韵。通常這些配置文件都集中存放在/etc目錄中,所以想要配置什么東西的話趋艘,可以在/etc下面尋找我們可能需要修改的文件疲恢。
1. /etc/rc或/etc/rc.d或/etc/rc?.d 啟動、或改變運(yùn)行級時運(yùn)行的腳本或腳本的目錄瓷胧。
2. /etc/passwd 用戶數(shù)據(jù)庫显拳,其中的域給出了用戶名、真實姓名搓萧、用戶起始目錄杂数、加密口令和用戶的其 他信息。
3. /etc/fdprm 軟盤參數(shù)表瘸洛,用以說明不同的軟盤格式揍移。可用setfdprm 進(jìn)行設(shè)置反肋。更多的信息見setfdprm 的幫助頁那伐。
4. /etc/fstab 指定啟動時需要自動安裝的文件系統(tǒng)列表。也包括用swapon -a啟用的s w a p區(qū)的信息。
5. /etc/group 類似/etc/passwd 罕邀,但說明的不是用戶信息而是組的信息畅形。包括組的各種數(shù)據(jù)。
6. /etc/inittab init 的配置文件诉探。
7. /etc/issue 包括用戶在登錄提示符前的輸出信息日熬。通常包括系統(tǒng)的一段短說明或歡迎信息。具體內(nèi) 容由系統(tǒng)管理員確定肾胯。
8. /etc/magic “file”的配置文件竖席。包含不同文件格式的說明,“file”基于它猜測文件類型敬肚。
9. /etc/motd motd是message of the day的縮寫怕敬,用戶成功登錄后自動輸出。內(nèi)容由系統(tǒng)管理員確定帘皿。 常用于通告信息东跪,如計劃關(guān)機(jī)時間的警告等。
10. /etc/mtab 當(dāng)前安裝的文件系統(tǒng)列表鹰溜。由腳本(scritp)初始化虽填,并由mount 命令自動更新。當(dāng)需要一 個當(dāng)前安裝的文件系統(tǒng)的列表時使用(例如df 命令)曹动。
11. /etc/shadow 在安裝了影子(shadow)口令軟件的系統(tǒng)上的影子口令文件斋日。影子口令文件將/etc/passwd 文件中的加密口令移動到/etc/shadow中,而后者只對超級用戶(root)可讀墓陈。這使破譯口令更困 難恶守,以此增加系統(tǒng)的安全性。
12. /etc/login.defs login命令的配置文件贡必。
13. /etc/printcap 類似/etc/termcap 兔港,但針對打印機(jī)。語法不同仔拟。
**14. /etc/profile/etc/csh.login衫樊、/etc/csh.cshrc **登錄或啟動時bourne或c shells執(zhí)行的文件。這允許系統(tǒng)管理員為所有用戶建立全局缺省環(huán)境利花。 15. /etc/securetty 確認(rèn)安全終端科侈,即哪個終端允許超級用戶(root)登錄。一般只列出虛擬控制臺炒事,這樣就不 可能(至少很困難)通過調(diào)制解調(diào)器(modem)或網(wǎng)絡(luò)闖入系統(tǒng)并得到超級用戶特權(quán)臀栈。
**16. /etc/shells **列出可以使用的shell。chsh 命令允許用戶在本文件指定范圍內(nèi)改變登錄的shell挠乳。提供一 臺機(jī)器f t p服務(wù)的服務(wù)進(jìn)程ftpd 檢查用戶s h e l l是否列在/etc/shells 文件中权薯,如果不是姑躲,將不允 許該用戶登錄。
17. /etc/termcap 終端性能數(shù)據(jù)庫崭闲。說明不同的終端用什么“轉(zhuǎn)義序列”控制肋联。寫程序時不直接輸出轉(zhuǎn)義 序列(這樣只能工作于特定品牌的終端)威蕉,而是從/etc/termcap 中查找要做的工作的正確序列刁俭。 這樣,多數(shù)的程序可以在多數(shù)終端上運(yùn)行韧涨。
/usr 這個目錄中包含了命令庫文件和在通常操作中不會修改的文件牍戚。
這個目錄對于系統(tǒng)來說也是一個非常重要的目錄,其地位類似Windows上面的”Program Files”目錄(安裝程序的時候虑粥,默認(rèn)就是安裝在此文件內(nèi)部某個子文件夾內(nèi)如孝。輸入命令后系統(tǒng)默認(rèn)執(zhí)行/usr/bin下的程序(當(dāng)然,前提是這個目錄的路徑已經(jīng)被添加到了系統(tǒng)的環(huán)境變量中娩贷。此目錄通常也會掛載一個獨立的磁盤分區(qū)第晰,它應(yīng)保存共享只讀類文件,這樣它可以被運(yùn)行Linux的不同主機(jī)掛載彬祖。
/usr/lib
目標(biāo)庫文件茁瘦,包括動態(tài)連接庫加上一些通常不是直接調(diào)用的可執(zhí)行文件的存放位置。這個目錄功能類似/lib目錄储笑,理說甜熔,這里存放的文件應(yīng)該是/bin目錄下程序所需要的庫文件的存放地,也不排除一些例外的情況突倍。
/usr/bin
一般使用者使用并且不是系統(tǒng)自檢等所必需可執(zhí)行文件的目錄腔稀。此目錄相當(dāng)于根文件系統(tǒng)下的對應(yīng)目錄(/bin,非啟動系統(tǒng)羽历,非修復(fù)系統(tǒng)以及非本地安裝的程序一般都放在此目錄下焊虏。
/usr/sbin
管理員使用的非系統(tǒng)必須的可執(zhí)行文件存放目錄。此目錄相當(dāng)于根文件系統(tǒng)下的對應(yīng)目錄(/sbin秕磷,保存系統(tǒng)管理程序的二進(jìn)制文件炕淮,并且這些文件不是系統(tǒng)啟動或文件系統(tǒng)掛載 /usr 目錄或修復(fù)系統(tǒng)所必需的。
/usr/share
存放共享文件的目錄跳夭。在此目錄下不同的子目錄中保存了同一個操作系統(tǒng)在不同構(gòu)架下工作時特定應(yīng)用程序的共享數(shù)據(jù)(例如程序文檔信息)涂圆。使用者可以找到通常放在 /usr/doc 或 /usr/lib 或 /usr/man 目錄下的這些類似數(shù)據(jù)。
/usr/include
C程序語言編譯使用的頭文件币叹。linux下開發(fā)和編譯應(yīng)用程序所需要的頭文件一般都存放在這里润歉,通過頭文件來使用某些庫函數(shù)。默認(rèn)來說這個路徑被添加到了環(huán)境變量中颈抚,這樣編譯開發(fā)程序的時候編譯器會自動搜索這個路徑踩衩,從中找到你的程序中可能包含的頭文件嚼鹉。
/usr/local
安裝本地程序的一般默認(rèn)路徑。當(dāng)我們下載一個程序源代碼驱富,編譯并且安裝的時候锚赤,如果不特別指定安裝的程序路徑,那么默認(rèn)會將程序相關(guān)的文件安裝到這個目錄的對應(yīng)目錄下褐鸥。也就是說线脚,這個目錄存放的內(nèi)容,一般都是我們后來自己安裝的軟件的默認(rèn)路徑叫榕,如果擇了這個默認(rèn)路徑作為軟件的安裝路徑浑侥,被安裝的軟件的所文件都限制在這個目錄中,其中的子目錄就相應(yīng)于根目錄的子目錄晰绎。
/proc 特殊文件目錄
這個目錄采用一種特殊的文件系統(tǒng)格式(proc格式寓落,內(nèi)核支持這種格式。其中包含了全部虛擬文件荞下。它們并不保存在磁盤中伶选,也不占據(jù)磁盤空間(盡管命令ls -c會顯示它們的大小)。當(dāng)您查看它們時尖昏,您實際上看到的是內(nèi)存里的信息仰税,這些文件助于我們了解系統(tǒng)內(nèi)部信息。例如:
1/ 關(guān)于進(jìn)程1的信息目錄会宪。每個進(jìn)程在/proc 下一個名為其進(jìn)程號的目錄肖卧。cpuinfo 處理器信息,如類型掸鹅、制造商塞帐、型號和性能。devices 當(dāng)前運(yùn)行的核心配置的設(shè)備驅(qū)動的列表巍沙。dma 顯示當(dāng)前使用的DMA通道葵姥。filesystems 核心配置的文件系統(tǒng)。interrupts 顯示使用的中斷句携,and how many of each there have been.ioports 當(dāng)前使用的I/O端口榔幸。kcore 系統(tǒng)物理內(nèi)存映象。與物理內(nèi)存大小一樣矮嫉,但實際不占這么多內(nèi)存削咆;kmsg 核心輸出的消息。也被送到syslog 蠢笋。ksyms 核心符號表拨齐。loadavg 系統(tǒng)”平均負(fù)載”;3個沒意義的指示器指出系統(tǒng)當(dāng)前的工作量昨寞。meminfo 存儲器使用信息瞻惋,包括物理內(nèi)存和swap厦滤。modules 當(dāng)前加載了哪些核心模塊。net 網(wǎng)絡(luò)協(xié)議狀態(tài)信息歼狼。self 到查看/proc 的程序的進(jìn)程目錄的符號連接掏导。stat 系統(tǒng)的不同狀態(tài)uptime 系統(tǒng)啟動的時間長度。version 核心版本羽峰。
/opt 可擇的文件目錄
這個目錄表示的是可擇的意思趟咆,些自定義軟件包或者第方工具,就可以安裝在這里限寞。
/mnt 臨時掛載目錄
這個目錄一般是用于存放掛載儲存設(shè)備的掛載目錄的忍啸,比如磁盤仰坦,光驅(qū)履植,網(wǎng)絡(luò)文件系統(tǒng)等,當(dāng)我們需要掛載某個磁盤設(shè)備的時候悄晃,可以把磁盤設(shè)備掛載到這個目錄上去玫霎,這樣我們可以直接通過訪問這個目錄來訪問那個磁盤了。一般來說妈橄,我們最好在/mnt目錄下面多建立幾個子目錄庶近,掛載的時候掛載到這些子目錄上面,因為通常我們可能不僅僅是掛載一個設(shè)備吧?
/media 掛載的媒體設(shè)備目錄掛載的媒體設(shè)備目錄眷蚓,一般外部設(shè)備掛載到這里鼻种,例如cdrom等。比如我們插入一個U盤沙热,我們一般會發(fā)現(xiàn)叉钥,Linux自動在這個目錄下建立一個disk目錄,然后把U盤掛載到這個disk目錄上篙贸,通過訪問這個disk來訪問U盤投队。
/var 內(nèi)容經(jīng)常變化的目錄
此目錄下文件的大小可能會改變,如緩沖文件爵川,日志文件敷鸦,緩存文件,等一般都存放在這里寝贡。
/tmp 臨時文件目錄
該目錄存放系統(tǒng)中的一些臨時文件扒披,文件可能會被系統(tǒng)自動清空。
/lost+found 恢復(fù)文件存放的位置
當(dāng)系統(tǒng)崩潰的時候圃泡,在系統(tǒng)修復(fù)過程中需要恢復(fù)的文件碟案,可能就會在這里被找到了,這個目錄一般為空洞焙。
另外蟆淀,有些目錄容易混淆拯啦,這里簡單區(qū)分一下:/bin,/sbin與/usr/bin,/usr/sbin:/bin一般存放對于用戶和系統(tǒng)來說“必須”的程序(二進(jìn)制文件)。/sbin一般存放用于系統(tǒng)管理的“必需”的程序(二進(jìn)制文件)熔任,一般普通用戶不會使用褒链,根用戶使用。/usr/bin一般存放的只是對用戶和系統(tǒng)來說“不是必需的”程序(二進(jìn)制文件)疑苔。/usr/sbin一般存放用于系統(tǒng)管理的系統(tǒng)管理的不是必需的程序(二進(jìn)制文件)甫匹。
/lib與/usr/lib:/lib和/usr/lib的區(qū)別類似/bin,/sbin與/usr/bin,/usr/sbin。/lib一般存放對于用戶和系統(tǒng)來說“必須”的庫(二進(jìn)制文件)惦费。/usr/lib一般存放的只是對用戶和系統(tǒng)來說“不是必需的”庫(二進(jìn)制文件)兵迅。