Linux之對(duì)目錄的理解
前言
最近在復(fù)習(xí)linux,發(fā)現(xiàn)有些目錄總是忘記內(nèi)容,發(fā)現(xiàn)有些還是得從原義和實(shí)際例子去理解會(huì)記憶深刻些。
以下是個(gè)人的一些理解
Linux目錄
常見的Linux下的目錄如下:

1.根目錄/(Root Directory)
- 英文含義:
/是文件系統(tǒng)的根(root)目錄。它是所有文件和目錄的起點(diǎn),類似于樹的根,所有其他文件夾和文件都是從這里延伸出來(lái)的。 - 作用:作為文件系統(tǒng)的根目錄,它是所有路徑的起始點(diǎn)。
- PS:根目錄在系統(tǒng)啟動(dòng)初期可能是只讀掛載的,普通用戶無(wú)法直接在根目錄下創(chuàng)建文件,只有管理員(root 用戶)有權(quán)限操作。
- 實(shí)際例子:運(yùn)行
ls /可以列出根目錄下的所有子目錄
2./bin(Binary Files)
英文含義:bin 是 “binary”(二進(jìn)制)的縮寫,表示存放可執(zhí)行程序的地方。這些二進(jìn)制文件是操作系統(tǒng)和用戶交互的基本命令。
作用:包含啟動(dòng)和運(yùn)行操作系統(tǒng)所需的基本命令。這里的命令是系統(tǒng)和用戶都可以使用的,甚至在單用戶模式下也可以執(zhí)行。
常見文件:
/bin/ls:列出當(dāng)前目錄下的文件和文件夾(ls是 “list” 的縮寫)。/bin/cp:復(fù)制文件或目錄(cp是 “copy” 的縮寫)。/bin/mv:移動(dòng)或重命名文件或目錄(mv是 “move” 的縮寫)。/bin/rm:刪除文件或目錄(rm是 “remove” 的縮寫)。
PS:在現(xiàn)代 Linux 發(fā)行版中,/bin 有時(shí)會(huì)符號(hào)鏈接到 /usr/bin,這是因?yàn)?Filesystem Hierarchy Standard (FHS) 的演進(jìn),旨在統(tǒng)一二進(jìn)制文件存放位置。
實(shí)際例子:運(yùn)行 which ls 會(huì)返回 /bin/ls,告訴你 ls 命令的具體路徑。

3./sbin(System Binary Files)
英文含義:sbin 是 “system binary”(系統(tǒng)二進(jìn)制)的縮寫,存放的是需要管理員權(quán)限來(lái)執(zhí)行的系統(tǒng)管理命令。
作用:包含系統(tǒng)管理和維護(hù)所需的命令,普通用戶一般不需要使用這些命令,除非是系統(tǒng)管理員。
常見文件:
/sbin/init:系統(tǒng)初始化進(jìn)程,是系統(tǒng)啟動(dòng)時(shí)運(yùn)行的第一個(gè)程序。/sbin/reboot:重啟系統(tǒng)的命令。/sbin/shutdown:關(guān)閉系統(tǒng)的命令。
PS:這些命令通常需要超級(jí)用戶權(quán)限(sudo),普通用戶嘗試直接運(yùn)行會(huì)提示權(quán)限不足。
實(shí)際例子:執(zhí)行 sudo /sbin/fdisk -l 可以列出磁盤分區(qū)信息(需要 root 權(quán)限)。這些命令通常用于系統(tǒng)維護(hù)和調(diào)試。

