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
# 退回上一级 cd .. # 直接使用 lsattr 命令,这样可以列出当前文件夹下所有文件和文件夹的属性 # 不要使用 lsattr 文件夹 这样的语法,这样是列出该文件夹下的文件的属性lsattr
#
以上是linux檔案無法刪除的詳細內容。更多資訊請關注PHP中文網其他相關文章!