一、根目錄
Linux文件系統的根目錄是所有目錄和文件的起始點,通常是表示為“/”。所有的文件和目錄都是從根目錄開始,它是Linux系統排列目錄的基礎,是Linux系統中最頂層的目錄。
在Linux系統中,“/”不僅只代表文件系統的根目錄,還可以表示其他文件系統的根目錄。例如,/etc/fstab表示文件/etc下的fstab文件。
二、bin目錄
bin目錄包含了Linux系統運行時必要的二進制文件,如/bin/bash(BASH Shell)。在系統啟動過程中,一些重要的啟動文件,如/sbin/init,也位於/bin目錄下。bin目錄中的文件都是可以直接運行的,如果用戶沒有設定PATH環境變量,bin目錄一般也會默認添加到環境變量中。
三、usr目錄
usr目錄是Linux系統中的一個重要目錄之一。它包含了用戶使用的應用程序和文件,與系統運行有關的程序和文件則會放在/usr/sbin。例如,用戶的應用程序、文檔、圖像和音頻等一些資源文件。這個目錄還包括man(manual)手冊的二進制文件/usr/bin/man和/usr/share/man目錄下的手冊頁等等。
四、lib目錄
lib目錄存放了在Linux系統下許多程序和命令所需的動態鏈接庫,通常都是一些擴展名為.so(或.so.x)的文件。這個目錄是和/usr目錄結合使用的,我們可以看到/lib目錄下會有很多路徑符號鏈接(symbolic link),指向了/usr/lib目錄。
五、etc目錄
etc目錄包含了系統配置文件,它用於存放系統配置文件和其他一些重要的腳本文件,用戶可以修改這些文件以改變系統的默認配置,如/etc/fstab(文件系統表格)以及/etc/passwd(用戶配置文件)等。與普通的二進制文件不同,etc目錄下的文件內容都是文本文件。
//示例代碼,顯示etc目錄下的文件列表 $ ls /etc acpi hosts.allow mke2fs.conf reject systemd adduser.conf hosts.deny modprobe.conf resolv.conf syslog-ng alternatives hp modules rpc terminfo apt init.d modules-load.d rpc.conf texmf bindresvport.blacklist issue motd rpcbind.conf timezone conf.d issue.net mtab rsyslog.conf updatedb.conf cron.d java my.cnf rsyslog.d vim
六、home目錄
用戶的所有數據和文件默認被存放於home目錄下,不同的用戶的home目錄是不同的。例如,如果用戶名為user,那麼這個用戶的home目錄就是/home/user。這個目錄下包含了用戶目錄和桌面文件夾,為用戶存儲有關個人設置和文件的所有目錄。所有的用戶除了root用戶都擁有自己的home目錄,用於存放自己的數據和配置。
七、var目錄
/var目錄用於存放系統運行過程中經常變化的文件,很多服務的日誌都在這個目錄中,如/var/log或/var/run。此外,/var/spool/mail目錄也在這個目錄中,用於存放每個用戶的郵件。
八、tmp目錄
tmp目錄常用於存放Linux系統中的臨時文件,是一個臨時的存儲位置。在系統沒有正常關機的情況下,tmp目錄下的文件會在下一次啟動的時候被刪除。tmp目錄不應該被用來存儲重要的數據,只應該用來存放臨時的文件。
九、dev目錄
dev目錄包含了Linux系統中的設備文件,這些文件讓系統可以訪問硬件設備,例如硬盤、鼠標和鍵盤等。dev目錄下的設備文件依賴於底層的硬件設備,因此它的內容會因系統中連接的設備而有所不同。
十、proc目錄
proc文件系統是內核的映像,以文件系統的形式提供了內核信息,讓用戶能夠在系統運行時查閱和操作內核的狀態。proc文件系統包含了處理器、內存和其他硬件的信息,也可以查看和修改系統運行時相關的進程、CPU、內存和網絡等信息。在proc目錄下的“/proc/”文件夾中,PID是進程的編號,我們可以查看進程的詳細信息。
//示例代碼,顯示當前系統中的所有進程 $ ps aux USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND root 1 0.0 0.1 167388 9576 ? Ss 11:22 0:01 /usr/lib/systemd/systemd --switched-root --system --deserialize 22 root 2 0.0 0.0 0 0 ? S 11:22 0:00 [kthreadd] root 3 0.0 0.0 0 0 ? I< 11:22 0:00 [rcu_gp] root 4 0.0 0.0 0 0 ? I< 11:22 0:00 [rcu_par_gp] root 6 0.0 0.0 0 0 ? I< 11:22 0:00 [kworker/0:0H-kblockd] root 8 0.0 0.0 0 0 ? I< 11:22 0:00 [mm_percpu_wq]
總結
本文介紹了Linux文件系統的目錄結構,包括根目錄、bin目錄、usr目錄、lib目錄、etc目錄、home目錄、var目錄、tmp目錄、dev目錄和proc目錄。對於一個Linux系統運維工程師來說,了解和熟悉Linux系統的目錄結構是一個必備的能力,這可以幫助工程師更好地理解和操作整個系統。
原創文章,作者:VETJ,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/147139.html