4./etc(Etcetera - Configuration Files)
英文含義:etc 是 “et cetera”(等等)的縮寫,雖然這個(gè)名字沒有直接說(shuō)明它的內(nèi)容,但通常用于存放系統(tǒng)配置文件(歷史遺留問(wèn)題,遺傳unix)。
作用:包含所有系統(tǒng)和程序的配置文件。通常會(huì)在這里配置一些與程序、用戶、服務(wù)等相關(guān)的設(shè)置。
常見文件:
/etc/passwd:存儲(chǔ)用戶賬戶信息的文件。這里包括每個(gè)用戶的用戶名、密碼、UID 和 GID 等信息。/etc/fstab:用于系統(tǒng)啟動(dòng)時(shí)掛載文件系統(tǒng)的配置文件。/etc/hostname:存儲(chǔ)系統(tǒng)主機(jī)名的文件。/etc/network/interfaces:配置網(wǎng)絡(luò)接口的文件。
PS:/etc 不僅是系統(tǒng)配置的中心,許多服務(wù)的配置文件也集中在這里,例如 Apache、Nginx 或 SSH。
常見文件補(bǔ)充:
/etc/resolv.conf:定義 DNS 服務(wù)器地址,用于網(wǎng)絡(luò)域名解析。/etc/crontab:系統(tǒng)級(jí)別的定時(shí)任務(wù)配置文件。
實(shí)際例子:編輯 /etc/hosts 可以添加本地主機(jī)名解析,例如 127.0.0.1 mylocalserver。你可以在這些配置文件中修改系統(tǒng)和服務(wù)的行為。
5./home(Home Directories)
英文含義:home 目錄存放的是每個(gè)用戶的家目錄。這里是每個(gè)用戶存放個(gè)人文件的地方。
作用:存放用戶個(gè)人文件,會(huì)在這里存放自己的代碼、文檔等文件。
常見文件:
/home/username:每個(gè)用戶的個(gè)人目錄,username是你的用戶名。例如,如果你的用戶名是oy,你的家目錄就是/home/oy。
PS:用戶的家目錄通常包含隱藏文件(以 . 開頭),如 .bashrc 或 .profile,用于配置用戶的 shell 環(huán)境。
實(shí)際例子:在 /home/username 下運(yùn)行 ls -a 可以看到 .bash_history,記錄用戶執(zhí)行過(guò)的命令歷史。
6./var(Variable Files)
英文含義:var 是 “variable”(可變的)的縮寫,表示存放那些內(nèi)容經(jīng)常變化的文件。通常包括日志、緩存、隊(duì)列等。
作用:存放程序運(yùn)行時(shí)產(chǎn)生的動(dòng)態(tài)數(shù)據(jù),比如日志文件、緩存文件等。
常見文件:
/var/log:存放日志文件的目錄。可以在這里查看系統(tǒng)和應(yīng)用程序的日志信息,用來(lái)調(diào)試程序。/var/tmp:存放臨時(shí)文件的目錄,這些文件在系統(tǒng)重啟后可能還會(huì)存在。/var/spool:存放程序任務(wù)隊(duì)列文件,比如郵件隊(duì)列、打印隊(duì)列等。
PS:/var 的內(nèi)容通常與系統(tǒng)運(yùn)行時(shí)間相關(guān),占用空間可能會(huì)隨時(shí)間增長(zhǎng),因此需要定期清理(如日志文件)。
常見文件補(bǔ)充:
/var/mail:存放用戶郵件的目錄(如果系統(tǒng)配置了郵件服務(wù))。
實(shí)際例子:運(yùn)行 tail -f /var/log/syslog 可以實(shí)時(shí)查看系統(tǒng)日志,用于調(diào)試。
7./lib和/lib64(Libraries)
英文含義:lib 是 “library”(庫(kù))的縮寫,包含了程序運(yùn)行所依賴的共享庫(kù)文件。
作用:存放系統(tǒng)和應(yīng)用程序使用的共享庫(kù)文件。共享庫(kù)文件包含了程序運(yùn)行時(shí)需要的函數(shù)、代碼等。
常見文件:
/lib/libc.so:C 標(biāo)準(zhǔn)庫(kù)的共享庫(kù)文件,很多程序都依賴它。/lib64/libc.so:64 位版本的 C 標(biāo)準(zhǔn)庫(kù)共享庫(kù)文件。
PS:/lib64 只存在于 64 位系統(tǒng)上,用于區(qū)分 32 位和 64 位庫(kù)文件。32 位庫(kù)可能存放在 /lib32。
實(shí)際例子:運(yùn)行 ldd /bin/ls 可以查看 ls 命令依賴的共享庫(kù)文件路徑。

