Linux:无法删除文件,不允许操作

文章目录

问题描述

我的是 centos 8.0 系统,今天在删除文件时,删除失败,提示无法删除,不允许操作,如下
《Linux:无法删除文件,不允许操作》
首先查看文件权限
《Linux:无法删除文件,不允许操作》
发现文件没有执行权限,添加权限,如下失败,不允许操作
《Linux:无法删除文件,不允许操作》

解决问题

查看文件是否被禁止操作,如下所示
《Linux:无法删除文件,不允许操作》
简单解释以下 ia 参数,后面附上命令详解

a:Append Only,系统只允许在这个文件之后追加数据,不允许任何进程覆盖或截断这个文件。如果目录具有这个属性,系统将只允许在这个目录下建立和修改文件,而不允许删除任何文件。
  
i:Immutable,系统不允许对这个文件进行任何的修改。如果目录具有这个属性,那么任何的进程只能修改目录之下的文件,不允许建立和删除文件。

解决办法,删除 ia 参数,如下所示删除成功
《Linux:无法删除文件,不允许操作》

命令详解

命令部分参考菜鸟教程,新建一个测试文件 test0.d,以下命令详解围绕该文件
《Linux:无法删除文件,不允许操作》
利用上面新建的测试文件,对下面命令参数进行解释

lsattr 命令

Linux lsattr命令用于显示文件属性,用chattr执行改变文件或目录的属性,可执行lsattr指令查询其属性

语法

lsattr [-adlRvV] [文件或目录...]

参数

  • -a  显示所有文件和目录,包括以”.“为名称开头字符的额外内建,现行目录”.“与上层目录”…”
    《Linux:无法删除文件,不允许操作》

  • -d  显示当前目录名称,而非其内容
    《Linux:无法删除文件,不允许操作》

  • -l  显示当前目录下所有文件/目录的权限
    《Linux:无法删除文件,不允许操作》

  • -R  递归处理,将指定目录下的所有文件及子目录一并处理

显示当前目录下所有文件权限(如果是文件夹以文件形式显示)
《Linux:无法删除文件,不允许操作》

  • -v  显示文件或目录版本
    《Linux:无法删除文件,不允许操作》

  • -V  显示版本信息
    《Linux:无法删除文件,不允许操作》

chattr 命令

Linux chattr命令用于改变文件属性

这项指令可改变存放在ext2文件系统上的文件或目录属性,这些属性共有以下8种模式:

  • a:让文件或目录仅供附加用途。
  • b:不更新文件或目录的最后存取时间。
  • c:将文件或目录压缩后存放。
  • d:将文件或目录排除在倾倒操作之外。
  • i:不得任意更动文件或目录。
  • s:保密性删除文件或目录。
  • S:即时更新文件或目录。
  • u:预防意外删除。

注意:文件属性为 -a 时,追加文件内容需要使用 echo 命令,不能使用 vim ,原因就是 vim 会生成新的文件,echo 是在源文件上追加, 想了解具体去别的,看我另一篇博客
Linux:vim 与 echo 的区别.

语法

chattr [-RV][-v<版本编号>][+/-/=<属性>][文件或目录...]

参数

  • -R 递归处理,将指定目录下的所有文件及子目录一并处理

  • -v<版本编号> 设置文件或目录版本

  • -V 显示指令执行过程

  • +<属性> 开启文件或目录的该项属性

  • -<属性> 关闭文件或目录的该项属性

  • =<属性> 指定文件或目录的该项属性

实例

给 test 目录下所有文件添加 a (只能追加属性),其他参数类似
《Linux:无法删除文件,不允许操作》

    原文作者:不懂一休
    原文地址: https://blog.csdn.net/qq_41538097/article/details/107653682
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