檔案管理
by:fengciaimei
一、根目錄層級結構介紹
檔案系統遵循FHS(filesyststem hierarchy standard)規范,文中定義了各個目錄作用,

boot目錄:
此目錄存放系統啟動程序中的引導目錄,其中grub引導程式及其組態檔,vmlinuz內核檔案,initramfs類偽檔案系統
bin目錄:
在centos6及以前版本中存放了系統啟動時用到的最基礎命令,也是說有用戶的PATH路徑下必須重要路徑之一,此目錄不能單獨磁區,此目錄下不能又子目錄,
在centos7、8中此目錄已經變成了/usr/bin的軟連接,也就是在后續系統列中榷訓了bin、usr/bin相關分類概念,
sbin目錄:
同bin目錄一樣,都是系統啟動時用到的基礎管理命令,此目錄同樣不能單獨磁區,
在centos6及以前版本中sbin目錄時獨立目錄
centos7、8中時/usr/sbin目錄的軟連接,
dev目錄:
linux系統中存放設備檔案和特殊檔案的目錄,同樣不能單獨磁區,此目錄下設備檔案分字符設備檔案和塊設備檔案,
字符設備檔案,又稱線性設備檔案,以c為型別識別符號,線性訪問設備,
塊設備檔案,又稱隨機設備檔案,以b為型別識別符號,隨性訪問設備,
etc目錄:
主要用于存放系統程式組態檔的目錄,此目錄也是層級目錄,但現在大多數程式會以程式名為檔案夾名的形式在etc目錄下存放組態檔,
root目錄:
root用戶的家目錄,可有可無,一般不建議root用戶登錄,
home目錄:
普通用戶家目錄,可有可無,
lib目錄:
基礎庫檔案存放路徑,此目錄存放/bin /sbin中程式所用到庫檔案,同時此目錄下的modules中存放了內核模塊檔案,此目錄不可單獨磁區,在cenos7\8中此目錄已經變成了/usr/lib目錄的軟鏈接,
lib64目錄:
基于x86_64系統中必要的基礎庫檔案存放路徑,同樣是/bin和/sbin中此程式所用到的庫檔案存放路徑,不可獨立磁區,在cenos7\8中此目錄已經變成了/usr/lib64目錄的軟鏈接,
tmp目錄:
程式臨時檔案保存路徑,此目錄權限特殊,
media目錄:
可移動設備的掛載點,如:cdrom\floppy\U盤等
mnt目錄:
其它檔案系統掛載點,
usr目錄:
usr,現在已經不是user的縮寫,而是Unix System Resource的簡寫,此目錄的重要性僅次于根目錄,不可獨立磁區,
bin 主要存放保證系統擁有完整功能而提供的應用程式
sbin 更豐富的管理類應用程式存放路徑
lib 提供更加豐富的庫檔案
Include C程式頭檔案存放路徑
share 幫助檔案的存放路徑
local 獨立層級結構,里面又提供bin sbin etc lib等,第三方應用程式存放路徑,
src 原始碼存放路徑
opt目錄:
早期第三方應用程式存放路徑,
var目錄:
從名稱上講,主要存放可以變化的資料,日志、郵件、臨時檔案等等
cache 應用程式快取的存放目錄
lib 發生狀態變化資料的存放目錄
local 主要用于存放/usr/local下發生狀態變化資料的應用程式存放目錄
lock 鎖檔案的存放目錄
log 日志檔案的存放目錄
opt 用于存放/opt下發生狀態變化資料的應用程式存放目錄
run 用于存放運行中行程產生的資料
spool 應用程式資料池
tmp 保存系統兩次重啟之間產生的臨時資料
proc目錄:
存放內核和行程相關資訊的虛擬檔案系統,大多數為內核引數,此目錄中的資料存放于記憶體當中,
sys目錄:
用于輸出當前系統上硬體設備相關資訊虛擬檔案系統,
selinux目錄:
selinux相關的安全策略等資訊的存盤位置,
應用程式各組成部分存放路徑:
二進制程式:/bin /sbin /usr/bin /usr/sbin /usr/local/bin /usr/localsbin /opt
庫檔案: /lib /lib64 /usr/lib /usr/lib64 /usr/local/lib /usr/local/lib64
組態檔: /etc /usr/local/etc
幫助檔案: /usr/share /usr/local/share
二、檔案名命名規則
1,檔案名長度不能超過255個字符
2,不能使用/當檔案名,也就是支持除了使用/以外的任意字符
3,檔案名嚴格區分大小寫
4, 目錄也是檔案,在同一路徑下,兩個檔案不能重名
5,以 . 開頭的檔案為隱藏檔案
6,包括路徑在內檔案名稱最長4095個位元組
三、檔案名通配
* 匹配零個或多個任意字符,但是不能匹配點開頭的隱藏檔案
? 匹配任意一個字符,
[] 匹配指定范圍內的任意一個字符,
[a-e] 會匹配出 a A b B c C d D e,是按小大小大的形式匹配,
~ 表示家目錄
~+或. 表示當前作業目錄
~- 表示之前所在的目錄
^ 取反
[^] 去皮指定范圍外的任意單個字符
字符集:
[[:upper:]] 大寫字母集
[[:lower:]] 小寫字母集
[[:digit:]] 數字集
[[:alpha:]] 大小寫字母集
[[:alnum:]] 字母和數字集
[[:blank:]] 水平空白字符集
[[:space:]] 水平或垂直空白字符集
[[:punct:]] 標點符號集
示例說明,演示[a-e]會匹配出大寫字母
[root@CentOS7 data]# mkdir test
[root@CentOS7 data]# cd test
[root@CentOS7 test]# mkdir {a..z}
[root@CentOS7 test]# ls
a A b B c C d D e E f F g G h H i I j J k K l L m M n N o O p P q Q r R s S t T u U v V w W x X y Y z Z
[root@CentOS7 test]# ls -d [a-e]
a A b B c C d D e
示例說明,解釋星號不能匹配隱藏檔案
[root@CentOS8 1]# touch 1 2 3 .4 [root@CentOS8 1]# ls 1 2 3 [root@CentOS8 1]# ls -a . .. 1 2 3 .4 [root@CentOS8 1]# rm -f * [root@CentOS8 1]# ls -a . .. .4
四、檔案元資料和節點表結構
每個檔案的屬性資訊,比如:檔案的大小,時間,型別等,稱為檔案的元資料(meta data),
這些元資料是存放在node(index node)表中,node 表中有很多條記錄組成,第一條記錄對應的存放了一個檔案的元資料資訊
第一個node表記錄對應的保存了以下資訊:
inode number 節點號
檔案型別
權限
UID
GID
鏈接數(指向這個檔案名路徑名稱個數)
該檔案的大小和不同的時間戳
指向磁盤上檔案的資料塊指標
有關檔案的其他資料


