在Linux中rm -rf的威力是十分巨大的,特別是附帶了 -f 參數,很多新手都幹過用root用戶執行 rm -rf /命令這種傻事,若是雲服務器沒有快照,簡直就是災難,從根目錄開始全部文件被遞歸刪除,連繫統都被損壞。服務器
可是,偶爾也會遇到使用rm -rf也刪除不了的文件,執行後報rm: cannot remove `.user.ini': Operation not permitted,以下圖:blog
這時候須要使用到Linux的chattr命令, chattr命令用於改變文件屬性。這項指令可改變存放在ext2文件系統上的文件或目錄屬性,這些屬性共有如下8種模式:
a:讓文件或目錄僅供附加用途。
b:不更新文件或目錄的最後存取時間。
c:將文件或目錄壓縮後存放。
d:將文件或目錄排除在傾倒操做以外。
i:不得任意更動文件或目錄。
s:保密性刪除文件或目錄。
S:即時更新文件或目錄。
u:預防之外刪除。
語法chattr[-RV][-v<版本編號>][+/-/=<屬性>][文件或目錄...]參數
-R 遞歸處理,將指定目錄下的全部文件及子目錄一併處理。
-v<版本編號> 設置文件或目錄版本。
-V 顯示指令執行過程。
+<屬性> 開啓文件或目錄的該項屬性。
-<屬性> 關閉文件或目錄的該項屬性。遞歸
=<屬性> 指定文件或目錄的該項屬性。rem
進入到`.user.ini'所在目錄,執行一下 lsattr -a,查看文件下下邊包含文件的屬性,看到`.user.ini'有個'i'屬性,表明不得任意更動文件或目錄,正是此屬性在做祟:it
而後執行命令:io
chattr -i .user.ini雲服務
就能夠去除掉此屬性,而後咱們再執行刪除,就能夠順利刪除掉了語法