Linux各目錄含義

對于linux系統(tǒng),我們進(jìn)入到根目錄/并列出根目錄下所有文件可以看到:

[root@localhost /]# ls
bin   dev  home  lib64  mnt  proc  run   srv  tmp  var
boot  etc  lib   media  opt  root  sbin  sys  usr

這些似懂非懂的目錄名都有什么含義呢?

FHS標(biāo)準(zhǔn)

其實,linux系統(tǒng)的目錄都遵循一個標(biāo)準(zhǔn),即由Linux基金會發(fā)布的 文件系統(tǒng)層次結(jié)構(gòu)標(biāo)準(zhǔn) (Filesystem Hierarchy Standard, FHS)。這個標(biāo)準(zhǔn)里面定義了linux系統(tǒng)該有哪些目錄,各個目錄應(yīng)該存放什么,起什么作用等等。具體說明如下:

目錄 解釋
/bin binary,即用來存放二進(jìn)制可執(zhí)行文件,并且比較特殊的是/bin里存放的是所有一般用戶都能使用的可執(zhí)行文件,如:cat, chmod, chown, mv, mkdir, cd 等常用指令
/boot 存放開機時用到的引導(dǎo)文件
/dev device(并不是develop哦),任何設(shè)備都以文件的形式存放在這個目錄中
/etc Editable Text Configuration(早期含義為etcetera,但是有爭議),存放系統(tǒng)配置文件,如各種服務(wù)的啟動配置,賬號密碼等
/home 用戶的主目錄,每當(dāng)新建一個用戶系統(tǒng)都會在這個目錄下創(chuàng)建以該用戶名為名稱的目錄作為該用戶的主目錄。并且在命令行中~代表當(dāng)前用戶的主目錄,~yousiku表示yousiku這個用戶的主目錄
/lib library,存放著系統(tǒng)開機時所需的函數(shù)庫以及/bin和/sbin目錄下的命令會調(diào)用的函數(shù)庫
/lib64 存放相對于/lib中支持64位格式的函數(shù)庫
/media 可移除的媒體設(shè)備,如光盤,DVD等
/mnt mount,臨時掛載的設(shè)備文件
/opt optional,可選的軟件包,即第三方軟件。我們可以將除了系統(tǒng)自帶軟件之外的其他軟件安裝到這個目錄下
/proc process,該目錄是一個虛擬文件系統(tǒng),即該目錄的內(nèi)容存放于內(nèi)存中而不是硬盤中,存放著系統(tǒng)內(nèi)核以及進(jìn)程的運行狀態(tài)信息
/root 超級管理員root的主目錄
/run 最近一次開機后所產(chǎn)生的各項信息,如當(dāng)前的用戶和正在運行中的守護(hù)進(jìn)程等
/sbin 存放一些只有root賬戶才有權(quán)限執(zhí)行的可執(zhí)行文件,如init, ip, mount等命令
/srv service,存放一些服務(wù)啟動后所需的數(shù)據(jù)
/sys system,與/proc類似也是一個虛擬文件系統(tǒng),存放系統(tǒng)核心與硬件相關(guān)的信息
/tmp temporary,存放臨時文件,可以被所有用戶訪問,系統(tǒng)重啟時會清空該目錄
/usr Unix Software Resource(并不是指user哦),存放著所有用戶的絕大多數(shù)工具和應(yīng)用程序(下文詳細(xì)介紹)
/var variable,存放動態(tài)文件,如系統(tǒng)日志,程序緩存等(下文詳細(xì)介紹)

/usr目錄

Unix Software Resource 意為 Unix系統(tǒng)軟件資源,系統(tǒng)自帶的軟件都裝在這個目錄下(好比Windows系統(tǒng)的"C:\Windows"),用戶安裝的第三方軟件也在這個目錄下(好比Windows系統(tǒng)的"C:\Program Files"),不同的是,在Windows系統(tǒng)上安裝軟件通常將該軟件的所有文件放置在同一個目錄下,但是在Linux系統(tǒng)安裝軟件會將該軟件的不同文件分別放置在/usr目錄下的不同子目錄下,而不應(yīng)該自行創(chuàng)建該軟件自己的獨立目錄。進(jìn)入到/usr目錄,一般有以下子目錄:

[root@localhost /]# cd usr/
[root@localhost usr]# ls
bin  etc  games  include  lib  lib64  libexec  local  sbin  share  src  tmp
目錄 含義
/usr/bin 即/bin,用鏈接文件到方式將/bin鏈接至此
/usr/etc 應(yīng)用程序的配置文件
/usr/games 與游戲相關(guān)的數(shù)據(jù)
/usr/include c/c++程序的頭文件
/usr/lib 即/lib,用鏈接文件到方式將/lib鏈接至此
/usr/lib64 即/lib64,用鏈接文件到方式將/lib64鏈接至此
/usr/libexec 不常用的執(zhí)行文件或腳本
/usr/local 應(yīng)用程序的安裝目錄,每個應(yīng)用程序目錄下還會有對應(yīng)的bin, etc, lib等目錄
/usr/sbin 即/sbin,用鏈接文件到方式將/sbin鏈接至此
/usr/share 共享文件,通常是一些文字說明文件,如軟件文檔等
/usr/src source,應(yīng)用程序源代碼
/usr/tmp 應(yīng)用程序臨時文件

/var

/var主要存放一些動態(tài)文件,比如程序緩存,登陸文件,程序運行所產(chǎn)生的文件等,常見的子目錄有:

[root@localhost usr]# cd /var
[root@localhost var]# ls
adm    crash  empty  gopher    lib    lock  mail  opt       run    tmp
cache  db     games  kerberos  local  log   nis   preserve  spool  yp
目錄 含義
/var/cache 應(yīng)用程序緩存
/var/lib 應(yīng)用層序運行所需的數(shù)據(jù)文件,在這個目錄下各自的程序應(yīng)該要有各自的目錄
/var/lock 文件鎖,使某些文件資源一次只能被一個應(yīng)用程序使用
/var/log 日志文件
/var/run 進(jìn)程或服務(wù)PID
/var/spool 隊列數(shù)據(jù),即等待處理的任務(wù),如發(fā)送信息若發(fā)送失敗則先存放至此,等發(fā)送成功后就被刪除

一般來說,我們在Linux上管理文件與目錄時只要記住大概的FHS標(biāo)準(zhǔn)定義下必須存在的目錄以及目錄含義,對于標(biāo)準(zhǔn)約束外的目錄我們就可以自行配置啦

目錄結(jié)構(gòu)思維導(dǎo)圖

Linux各目錄含義.png
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容