其實linux就是一個文件系統。
文件的類型
普通文件,沒有特殊功能的文件,普通文本文件,二進制可執(zhí)行文件,音視頻,都是普通文件
目錄文件,目錄也是一種文件,目錄文件里面放其他文件
鏈接文件,專指軟連接,相當于windows的快捷方式
設備文件,具有特殊功能的文件,代表一個物理設備或者虛擬的物理設備,如打印機,磁盤等,一般在/dev/下
管道文件,一般用于進程間通信,維護很少用到
文件屬性
內容修改時間,mtime,最后modify內容的時間
文件訪問時間,atime,最后訪問文件的時間
權限變更事件,ctime,文件的屬主,權限等變更的時間
出于性能考慮,atime可能不會立即更新
修改文件內容時,mtime和ctime同時更新
修改文件權限,屬主時,ctime更新
文件權限
文件權限分讀寫執(zhí)行
執(zhí)行者分本人,同組,其他人
合起來9種,本人讀寫執(zhí)行,同組讀寫執(zhí)行,其他人讀寫執(zhí)行
用9個bit表示
9個普通權限為前面還有3個特殊權限為,分別是euid,egid,sticky粘滯位
euid,egid分別是對可執(zhí)行文件x權限的提升
sticky粘滯位用于共享目錄包含文件
如用戶的密碼保存在/etc/passwd里面,普通用戶并沒有權限讀這個文件,那么怎樣修改自己的密碼并且能夠把新密碼保存到passwd文件中,這就是/bin/passwd文件設置了一個euid,普通用戶執(zhí)行時,權限提升到root,就可以寫/etc/passwd文件了。具有euid的權限的文件,本人權限x位顯示s,如果x位為0,顯示S,具有egid權限的文件,同組權限x位顯示s,x位為0,顯示S
stickey,看/tmp這個目錄,他的其他人權限的x位顯示t,這就說明這個目錄設置有粘滯位,里面的文件受到保護,多個用戶在同一個目錄中寫文件,只能刪除自己的文件。
設置粘滯位的目錄其他人權限的x位顯示t,如果這個目錄的其他人權限的x為是0,則顯示T
inode
文件數據放在數據塊中,磁盤上有一塊,放數據塊的索引號
要在/var/log/下面建立一個mysql.log,先找到根目錄,然后找到var對應的inode,然后到inode表中,找到log的數據塊,然后申請一個inode,在log的數據塊中記錄下申請的inode號。然后申請合適大小的數據塊,在inode里面記錄下數據塊的位置,然后inode里面記錄下權限。
所以,文件的刪掉只是把inode節(jié)點刪掉
軟連接,硬鏈接
軟連接相當于windows的快捷方式,軟連接的inode里面放的不是數據塊的位置,而是一個文件路徑。所以,他可以跨磁盤
硬鏈接相當于別名,指向的是同一個文件的數據塊。如/a/c 和 /b/c是同一個文件的硬鏈接,那么/a目錄的數據塊的c的inode和/b目錄的數據塊里面的c的inode相同。





