首頁 >運維 >linux運維 >linux檔案無法刪除

linux檔案無法刪除

angryTom
angryTom原創
2019-11-08 11:15:415331瀏覽

linux檔案無法刪除

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伺服器維護



#

以上是linux檔案無法刪除的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn