RH033 單元15 Linux文件系統深入瞭解

 

一、分區和文件系統

 

1. 磁盤驅動器分成分區

 

2. 使用文件系統格式化分區以便用戶存儲數據

 

默認文件系統:ext3rhel5)、ext4rhel6)、xfsrhel7

 

其他常見文件系統包括:ext2msdos(通常用於軟盤)、iso9660(通常用於CD)、GFSGFS2(通常用於SAN

 

 

二、索引節點

 

1. 索引節點表含有ext2ext3文件系統中全部文件的列表

 

2. 索引節點(index node)是表格中的條目,含有文件信息(元數據),其中包括:

 

文件類型(普通文件、目錄)

 

文件權限

 

鏈接數:與索引節點編號關聯的文件名數

 

文件所有者的用戶ID,以及相關聯組的組ID

 

時間戳,其中包括上次訪問時間、上次修改時間、以及上次索引節點更改時間

 

硬盤上的數據位置

 

有關文件的其他元數據

 

 

三、目錄

 

1. 計算機對文件的引用就是 索引節點編號

 

2. 人工引用文件的方式是通過文件名

 

3. 目錄是人們用於引用文件的文件名filename和計算機用於引用文件的索引節點編號index node number間的映射

 

ls -i命令可以顯示索引節點編號

[root@desktop24 ~]# ls -li
 
62453 -rw-------. 1 root root    4250 Jul  5 01:29 anaconda-ks.cfg
 
62887 -rw-r--r--. 1 root root 9908224 Jul  5 01:32 boot.iso

 

四、cp和索引節點

 

1. cp命令將:

 

分配未使用的索引節點編號,在索引節點表中添加一條新目錄

 

在目錄中創建一條目錄項,將某一名稱與此索引節點編號相關聯

 

將數據複製到新文件

 

五、mv與索引節點

 

1. 如果mv命令的目標是與來源位於相同的文件系統,那麼mv命令將:

 

以新文件名創建新目錄條目

 

刪除使用舊文件名的舊目錄條目

 

2. 不會影響索引節點表(時間戳除外)或磁盤上的數據位置:不會移動任何數據!

 

3. 如果目標是其他文件系統,mv的作用是複製並刪除

 

 

六、rm和索引節點

 

1. rm命令將:

 

減少鏈接數,以此釋放可重複使用的索引節點編號

 

把數據塊標識在空閒列表中

 

刪除目錄條目

 

2. 實際上並未刪除數據,但是當其他文件使用此數據塊時將覆蓋數據

 

 

七、硬鏈接

 

1. 硬鏈接會增加額外目錄項以引用單個文件

 

文件系統上的某個物理文件

 

每個目錄均引用同一索引節點編號

 

增加鏈接數:rm命令可減少鏈接數,只要還有一個鏈接文件就會一直保存,鏈接數爲0時文件將被刪除

 

無法跨驅動器或分區進行操作

 

2. 語法: ln  filename  [filename]

 

 

 

八、符號鏈接(軟鏈接)

 

1. 符號鏈接指向其他文件

 

ls -l顯示鏈接名稱和所引用的文件

 

lrwxrwxrwx. 1 root root 11 Jul 26 20:58 test -> /etc/passwd

 

文件類型:l用於符號鏈接

 

符號鏈接的內容即其引用的文件的名稱

 

2. 語法

 

ln -sfilename  linkname

 

符號鏈接的大小就是路徑名稱的字符數,出現例外是因爲路徑名稱中含有非ascii字符。

 

 

九、七種基本文件類型

 

-常規文件

 

d目錄

 

符號鏈接

 

塊特殊文件

 

字符特殊文件

 

命名管道

 

套接字

 

-常規文件:概括性術語,適用於不屬於以下列出的任一類型的文件。術語“類型”並不是指文件的內容,而是指操作系統處理文件的方式。圖像、文本文件、硬鏈接和可執行文件都是常規文件,因爲操作系統與這些文件進行交互時不需要特殊的規則。

 

d目錄:目錄可以被認爲是一種特殊的文本文件,內核會將其假定爲文本文件,但遠不止於此。目錄的核心只是名稱和索引節點編號的列表,但是OS使用目錄組織磁盤上文件(否則文件的數量將相當駭人),造成用戶“處於”shell當前焦點所在的任一目錄的假象。

 

l符號鏈接:另一實際上爲文本文件但受到操作系統特殊處理的文件類型,符號鏈接包含的文本說明了一個絕對或相對的路徑。鏈接中的字節數與其指向的路徑的字符數相同。

 

c字符特殊文件:Linux的一條核心設計理念就是:一切都是文件,硬件也不例外。引用硬件的文件不是常規文件;它們屬於兩個特殊文件之一。字符特殊文件用於與硬件一次通信一個字符。

 

b塊特殊文件:用於與硬件一次通信一個數據塊:512字節、1024字節、2048字節;只要適合此類型的硬件即可。塊和字符特殊文件通常位於/dev目錄中。

 

p命名管道:在進程間傳輸數據的文件。它本身並不存儲數據,但是在將數據寫入命名管道的進程和從命名管道讀取數據的另一進程之間傳輸數據。可以使用mknod命令創建命名管道:

 

[root@desktop24 tmp]# mknod mypipe p

 

[root@desktop24 tmp]# ll

 

prw-r--r--. 1 root root 0 Jul 27 08:57 mypipe

 

 

s套接字:用於內部進程通信的程序化機制。用戶(甚至管理員)明確地創建套接字這種情況極爲少見。

 

 

十、檢查可用空間

 

1. baobab按目錄創建圖形使用報告

 

應用程序--->系統工具--->Disk Usage Analyzer

 

2. du按目錄創建文本使用報告(以千字節爲單位)

 

列出所有子目錄中每個文件的默認大小:

 

-h1024進制)和-H1000進制)以更易讀取的單位顯示大小

 

-s概括了子目錄

 

-iindex node

 

3. df按文件系統創建文本使用報告(以千字節爲單位)

 

同樣使用-h-H選項

 

-T包含了系統文件類型

 

 

十一、存檔(打包)文件和壓縮存檔

 

1. 存檔會將多個文件放置到同一目標文件中

 

易於備份、存儲和傳輸

 

tar  - 標準Linux存檔命令 

 

2. 存檔通常都會經過壓縮

 

壓縮文件所採用的算法

 

通過解壓縮還原原始文件

 

tar 天生即可支持使用gzipgunzip(僅解壓縮)或bzip2bunzip2(僅解壓縮)的壓縮

 

 

十二、基本tar選項

 

1. 操作(必須其中一項)

 

-c  創建一個存檔

 

-t  列出一個存檔

 

-x  從存檔中取出文件

 

2. 通常必須

 

-f  archivename  文檔存檔名稱

 

3. 可選

 

-z  使用gzip壓縮

 

-j  使用bzip2壓縮

 

-v  提供詳細信息

 

--xattrs  存儲SELinuxACL屬性

 

 

tar  [選項]  指定目錄及備份的名稱(目標)需要備份的目錄/文件(源)

 

選項順序:打包壓縮,解壓解包

 

tar  -xvf文件名-C解包到指定目錄

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章