目錄也是一種檔案,目錄檔案內容中記錄了該目錄下各個檔案的檔案名和對應的inode號碼,

五、軟硬鏈接
軟鏈接:
相當于windows中的快捷方式,可以跨檔案系統參考,可以參考目錄,軟連接檔案實際只是記錄了源檔案相對或絕對路徑,源檔案遭到破壞后軟連接檔案也就不能使用了,
軟鏈接如果使用相對路徑,是相對于原檔案的路徑,而非相對于當前目錄,
語法: ln -s filename [linkname]
硬鏈接:
硬鏈接本質上就給一個檔案起一個新的名稱,實質是同一個檔案,創建硬鏈接后檔案的鏈接次數加1,
不能對目錄創建硬鏈接,不支持夸檔案系統創建硬鏈接,
語法:ln filename [linkname ]
軟硬鏈接對比說明:
1.、軟鏈接本質上是一個新的檔案、只是一個快捷方式,硬鏈接本質上是同一個檔案,重新命名了一個新名稱
2、 創建軟鏈接不會增加鏈接數,創建硬鏈接、會增加檔案鏈接數
3、軟鏈接支持跨磁區、跨設備、目錄,硬鏈接不支持跨磁區、跨設備、目錄
4、創建軟鏈接節點編號與原始檔案節點編號不相同,創建硬鏈接,節點編號與原始檔案節點編號相同
5、軟鏈接檔案與原始檔案有主次之分,軟鏈接檔案依賴原始檔案,硬鏈接檔案與原始檔案關系平等
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/117710.html
標籤:Linux
上一篇:CentOS7.6搭建LAMP-wordpress論壇搭建
下一篇:Linux常用命令