8./tmp(Temporary Files)
英文含義:tmp 是 “temporary”(臨時(shí)的)的縮寫,表示存放臨時(shí)文件的地方。
作用:用于存儲(chǔ)系統(tǒng)或應(yīng)用程序在運(yùn)行過(guò)程中產(chǎn)生的臨時(shí)文件。通常這些文件不會(huì)永久保留,系統(tǒng)重啟后有時(shí)會(huì)被清除。
常見文件:
/tmp:存放臨時(shí)文件的目錄,程序在運(yùn)行時(shí)可能會(huì)創(chuàng)建文件存放在這里。比如安裝程序臨時(shí)解壓的文件、應(yīng)用程序的緩存文件等。
PS:/tmp 的內(nèi)容通常由系統(tǒng)服務(wù)(如 tmpfiles.d)或重啟時(shí)自動(dòng)清理,清理規(guī)則可能在 /etc/tmpfiles.d/ 中定義。
實(shí)際例子:運(yùn)行 echo "test" > /tmp/testfile 創(chuàng)建臨時(shí)文件,重啟后檢查是否被清除。在處理臨時(shí)數(shù)據(jù)時(shí),可能會(huì)使用這個(gè)目錄來(lái)存放文件,確保數(shù)據(jù)不會(huì)占用永久存儲(chǔ)空間。
9./dev(Device Files)
英文含義:dev 是 “devices”(設(shè)備)的縮寫,表示設(shè)備文件的目錄。
作用:存放所有設(shè)備文件,這些設(shè)備文件讓用戶和應(yīng)用程序可以與硬件設(shè)備進(jìn)行交互。設(shè)備文件可以是硬盤、鍵盤、顯示器、串口等設(shè)備的接口。
常見文件:
/dev/sda:表示系統(tǒng)中的第一個(gè)硬盤。/dev/tty:表示終端設(shè)備,用于用戶與系統(tǒng)交互的控制臺(tái)。/dev/null:空設(shè)備,寫入它的所有數(shù)據(jù)都會(huì)丟失。常用它來(lái)丟棄不需要的輸出。
PS:Linux 遵循“一切皆文件”的哲學(xué),設(shè)備文件分為字符設(shè)備(如 /dev/tty)和塊設(shè)備(如 /dev/sda)。
常見文件補(bǔ)充:
/dev/random和/dev/urandom:生成隨機(jī)數(shù)的偽設(shè)備文件,常用于加密或測(cè)試。
實(shí)際例子:運(yùn)行 cat /dev/urandom | head -c 10 可以生成 10 字節(jié)的隨機(jī)數(shù)據(jù)。常常會(huì)通過(guò)設(shè)備文件來(lái)與硬件設(shè)備進(jìn)行交互,例如讀寫硬盤,控制外部設(shè)備等。
10./mnt(Mount Points)
英文含義:mnt 是 “mount”(掛載)的縮寫,表示掛載點(diǎn)的目錄。
作用:用于臨時(shí)掛載文件系統(tǒng)的目錄。當(dāng)你掛載一個(gè)磁盤或其他文件系統(tǒng)時(shí),它的內(nèi)容會(huì)顯示在 /mnt 下的子目錄中。
常見文件:
/mnt:這個(gè)目錄通常為空,系統(tǒng)管理員可以在這里掛載外部存儲(chǔ)設(shè)備或分區(qū)。比如,掛載一個(gè) USB 驅(qū)動(dòng)器時(shí),可能會(huì)在/mnt/usb下顯示該驅(qū)動(dòng)器的文件系統(tǒng)。
PS:與 /mnt 類似,/media 也常用于掛載,但 /media 更傾向于用戶手動(dòng)掛載的設(shè)備(如 U 盤)。
實(shí)際例子:運(yùn)行 sudo mount /dev/sdb1 /mnt 將第二個(gè)硬盤的第一個(gè)分區(qū)掛載到 /mnt。有時(shí)會(huì)使用這個(gè)目錄來(lái)掛載外部存儲(chǔ)或進(jìn)行調(diào)試。
11./opt(Optional Add-on Software Packages)
英文含義:opt 是 “optional”(可選的)的縮寫,表示可選的附加軟件包。
作用:存放可選的第三方軟件包及其相關(guān)文件。與 /usr 目錄類似,但 /opt 通常用于那些不屬于系統(tǒng)基礎(chǔ)安裝的軟件。
常見文件:
/opt:存放附加軟件的目錄。比如你安裝了一些額外的第三方應(yīng)用程序,它們通常會(huì)存放在這里。
PS:/opt 中的軟件通常自成體系,包含自己的子目錄(如 /opt/appname/bin),便于獨(dú)立管理。
實(shí)際例子:安裝 Google Chrome 時(shí),它可能被放置在 /opt/google/chrome。一般會(huì)在這里安裝一些額外的應(yīng)用程序或庫(kù),以便開發(fā)自己的應(yīng)用。
12./usr(User Programs)
英文含義:usr 是 “user”(用戶的)或 “Unix System Resources”(Unix 系統(tǒng)資源)的縮寫。
作用:存放系統(tǒng)和應(yīng)用程序的可執(zhí)行文件、庫(kù)文件以及共享數(shù)據(jù)等。這個(gè)目錄包含了大部分的用戶程序和資源文件。
常見文件:
/usr/bin:存放用戶應(yīng)用程序的命令。/usr/lib:存放系統(tǒng)和程序使用的庫(kù)文件。/usr/share:存放共享數(shù)據(jù)文件,如文檔、圖標(biāo)、語(yǔ)言文件等。/usr/local:存放本地安裝的應(yīng)用程序,通常由管理員手動(dòng)安裝,不屬于系統(tǒng)默認(rèn)軟件。
PS:/usr 是系統(tǒng)安裝后的大本營(yíng),通常占用較多磁盤空間。/usr/local 是用戶自定義安裝的首選位置,避免與系統(tǒng)包管理器沖突。
常見文件補(bǔ)充:
/usr/include:存放 C/C++ 的頭文件,編譯程序時(shí)需要。

