Linux 根目錄
Linux系統頂級目錄介紹
/ 根目錄
├── bin 存放用戶二進制文件
├── boot 存放內核引導配置文件
├── dev 存放設備文件
├── etc 存放系統配置文件
├── home 用戶主目錄
├── lib 動態共享庫
├── lost+found 文件系統恢復時的恢復文件
├── media 可卸載存儲介質掛載點
├── mnt 文件系統臨時掛載點
├── opt 附加的應用程序包
├── proc 系統內存的映射目錄,提供內核與進程信息
├── root root 用戶主目錄
├── sbin 存放系統二進制文件
├── srv 存放服務相關數據
├── sys sys 虛擬文件系統掛載點
├── tmp 存放臨時文件
├── usr 存放用戶應用程序
└── var 存放郵件、系統日誌等變化文件
軟鏈接與硬鏈接
為解決文件的共享使用,Linux 系統引入了兩種鏈接:硬鏈接 (hard link) 與軟鏈接(又稱符號鏈接,即 soft link 或 symbolic link)。鏈接為 Linux 系統解決了文件的共享使用,還帶來了隱藏文件路徑、增加權限安全及節省存儲等好處。硬鏈接:
若一個 inode 號對應多個文件名,則稱這些文件為硬鏈接。換言之,硬鏈接就是同一個文件使用了多個別名。
硬鏈接可由命令 link 或 ln 創建。語法:
- link 舊文件名(源文件名) 新文件名(新文件名)
- ln 舊文件名 新文件名
由於硬鏈接是有著相同 inode 號僅文件名不同的文件,因此硬鏈接存在以下幾點特性:
- 文件有相同的 inode 及 data block;
- 只能對已存在的文件進行創建;
- 不能交叉文件系統進行硬鏈接的創建;
- 不能對目錄進行創建,只可對文件創建;
- 刪除一個硬鏈接文件並不影響其他有相同 inode 號的文件。
軟鏈接:
軟鏈接與硬鏈接不同,若文件用戶數據塊中存放的內容是另一文件的路徑名的指向(也就是說通過內容可以找到源文件的路徑),則該文件就是軟連接。軟鏈接就是一個普通文件,只是數據塊內容有點特殊。軟鏈接有著自己的 inode 號以及用戶數據塊。
軟鏈接創建語法:ln -s 舊文件名(源文件名) 新文件名(新文件名)
軟鏈接的特性:
- 軟鏈接有自己的文件屬性及權限等;
- 可對不存在的文件或目錄創建軟鏈接;
- 軟鏈接可交叉文件系統;
- 軟鏈接可對文件或目錄創建;
- 創建軟鏈接時,鏈接計數 i_nlink 不會增加;
- 刪除軟鏈接並不影響被指向的文件,但若被指向的原文件被刪除,則相關軟連接被稱為死鏈接(即 dangling link,若被指向路徑文件被重新創建,死鏈接可恢復為正常的軟鏈接)。
註意:軟鏈接創建時原文件的路徑指向使用絕對路徑較好。使用相對路徑創建的軟鏈接被移動後該軟鏈接文件將成為一個死鏈接(如下所示的軟鏈接 a 使用了相對路徑,因此不宜被移動),因為鏈接數據塊中記錄的亦是相對路徑指向。
命令 ls 或 stat 可幫助我們區分軟鏈接與其他文件並查看文件 inode 號,但較好的方式還是使用 find 命令,其不僅可查找某文件的軟鏈接,還可以用於查找相同 inode 的所有硬鏈接。
find語法:find [OPTIONS] [查找起始路徑] [查找條件] [處理動作]
OPTIONS參數 -P、-L、-H:控制軟連接的對待方式,用的不多。 查找路徑 就是個目錄路徑,相對和絕對都可以。 查找條件1,根據名稱查找
-name 查找內容
-iname 查找內容 :不區分名稱字母大小寫 -regex 正則表達式:基於正則表達式的模式查找,匹配的是整個路徑,而非單個文件名。2,根據文件從屬關系查找:
-user USERNAME:查找屬主指定用戶的所有文件; -group GRPNAME:查找屬組指定組的所有文件; -uid UID:查找屬主指定的UID的所有文件; -gid GID:查找屬組指定的GID的所有文件; -nouser:查找沒有屬主的文件; -nogroup:查找沒有屬組的文件; 3,根據文件的類型查找: -type 文件類型 f 普通文件
d 目錄文件
l 符號鏈接文件
b 塊設備 文件
c 字符設備文件
p 管道文件
s 套接字文件
4,根據文件大小來查找
-size [+|-] 大小
+ 表示:大於指定大小
-表示:大於等於0小於等於指定大小
大小格式為:數字+單位(k, M, G) 5,根據時間戳來查找 6,根據權限查找Linux 根目錄