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

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

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

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

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

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

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

18./lost+found
- 英文含義:表示“丟失并找到”的文件。
- 作用:在文件系統(tǒng)檢查(如
fsck)后,損壞或未鏈接的文件會存放在這里。
建議
自己手動查看一下目錄
總結(jié)
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
Centos7 利用LVM實現(xiàn)動態(tài)擴容的方法
本篇文章主要介紹了Centos 7 利用LVM實現(xiàn)動態(tài)擴容的方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-02-02