實(shí)際例子:運(yùn)行 /usr/bin/python3 啟動(dòng)系統(tǒng)安裝的 Python 解釋器。通常會(huì)在 /usr 下存放安裝的軟件包和共享資源。
13./srv(Service Data)
英文含義:srv 是 “service”(服務(wù))的縮寫,表示服務(wù)數(shù)據(jù)的目錄。
作用:存放服務(wù)提供的數(shù)據(jù),通常是系統(tǒng)服務(wù)或者用戶服務(wù)的文件。例如,網(wǎng)站的頁(yè)面文件、數(shù)據(jù)庫(kù)文件等。
常見文件:
/srv/www:存放 Web 服務(wù)器的數(shù)據(jù)文件,如網(wǎng)站的文件。/srv/ftp:存放 FTP 服務(wù)器的數(shù)據(jù)文件。
PS:/srv 的使用因系統(tǒng)而異,有些發(fā)行版可能不默認(rèn)使用,管理員可以根據(jù)需要自定義。
實(shí)際例子:運(yùn)行 Nginx 時(shí),可以將網(wǎng)站文件放在 /srv/www/html??赡軙?huì)在這里放置由服務(wù)器提供的數(shù)據(jù)或文件,如網(wǎng)站文件、數(shù)據(jù)庫(kù)文件等。
14./sys(System Information)
英文含義:sys 是 “system”(系統(tǒng))的縮寫,表示系統(tǒng)信息的目錄。
作用:提供關(guān)于系統(tǒng)內(nèi)核和硬件的實(shí)時(shí)信息。這里存放了很多虛擬文件,它們代表了系統(tǒng)的狀態(tài),可以通過(guò)讀取這些文件來(lái)獲取系統(tǒng)的運(yùn)行狀態(tài)。
常見文件:
/sys/class:存放系統(tǒng)硬件的信息,如網(wǎng)絡(luò)設(shè)備、存儲(chǔ)設(shè)備等。/sys/fs:存放文件系統(tǒng)的信息,如掛載的文件系統(tǒng)。
PS:/sys 是 sysfs 文件系統(tǒng)的一部分,與 /proc 類似,但更專注于硬件和內(nèi)核參數(shù)。
15./proc(Process Information)
英文含義:proc 是 “process”(進(jìn)程)的縮寫,表示進(jìn)程信息的目錄。
作用:提供關(guān)于運(yùn)行中的進(jìn)程、內(nèi)核等信息。這個(gè)目錄下的文件是虛擬文件,它們不存儲(chǔ)數(shù)據(jù),而是內(nèi)核實(shí)時(shí)生成的數(shù)據(jù)??梢杂盟鼇?lái)監(jiān)控系統(tǒng)狀態(tài),獲取進(jìn)程信息。
常見文件:
/proc/cpuinfo:顯示 CPU 信息。/proc/meminfo:顯示內(nèi)存使用情況。/proc/[pid]:每個(gè)進(jìn)程都有一個(gè)對(duì)應(yīng)的目錄,[pid]是進(jìn)程 ID。你可以在這里查看進(jìn)程的內(nèi)存、CPU 使用情況等。
PS:/proc 是 procfs 文件系統(tǒng),內(nèi)容完全動(dòng)態(tài)生成,占用內(nèi)存而非磁盤空間。
常見文件補(bǔ)充:
/proc/uptime:顯示系統(tǒng)運(yùn)行時(shí)間(秒)和空閑時(shí)間。
實(shí)際例子:運(yùn)行 cat /proc/self/stat 查看當(dāng)前進(jìn)程(即 cat 命令本身)的狀態(tài)??梢酝ㄟ^(guò) /proc 目錄獲取系統(tǒng)資源的詳細(xì)信息,用于性能監(jiān)控或調(diào)試。

