Linux中文件與目錄的區別
- 2020 年 10 月 27 日
- 筆記
普通文件:存儲普通數據,一般就是字元串。
目錄文件:存儲了一張表,該表就是該目錄文件下,所有文件名和索引(inode)的映射關係。
通常父目錄會存儲有它目錄下文件的索引映射,說白了就是一張對應關係的索引表。(Everything is file)
想要操作裡面的文件,有了索引還不行,還要有許可權。
而且不單單只是看該普通文件的許可權,還受到該文件的父目錄、父父目錄…的許可權有關。
我們知道rwx是許可權的標識。
但rwx對不同的對象來說是不同的意義:
對於普通文件來說,rwx的意義是:
r:可以獲得這個普通文件的名字和內容。
w:可以對文件進行增刪改的操作。
x:該文件是否具有被執行的許可權。
對於目錄文件來說,rwx的意義是:
r-x:可以進入cd該目錄,可以獲得該目錄下存儲情況,但是不能修改這個目錄內部存儲的文件(目錄)的名字,也不能在該目錄下新建文件和目錄
-wx:可以進入cd該目錄,但是看不到該目錄下的存儲情況(ls不可用),可以往該目錄下添加、修改、刪除文件。可以通過cat來讀取該目錄下的文件or目錄的內容,由於得不到該目錄下存儲了那些文件,在不知情的情況下只能通過猜,cat + 文件名獲得文件內容,所以這樣依然不保密。
–x:可以進入cd該目錄,看不到存儲情況,也不能往該目錄下添加、修改、刪除文件。但是依然可以通過cat + xx(猜)來獲得該目錄下的文件的內容。
rw-:不能進入cd該目錄,用ls僅僅可以獲得文件名和目錄名,因為獲取不到這些文件的inode號,當然也不能獲得該目錄下的文件的內容。不能往該目錄下添加、修改、刪除文件。
其實說到底,他們也是沒什麼區別的
本質上他們都是磁碟上的一段01,目錄的數據就是當前目錄內的版文件結構及權在磁碟中的位置,文件的數據就是文件本身(字元串)
其實無論是linux還是Windows在刪除文件的時候其實文件的內容是沒有被刪除的,刪除的只是文件的引用,就是的文件所在的磁碟中的物理位置的位元組標記為刪除,數據恢復的原理就是把這個刪除標記去掉。
以上就是我通過百度整理出來的要點,目前也在學習階段,說的不好的地方請指正。