一、使用rm命令删除

  1. 直接用rm
    先用ls -alt看下文件信息及拥有者等
    可以看到拥有者是eve用户,所以在eve用户的终端中rm命令即可,
    如果是root或者其他,则优先用root或其他账号进行删除
(base) eve@Eve:~$ ls -alt a.txt
-rw-rw-r-- 1 eve eve 0 2月  26 16:17 a.txt
(base) eve@Eve:~$ rm a.txt
(base) eve@Eve:~$
  1. 如果是文件夹删除,则需要rm -rf
(base) eve@Eve:~$ rm -rf a
(base) eve@Eve:~$

二、如果rm删不掉,则需要用chattr修改文件的扩展属性

现象如下:即使使用管理员权限或root权限也删除不了

(base) eve@Eve:~$ rm a.txt
rm: cannot remove 'a.txt': Operation not permitted
(base) eve@Eve:~$ sudo rm a.txt
rm: cannot remove 'a.txt': Operation not permitted
(base) eve@Eve:~$ su root
Password:
root@Eve:/home/eve# rm a.txt
rm: cannot remove 'a.txt': Operation not permitted

同时可以看到a.txt的属性如下:

root@Eve:/home/eve# ls -alt a.txt
-rw-rw-r-- 1 eve eve 0 2月  26 15:58 a.txt

三、解决办法:

lsattr查看文件扩展属性

root@Eve:/home/eve# lsattr a.txt
----i---------e----- a.txt
说明:(更多说明参考四:lsattr及chattr介绍)
i:设置文件或目录不可修改、不可删除、不可重命名、不可移动;
e:设置文件或目录只在系统重新启动后才能访问。

解决办法,通过chattr命令来修改删掉i属性即可。

(base) eve@Eve:~$ sudo chattr -i a.txt
(base) eve@Eve:~$ lsattr a.txt
--------------e----- a.txt
(base) eve@Eve:~$ rm a.txt
(base) eve@Eve:~$

说明:chattr要用管理员权限才能修改,所以加sudo
修改后,通过lsattr可以查看修改后的扩展权限已经没有了i,所以rm删除即可删除成功。

注意: 如果chattr移除i属性还是报错,如:

(base) eve@Eve:~$  sudo chattr -i a.txt
Usage: chattr [-RVf] [-+=aAcCdDeijsStTu] [-v version] files...

说明chattr命令有问题,建议从github下载源码,或者从这里下载源码:
然后执行gcc chattr.c -o chattr.out
再用生成的chattr.out来删除i属性,命令参考如下:

(base) eve@Eve:~$  gcc chattr.c -o chattr.out
(base) eve@Eve:~$ ls
chattr.out
(base) eve@Eve:~$ sudo ./chattr.out -i a.txt

再执行删除即可删除成功:

(base) eve@Eve:~$ rm a.txt
rm: cannot remove 'a.txt': Operation not permitted

四、lsattr及chattr介绍

lsattr 命令是用于显示 Linux 文件和目录的扩展属性的工具。
这些属性是文件系统提供的一种机制,用于控制文件和目录的访问、更改和删除等行为。lsattr 命令的常用选项如下:-a:显示隐藏文件和目录的属性;
-d:如果指定的参数是目录,那么只显示目录的属性;
-R:递归显示目录及其子目录中的所有文件和目录的属性;
-v:显示每个文件或目录的版本号。
常用的文件或目录属性如下:i:设置文件或目录不可修改、不可删除、不可重命名、不可移动;
a:设置只能在文件或目录中添加内容,不能修改和删除;
c:设置自动压缩文件或目录;
d:设置目录被删除时,其内容应该被保留在磁盘上,但不可访问;
s:设置文件或目录在被删除时,其空间将被清空,但数据可以恢复;
u:设置文件或目录被删除时,可以通过恢复工具来恢复;
e:设置文件或目录只在系统重新启动后才能访问。
这些属性可以通过 chattr 命令进行设置和修改。例如,chattr +i filename 将文件 filename 的属性设置为不可修改、不可删除、不可重命名、不可移动。
chattr 是 Linux 系统下的一个命令,用于修改文件或目录的属性。chattr 命令可用于设置或清除某些扩展属性,这些属性有助于在文件或目录中启用或禁用某些高级功能。chattr 命令只能被 root 用户或具有 CAP_LINUX_IMMUTABLE 许可的用户执行。chattr 命令的一些常用选项和属性如下:-R 递归地更改目录及其下面的所有文件和子目录的属性。
-v 显示修改属性的详细信息。
+ 启用某个属性。
- 禁用某个属性。
= 设置属性,删除不在命令行中指定的所有属性。
a 使文件或目录只能以追加方式打开(只允许在文件末尾添加数据)。
c 允许文件自动压缩。
d 允许文件被写入后进行同步写入。
i 防止文件被修改、重命名、删除或链接。
j 允许文件被写入后进行同步写入,但仅适用于 Ext3 和 Ext4 文件系统。
s 允许文件被安全地删除。
u 允许文件被恢复。
例如,要将 /var/log/messages 文件设置为不允许被修改,可以使用以下命令:css
Copy code
sudo chattr +i /var/log/messages
如果要取消该属性,则可以使用以下命令:css
Copy code
sudo chattr -i /var/log/messages