16./boot(Boot Loader Files)
英文含義:boot 是 “bootstrap”(引導(dǎo))的縮寫,表示系統(tǒng)啟動(dòng)相關(guān)文件。
作用:存放啟動(dòng)加載程序(bootloader,如 GRUB)和內(nèi)核映像文件。
常見文件:
/boot/vmlinuz:壓縮的 Linux 內(nèi)核文件。/boot/grub/grub.cfg:GRUB 引導(dǎo)配置文件。
17./run(Runtime Data)
英文含義:run 表示運(yùn)行時(shí)數(shù)據(jù)。
作用:存放系統(tǒng)運(yùn)行時(shí)的臨時(shí)文件(如 PID 文件或鎖文件),通常在重啟后清空。
常見文件:
/run/lock:存放鎖文件,防止多個(gè)進(jìn)程沖突。
實(shí)際例子:運(yùn)行 cat /run/mysqld/mysqld.pid 查看 MySQL 服務(wù)的進(jìn)程 ID。

18./lost+found
- 英文含義:表示“丟失并找到”的文件。
- 作用:在文件系統(tǒng)檢查(如
fsck)后,損壞或未鏈接的文件會(huì)存放在這里。
建議
自己手動(dòng)查看一下目錄
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
Shell中的單中括號(hào)和雙中括號(hào)的用法詳解
shell中的中括號(hào)在條件測(cè)試中是使用最頻繁的,無(wú)論是中括號(hào)還是雙中括號(hào),可用于一些條件的測(cè)試:算術(shù)比較、文件屬性測(cè)試、字符串比較。這篇文章主要介紹了Shell中的單中括號(hào)和雙中括號(hào)的用法詳解,需要的朋友可以參考下2022-12-12
linux7下虛擬主機(jī)的三種實(shí)現(xiàn)方式
這篇文章主要介紹了linux7下虛擬主機(jī)的三種實(shí)現(xiàn)方式,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-10-10
Centos7 利用LVM實(shí)現(xiàn)動(dòng)態(tài)擴(kuò)容的方法
本篇文章主要介紹了Centos 7 利用LVM實(shí)現(xiàn)動(dòng)態(tài)擴(kuò)容的方法,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-02-02

