歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux基礎 >> Linux技術

Linux系統中修改與查看文件屬性的基本方法

chattr
chattr 修改文件在Linux第二擴展文件系統(E2fs)上的特有屬性
符號模式有+-=[ASacdisu]幾種格式.
操作符`+'用來在文件已有屬性的基礎上增加選定的屬性; `-'用來去掉文件上的選定的屬性;而`='用來指定該文件的唯一屬性.
字符`ASacdisu'用作文件新屬性的選項: 不更新atime(A),同步更新(S),只能添加(a), 壓縮(c),不可變(i),不可轉移(d),刪除保護(s)以及不可刪除(u).
-R
    遞歸地修改目錄以及其下內容的屬性. 如果在遞歸目錄時遇到了符號鏈接,遍歷將跳過.
-V
    詳盡地給出chattr的輸出信息並打印出程序的版本.
-vversion
    設置文件系統的版本.
當修改設置了'A'屬性的文件時,它的atime記錄不會改變. 這可以在筆記本電腦系統中避免某些磁盤I/O處理.
設置了`a'屬性的文件只能在添加模式下打開用於寫入. 只有超級用戶可以設置或清除該屬性.
設置了`c'屬性的文件在磁盤上由內核自動進行壓縮處理. 從該文件讀取時返回的是未壓縮的數據. 對該文件的一次寫入會在保存它們到磁盤之前進行數據壓縮.
設置了`d'屬性的文件不能對其運行 dump(8) 程序進行備份.
設置了`i'屬性的文件不能進行修改:你既不能刪除它, 也不能給它重新命名,你不能對該文件創建鏈接, 而且也不能對該文件寫入任何數據. 只有超級用戶可以設置或清除該屬性.
當刪除設置了`s'屬性的文件時,將對其數據塊清零 並寫回到磁盤上.
當修改設置了`S'屬性的文件時, 修改會同步寫入到磁盤上;這與應用 到文件子系統上的`sync'掛載選項有相同的效果.
當刪除設置了`u'屬性的文件時, 將會保存其內容. 這使得用戶可以請求恢復被刪除的文件.
例:

復制代碼代碼如下:
[root@localhost ~]# chattr +i nginx.conf #設置該文件不能進行任何形勢的修改
[root@localhost ~]# mv nginx.conf nginx.conf_bak
mv: 無法將"nginx.conf" 移動至"nginx.conf_bak": 不允許的操作
[root@localhost ~]# lsattr nginx.conf #查看chattr設置的權限
----i--------e- nginx.conf
[root@localhost ~]# chattr -i nginx.conf #取消-i的權限設置
[root@localhost ~]# lsattr nginx.conf #查看chattr設置的權限
-------------e- nginx.conf

lsattr
lsattr 顯示文件在Linux第二擴展文件系統上的特有屬性
-R
    遞歸地列出目錄以及其下內容的屬性.
-V
    顯示程序版本.
-a
    列出目錄中的所有文件,包括以`.'開頭的文件的屬性.
-d
    以列出其它文件的方式那樣列出目錄的屬性, 而不列出其下的內容.
-v
    顯示文件版本.
例:

復制代碼代碼如下:
[root@localhost ~]# chattr +i nginx.conf #設置該文件不能進行任何形勢的修改
[root@localhost ~]# mv nginx.conf nginx.conf_bak
mv: 無法將"nginx.conf" 移動至"nginx.conf_bak": 不允許的操作
[root@localhost ~]# lsattr nginx.conf #查看chattr設置的權限
----i--------e- nginx.conf
[root@localhost ~]# chattr -i nginx.conf #取消-i的權限設置
[root@localhost ~]# lsattr nginx.conf #查看chattr設置的權限
-------------e- nginx.conf

Copyright © Linux教程網 All Rights Reserved