linux如何彻底的删除文件相关推荐

  1. centos删除文件不释放_Linux运维知识之linux centos下彻底删除文件 解决删除文件文件夹硬盘空间不释放不减少...

    本文主要向大家介绍了Linux运维知识之linux centos下彻底删除文件 解决删除文件文件夹硬盘空间不释放不减少,通过具体的内容向大家展现,希望对大家学习Linux运维知识有所帮助. 最近删除一 ...

  2. linux系统怎么取消下载,Linux系统怎么彻底删除文件

    本文整理于网络,仅供阅读参考 Linux系统怎么彻底删除文件 linux系统彻底删除文件方法 linux删除目录很简单,很多人还是习惯用rmdir,不过一旦目录非空,就陷入深深的苦恼之中,现在使用rm ...

  3. linux 下生成docx,linux下创建、删除文件和文件夹命令.docx

    linux下创建.删除文件和文件夹命令.docx 还剩 6页未读, 继续阅读 下载文档到电脑,马上远离加班熬夜! 亲,喜欢就下载吧,价低环保! 内容要点: 学习 Linux 二(创建.删除文件和文件夹 ...

  4. linux 下删除批量文件命令,linux系统中批量删除文件与空文件删除的命令

    linux命令在系统中有两种类型:内置Shell命令和Linux命令.接下来是小编为大家收集的linux系统中批量删除文件与空文件删除的命令,希望能帮到大家. linux系统中批量删除文件与空文件删除 ...

  5. linux删除文件不需要确定,linux的rm命令-删除文件或目录

    linux的rm命令-删除文件或目录 英文原意:remove 命令所在路径:/bin/rm 语法:rm -r 文件或目录,为目录时要加-r,且删除需要用户确认,如果不需要用户确认则 语法为:rm -r ...

  6. linux ftp 删文件夹,Linux FTP账号无法删除文件夹如何解决

    本文我们针对Linux FTP账号无法删除文件夹问题,和大家分享解决办法,希望能帮助到大家. 用ftp账号上传了wordpress系统.我用的FTP工具是:FileZilla在删除这个文件的时候,基本 ...

  7. linux把root用户删了,linux root用户没法删除文件

    linux文件有用户或用户组权限,即可对文件进行任何操作.但是除了所有者权限,部分文件系统的文件还有扩展属性. 拥有超级权限的用户可以使用chattr的权限增加文件扩展属性,这项指令可改变存放在ext ...

  8. Linux rm命令:删除文件或目录

    当 Linux 系统使用很长时间之后,可能会有一些已经没用的文件(即垃圾),这些文件不但会消耗宝贵的硬盘资源,还是降低系统的运行效率,因此需要及时地清理. rm 是强大的删除命令,它可以永久性地删除文 ...

  9. linux下创建、删除文件夹

    1.在 Linux 下,我们可以使用 mkdir 命令创建目录,mkdir 是"make directory" 的缩写词. 运行 mkdir 命令 默认情况下,不带任何参数运行 m ...

  10. 【Linux命令】rm删除文件

    Linux 命令 第一章 Linux 命令 删除文件 文章目录 Linux 命令 前言 一.linux 删除命令 二.使用步骤 1.删除文件 2.删除文件夹 3.删除当前文件夹下所有内容 总结 前言 ...

最新文章

  1. Docker + gunicron + supervisord 部署python应用
  2. MySQL8.0设置远程访问权限
  3. Linux IPC实践(8) --共享内存/内存映射
  4. 利用Visual Studio的搜索功能和正则表达式统计代码行数
  5. JavaScript入门(part3)--变量
  6. 【Ubuntu-Tensorflow】程序结束掉GPU显存没有释放的问题
  7. H2O_Hyper_V-master网页端管理程序源码
  8. 音视频开发(1)---Red5流服务器搭建
  9. bzoj 4127: Abs(树链剖分+线段树)
  10. linux设置r镜像,一劳永逸,R的个性化默认配置
  11. packetfence 7.2网络准入部署(二)
  12. websphere设置共享库
  13. 计算机应用技术实验教程 网页制作,HtmlExperiment网页制作基础教程
  14. The Truman Show
  15. 换肤方案,换肤策略,App插件式换肤实现方案
  16. Java 数字转字符串并指定位数,位数不足,自动补零
  17. surfer-地形图渲染
  18. 什么是资产管理系统 EAM资产管理系统的作用
  19. 看看外贸业务员到底是干什么的?
  20. 完整的DJ表演工具包djay Pro 2 Mac,DJ打碟神器

热门文章

  1. 【CodingNoBorder - 12】无际软工队 - 求职岛:BETA 阶段测试报告
  2. RecyclerView选中Item滚动到屏幕中间 / 指定位置
  3. 使用Deepxde求解微分方程
  4. uniapp获取手机号(详细教程附代码)
  5. NAudio读取音频数据格式不一致的问题
  6. Daily English Dictation Number Twelve
  7. 兴业证券:资产注入 资本市场的“盛宴”
  8. 「量子客」2月全球量子计算发展内参
  9. (十)【模电】(多级放大电路)差分放大电路
  10. java版app自动化测试初始化模板