linux中,一切皆檔案
檔案的型別
普通檔案,沒有特殊功能的檔案,普通文字檔案,二進位制可執行檔案,音影片,都是普通檔案
目錄檔案,目錄也是一種檔案,目錄檔案裡面放其他檔案
連結檔案,專指軟連線,相當於windows的快捷方式
裝置檔案,具有特殊功能的檔案,代表一個物理裝置或者虛擬的物理裝置,如印表機,磁碟等,一般在/dev/下
管道檔案,一般用於程序間通訊,維護很少用到
檔案屬性
內容修改時間,mtime,最後modify內容的時間
檔案訪問時間,atime,最後訪問檔案的時間
許可權變更事件,ctime,檔案的屬主,許可權等變更的時間
出於效能考慮,atime可能不會立即更新
修改檔案內容時,mtime和ctime同時更新
修改檔案許可權,屬主時,ctime更新
檔案許可權
檔案許可權分讀寫執行
執行者分本人,同組,其他人
合起來9種,本人讀寫執行,同組讀寫執行,其他人讀寫執行
用9個bit表示
9個普通許可權為前面還有3個特殊許可權為,分別是euid,egid,sticky粘滯位
euid,egid分別是對可執行檔案x許可權的提升
sticky粘滯位用於共享目錄包含檔案
如使用者的密碼儲存在/etc/passwd裡面,普通使用者並沒有許可權讀這個檔案,那麼怎樣修改自己的密碼並且能夠把新密碼儲存到passwd檔案中,這就是/bin/passwd檔案設定了一個euid,普通使用者執行時,許可權提升到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節點刪掉
軟連線,硬連結
軟連線相當於windows的快捷方式,軟連線的inode裡面放的不是資料塊的位置,而是一個檔案路徑。所以,他可以跨磁碟
硬連結相當於別名,指向的是同一個檔案的資料塊。如/a/c 和 /b/c是同一個檔案的硬連結,那麼/a目錄的資料塊的c的inode和/b目錄的資料塊裡面的c的inode相同