1. 程式人生 > >操作系統中的目錄詳解

操作系統中的目錄詳解

系列 mkdir 保存 linu ges 分隔 組成 查找 而在

首先要搞清楚一些基本的問題

1.文件就是一些數據的集合,計算機的信息都是通過

文件來保存

2.windows下的文件夾與linux下的目錄是同一個東西

3.目錄是一種文件,一種特殊的文件,有時候也被稱為目錄文件

4.文件目錄也叫文件控制塊,一般存儲文件名,文件的邏輯結構,物理結構

存儲控制信息類等。

5.目錄文件由一個或多個文件目錄組成

6.文件路徑:由目錄與分隔符以及文件名組成

7.計算機裏只有絕對路徑和相對路徑兩種形式

絕對路徑是以根目錄為基準的

相對路徑是以當前目錄為基準的

簡單來說,一個目錄就是一張索引表,這張索引表的每一行對應一個文件目錄:

記載文件名到物理地址的映射以及一些其他信息

正題

在沒有接觸操作系統時候,我們通常對與文件夾的理解是這樣的:

文件夾就像一個袋子將裏面的文件或者文件夾裝起來,我們進入到

文件夾裏會看到很多文件,然後就可以進行一系列操作。這是因為

操作系統高度的封裝性,讓我們產生這一錯覺。

實際上,我們進入文件夾看到的只是文件夾這張索引表的一些內容,

當我們想查看該文件夾下的某一文件時,操作系統是通過這張表找到

文件的物理位置,然後在開始讀取數據。

技術分享圖片

從上圖可以看出來,在linux中所有的文件夾都顯示為4096Byte大小,這與我們想象的不一樣,因為這些文件夾裏包含著很多其他文件,不應該

這麽小啊,這是因為在當前目錄這張索引表上,只會記錄一層的映射關系,當前目錄下的文件夾裏有什麽系統並不關心,而在linux下目錄文件就

是4096Byte大小,如果想要知道文件夾下所有文件的大小之和,需要按著目錄進行搜索。

基本的文件操作:

創建文件:需要給新文件分配必要的外存空間,並且在文件目錄中為其建立一個目錄項

簡單來說就是在說索引表上,添加一行信息

刪除文件:從目錄中找到要刪除的目錄項,然後再回收該文件占用的空間

讀文件:通過用戶名去目錄中查找,從而得到被讀文件在外存中的位置,再進行寫操作

寫文件:同上,再進行寫操作

在linux中,使用mkdir命令來創建目錄

使用touch命令來創建一個空文件

在windows裏,創建一個空文件夾也有著額外的命令,

由此可見文件與目錄(文件夾)這兩者還是有很大的區別的,系統也將這兩者區別對待

操作系統中的目錄詳解