Linux操作系統(tǒng)的發(fā)行版眾多,為了統(tǒng)一不同發(fā)行版系統(tǒng)中的目錄結(jié)構(gòu),F(xiàn)HS(Filesystem Hierarchy Standard)標(biāo)準(zhǔn)應(yīng)運(yùn)而生。
FHS的重點(diǎn)在于規(guī)范每個(gè)特定的目錄下應(yīng)該放置什么樣的數(shù)據(jù),其中最重要的就是下面三個(gè)目錄:
- / (root):與系統(tǒng)啟動(dòng)有關(guān);
- /usr (unix software resource):與軟件安裝和執(zhí)行有關(guān);
- /var (variable):與系統(tǒng)運(yùn)行過(guò)程有關(guān)。
根目錄(/)
根目錄是整個(gè)系統(tǒng)最重要的目錄,因?yàn)椴坏械哪夸浂际怯筛夸浹苌鰜?lái),同時(shí)根目錄也與系統(tǒng)啟動(dòng)、還原等操作有關(guān)。所以 不要將根目錄放在非常大的分區(qū)內(nèi),也不要將其它應(yīng)用程序與根目錄放在同一個(gè)分區(qū)內(nèi) 。這樣不僅可以獲取更好的系統(tǒng)性能,且根目錄所在的分區(qū)也更加不容易發(fā)生問(wèn)題。
/usr目錄
usr可不是user的縮寫,usr是UNIX Software Resource
的縮寫,也就是UNIX操作系統(tǒng)軟件資源放置的目錄。
所有系統(tǒng)默認(rèn)的軟件都會(huì)放置到/usr下面,系統(tǒng)安裝完畢時(shí),這個(gè)目錄會(huì)占用最多的硬盤空間。
/usr/bin
一般用戶能夠使用的命令都放在該目錄下,這些命令可以被root賬號(hào)與一般賬號(hào)共同使用。主要包括:cat、chmod、chown、date、mv、cp、mkdir、bash等常用命令。
/bin
目錄是指向它的一個(gè)鏈接文件,也就是說(shuō),/usr/bin
與/bin
是一摸一樣的。
/usr/sbin
Linux中有很多命令是用來(lái)設(shè)置系統(tǒng)環(huán)境的,這些命令只有root用戶才能執(zhí)行設(shè)置,其它用戶最多只能用來(lái)查詢,這類命令會(huì)放置在該目錄下。該目錄包括的命令有fdisk、fsck、mkfs等。
/sbin
是鏈接到此目錄的一個(gè)鏈接文件。
/usr/lib
系統(tǒng)中的函數(shù)庫(kù)非常多,而/lib
目錄下放置的是在系統(tǒng)啟動(dòng)時(shí)會(huì)用到的函數(shù)庫(kù),以及在/bin
或/sbin
下面的命令會(huì)調(diào)用的函數(shù)庫(kù)而已。
/lib
是鏈接到此目錄的一個(gè)鏈接文件。
/usr/local
用戶在本機(jī)安裝自己下載的軟件會(huì)安裝到此目錄。/usr/local下也是有bin、etc、lib等子目錄。
/usr/share
主要放置只讀數(shù)據(jù)文件,像在線幫助文檔/usr/share/man
,軟件說(shuō)明文檔/usr/share/doc
等。
/var目錄
/var
目錄主要存放的是一些經(jīng)常變動(dòng)的文件,如緩存文件、日志文件、程序運(yùn)行時(shí)產(chǎn)生的文件等。例如MySQL的數(shù)據(jù)文件,或軟件程序的日志文件(log file)等。
/var/cache
應(yīng)用程序運(yùn)行過(guò)程中產(chǎn)生的一些緩存。
/var/lib
軟件執(zhí)行過(guò)程中使用到的一些數(shù)據(jù)文件會(huì)放置在此目錄。在此目錄下,每個(gè)軟件都擁有屬于自己的子目錄。例如,MySQL的數(shù)據(jù)庫(kù)文件放置到/var/lib/mysql
中,而rpm的數(shù)據(jù)庫(kù)文件則放置到/usr/lib/rpm
中。
/var/log
日志文件放置的目錄。通常,各個(gè)軟件也會(huì)在這個(gè)目錄下為自己創(chuàng)建對(duì)應(yīng)的子目錄用于存放日志。
/var/mail
放置個(gè)人電子郵箱的目錄。
/var/run
該目錄是用內(nèi)存模擬的目錄,系統(tǒng)啟動(dòng)后所產(chǎn)生的各項(xiàng)信息會(huì)放置到該目錄下。
比較常見(jiàn)的用途是daemon進(jìn)程會(huì)將自己的pid保存到這個(gè)目錄下。
/var/run
是鏈接到/run
目錄的一個(gè)鏈接文件。也就是說(shuō),/var/run
與/run
是一摸一樣的。
其它目錄
/etc
系統(tǒng)主要的配置文件幾乎都放置在這個(gè)目錄內(nèi),例如人員的賬號(hào)密碼文件,各種服務(wù)的配置文件等。
不要放置可執(zhí)行文件在這個(gè)目錄中。
/dev
在Linux系統(tǒng)中,任何設(shè)備都以文件的形式存在于這個(gè)目錄當(dāng)中,通過(guò)讀寫這個(gè)目錄下面的某個(gè)文件,就等于讀寫了某個(gè)設(shè)備。
常用的文件有/dev/null
、/dev/zero
、/dev/tty
等。
/boot
系統(tǒng)啟動(dòng)會(huì)使用到的文件會(huì)放在這個(gè)目錄中,包括Linux內(nèi)核文件以及boot loader相關(guān)配置文件。
Linux內(nèi)核的文件名為vmlinuz。如果使用的是grub這個(gè)boot loader,則還會(huì)存在/boot/grub
這個(gè)目錄。
/opt
該目錄用來(lái)安裝附加軟件包,是用戶級(jí)的程序目錄,可以理解為D:/Software
。
opt有可選的意思,這里可以用于放置第三方輔助軟件,當(dāng)你不需要時(shí),直接rm掉即可。
/tmp
暫時(shí)存放文件的地方,任何人都能夠讀寫該目錄下的文件,重要的文件不要放在此目錄。
/lost+found
這個(gè)目錄一般情況下是空的,當(dāng)文件系統(tǒng)發(fā)生錯(cuò)誤時(shí),會(huì)將一些遺失的片段放置在這個(gè)目錄下。
/proc
這個(gè)目錄本身是一個(gè)虛擬文件系統(tǒng),它放置的數(shù)據(jù)都是在內(nèi)存當(dāng)中,例如系統(tǒng)內(nèi)核、進(jìn)程信息、外接設(shè)備的狀態(tài)及網(wǎng)絡(luò)狀態(tài)等。
重要的文件包括:/proc/cpuinfo
、 /proc/net/*
和 /proc/ioports
等。
/sys
這個(gè)目錄根/proc
非常類似,也是一個(gè)虛擬文件系統(tǒng),主要也是記錄內(nèi)核與系統(tǒng)硬件信息相關(guān)的內(nèi)容。
-
Linux
+關(guān)注
關(guān)注
87文章
11511瀏覽量
213814 -
操作系統(tǒng)
+關(guān)注
關(guān)注
37文章
7152瀏覽量
125591 -
FHS
+關(guān)注
關(guān)注
0文章
3瀏覽量
6723
發(fā)布評(píng)論請(qǐng)先 登錄
Linux目錄結(jié)構(gòu)及文件操作
Linux的目錄文件結(jié)構(gòu)
linux目錄結(jié)構(gòu)
linux目錄結(jié)構(gòu)
詳解Linux目錄結(jié)構(gòu)
Linux內(nèi)核源碼目錄結(jié)構(gòu)
Linux系統(tǒng)移植篇7:STM32MP1微處理器之Linux內(nèi)核目錄結(jié)構(gòu)
Linux目錄結(jié)構(gòu)
Linux基礎(chǔ)之目錄結(jié)構(gòu)相關(guān)資料推薦
以linux 5.4.31為例來(lái)介紹一下linux內(nèi)核目錄結(jié)構(gòu)
Linux快速入門之安裝Linux操作系統(tǒng)及小結(jié)
Windows和Linux的區(qū)別以及Linux系統(tǒng)的目錄結(jié)構(gòu)

嵌入式Linux開(kāi)發(fā)之文件系統(tǒng)目錄結(jié)構(gòu)介紹

嵌入式Linux系統(tǒng)編程學(xué)習(xí)之一目錄結(jié)構(gòu)

STM32MP157 Linux系統(tǒng)移植開(kāi)發(fā)篇7:Linux內(nèi)核目錄結(jié)構(gòu)詳解

評(píng)論