您好,登錄后才能下訂單哦!
這篇文章運用簡單易懂的例子給大家介紹linux中文件無法刪除的解決方法,代碼非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。
普通刪除
如果文件是當前用戶的,那么使用 rm 命令就可以刪除
rm -rf file.sh
如果無法刪除,則嘗試使用 root 用戶刪除,如果無法刪除那么請看下面的說明。
需要了解的命令
如果普通的刪除方式沒有用,那么我們需要了解下面的命令來進行刪除
lsattr
lsattr 命令用于顯示文件的屬性,使用方式如下
# 列出 file.sh 文件的屬性 lsattr file.sh # 列出當前目錄下所有文件以及文件夾的屬性 lsattr
屬性說明
i 屬性設置之后可使文件不能被刪除、改名,設置連接也無法寫入或添加數據,只有 root 用戶才能設置
a 屬性設置之后,文件只能增加數據,既不能刪除也不能修改數據,只有 root 用戶才能設置
A 設置A屬性后,若你訪問此文件或目錄時,它的訪問時間 atime 不會被修改,可避免I/O較慢的機器過度訪問磁盤。這對速度較慢的計算機有幫助。
s 屬性設置之后,如果文件被刪除,將從硬盤徹底刪除
S 屬性設置之后,文件將同步寫入硬盤(一般為異步)u 屬性設置之后,文件刪除后數據內容還存在磁盤中,可以找回文件
e 代表該文件為可執行文件
chattr
chattr 用于修改文件屬性,該命令請切換至 root 用戶下使用,如果是 ubuntu 用戶可在命令前加 sudo 進行修改
# 為 file.sh 文件增加 i 標識 chattr +i file.sh # 為 file.sh 文件去除 i 標識 chattr -i file.sh # 為 file.sh 增加 i, a 兩個標識 chattr +ia file.sh # 為 file.sh 文件移除 i, a 兩個標識 chattr -ia file.sh
實際操作
由上文中得知當文件設置 i 和 a 任意一個屬性我們就無法對文件進行刪除操作,那么我們首先移除 i, a 屬性,然后執行刪除:
# 移除 i, a 屬性 chattr -ia file.sh # 查看是否移除成功 lsattr file.sh # 移除文件 rm -rf file.sh
如果文件還未刪除成功,則我們需要考慮文件所屬的文件夾是否設置了 i 或 a 屬性(這一點確實很難發現)
# 退回上一級 cd .. # 直接使用 lsattr 命令,這樣可以列出當前文件夾下所有文件和文件夾的屬性 # 不要使用 lsattr 文件夾 這樣的語法,這樣是列出該文件夾下的文件的屬性lsattr
如果文件夾被設置則對文件夾的屬性執行移除操作,然后再刪除文件夾里面的文件
關于linux中文件無法刪除的解決方法就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。