1. 程式人生 > >Linux系統的目錄結構及各目錄作用

Linux系統的目錄結構及各目錄作用

使用tree命令檢視Linux目錄結構,這個命令預設是沒有安裝的,需要手動安裝一下。

[[email protected] xf]# mount /dev/sr0 /media/

mount: /dev/sr0 防寫,將以只讀方式掛載

[[email protected] xf]# rpm -ivh /media /Packages/tree-1.6.0-10.el7.x86_64.rpm

準備中...                          ################################# [100%]

正在升級/安裝...

   1:tree-1.6.0-10.el7                ################################# [100%]

檢視根’/’的目錄結構,由於根的結構實在是太龐大,這裡就不寫出

[[email protected] xf]# tree /

         可以看下根’/’下存在的檔案。

[[email protected] ~]$ ls /

bin   dev  home  lib64  mnt  proc  run   srv  tmp  var

boot  etc  lib   media  opt  root  sbin  sys  usr

下面詳細說明根下的目錄作用:

目錄

說明

/

處於Linux系統樹形結構的頂端,它是Linux檔案系統的入口,所有的目錄、檔案、裝置都在/之下

/bin

Bin是Binary的縮寫。常用的二進位制命令目錄。比如ls、cp、mkdir、cut等;和/usr/bin類似,一些使用者級gun工具

/boot

存放系統啟動相關的檔案,例如:kernel.grub(引導裝載程式)

/dev

dev是Device的縮寫。裝置檔案目錄,比如音效卡、磁碟。在Linux中一切都被看做檔案,包括終端裝置、磁碟等等

裝置檔案:/dev/sda,/dev/sda1./dev/tty1,/dev/tty2,/dev/pts/1, /dev/zero,/dev/null,/dev/cdrom

/etc

常用系統或二進位制安裝包配置檔案預設路徑和伺服器啟動命令目錄

passwd 使用者資訊檔案

shadow 使用者密碼檔案

group 儲存使用者組資訊

fstab 系統開機自動掛載分割槽列表

hosts 設定使用者自己的IP與主機名對應資訊

/home

普通使用者預設的家目錄

/lib

庫檔案存放目錄,函式庫目錄

/lost+found

只在CentOS6中有

預設為空,被FSCK(file system check用來檢查和維護不一致的檔案系統。若系統掉電或磁碟發生問題, 可利用fsck命令對檔案系統進行檢查)用來放置零散檔案(沒有名稱的檔案)當系統非法關機後,這裡就會存放一些檔案。

在 centos6 版本下,每個分割槽的掛載點下會有些目錄

/mnt

/media

一般用來臨時掛載儲存裝置的掛載目錄,比如cdrom、U盤等目錄

/opt

表示的是可選擇的意思,有些軟體包也會被安裝在這裡

/proc

作業系統執行時,程序(正在執行中的程式)資訊及核心資訊(比如CPU、硬碟分割槽、記憶體資訊等)存放在這裡。/proc目錄是偽裝的檔案系統proc的掛載目錄,proc並不是真正的檔案系統。因此,這個目錄是一個虛擬目錄,它是系統記憶體的對映,我們可以通過直接訪問這個檔案來獲取系統資訊。也就是說,這個目錄的記憶體不再硬碟上而是在記憶體裡。

檢視CPU資訊

cat /proc/cpuinfo

/sys

系統目錄,存放硬體資訊的相關檔案

/run

執行目錄,存放的是系統執行時的資料,比如程序的PID檔案

/srv

服務目錄,存放的是我們本地服務的相關檔案

/sbin

大多數涉及系統管理的命令都存放在該目錄中,它是超級許可權使用者root的可執行命令存放地,普通使用者無許可權執行這個目錄下的命令,凡是目錄sbin中包含的命令都是root許可權才能執行的。

/tmp

用於存放臨時檔案,又是使用者執行程式的時候會產生一些臨時檔案。/tmp就是用來存放臨時檔案的。/var/tmp目錄和該目錄的作用是類似的,不能存放重要資料,它的許可權比較特殊。

[[email protected] ~]$ ls -ld /tmp

drwxrwxrwt. 27 root root 4096 12月 23 19:18 /tmp

t粘滯位(sticky bit)目錄的sticky位表示這個目錄裡的檔案只能被owner和root刪除

/var

系統執行和軟體執行時產生的日誌資訊,該目錄的內容是經常變動的,存放的是一些變化的檔案。比如 /var/log目錄用來存放系統日誌,還有/var/mail、/var/spool/cron

/usr

存放應用程式和檔案

/usr/bin 普通使用者使用的應用程式

/usr/sbin 管理員使用的應用程式

/usr/lib 庫檔案Glibc(32位)

/usr/lib64 庫檔案Glibc

/lib

/lib64

都在/usr/目錄下

這個目錄裡存放著系統最基本的動態連結共享庫,白喊許多倍/bin和/sbin中的程式使用的庫檔案,目錄/usr/lib中含有更多用於使用者程式的庫檔案。作用類似於windows裡的dll檔案,幾乎所有的應用程式都需要用到這些共享庫

注:lib***.a是靜態庫

Lib***.so是動態庫

靜態庫在編譯時被載入到二進位制檔案中

動態庫在執行時載入到程序的記憶體空間中

簡單的說:這些庫視為了讓你的程式能過正常編譯執行的