linux如何彻底的删除文件

这篇具有很好参考价值的文章主要介绍了linux如何彻底的删除文件。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、使用rm命令删除

  1. 直接用rm
    先用ls -alt看下文件信息及拥有者等
    可以看到拥有者是eve用户,所以在eve用户的终端中rm命令即可,
    如果是root或者其他,则优先用root或其他账号进行删除
(base) eve@Eve:~$ ls -alt a.txt
-rw-rw-r-- 1 eve eve 0 226 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 226 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

再执行删除即可删除成功:文章来源地址https://www.toymoban.com/news/detail-483043.html

(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如何彻底的删除文件的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Linux 删除文件命令(超详细)

    在 Linux 中,我们可以使用  rm  命令来删除文件。 rm  命令允许我们删除一个或多个文件。不过要注意,在使用  rm  命令时要小心,因为一旦删除,文件将无法恢复。确保在删除文件之前确认不再需要它们。下面就来详细说说: 要删除单个文件,只需使用  rm  命令后跟要

    2024年02月04日
    浏览(51)
  • Linux管理文件命令(2)rm命令-删除文件或者目录

    目录 前言 一、rm命令的介绍 二、命令语法及参数 三、参考实例  四、删错文件如何恢复 rm是一个很危险的命令,使用的时候要特别当心,尤其对于新手更要格外注意,如执行“rm -rf /*”命令则会清空系统中所有的文件,甚至无法恢复回来。所以我们在执行之前一定要再次确

    2024年02月07日
    浏览(70)
  • linux sed命令删除一行/多行_sed删除第一行/linux删除文件某一行

    linux常用命令(9):sed命令(编辑/替换/删除文本) linux sed命令删除一行/多行_sed删除第一行/linux删除文件某一行 linux sed批量修改替换文件中的内容/sed特殊字符 本文主要讲解如何删除txt文件中的某一行内容,sed命令更多详细内容参考《linux常用命令(9):sed命令(编辑/替换/删除文本

    2024年01月21日
    浏览(46)
  • Linux 删除文件夹命令(超详细)

    欢迎大家关注公众号【小白技术圈】,发送B02 or b02 领取Linux学习资料大礼包! 如果要删除一个空的文件夹,非常简单。打开终端,执行以下命令: 例如,如果要删除名为 “my_folder” 的空文件夹,命令如下: 要删除一个非空文件夹,我们需要使用 rm 命令,并结合一些选项来

    2024年02月04日
    浏览(60)
  • Linux rm命令:删除文件或目录

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

    2024年02月07日
    浏览(55)
  • Linux——如何使用sftp命令轻松上传和下载文件

    对于Linux用户来说,通过sftp命令进行文件上传和下载是一个非常常见的操作。SFTP是SSH File Transfer Protocol的简写,它是基于安全shell(SSH)协议的一种文件传输协议,可以实现加密传输,防止网络窃听和篡改。本文将向您介绍如何使用sftp命令轻松上传和下载文件。 一、安装和配

    2024年03月09日
    浏览(53)
  • 如何在Linux系统中使用SCP命令传输文件和文件夹?

    在Linux系统中,SCP(Secure Copy)是一种用于在本地和远程主机之间安全传输文件和文件夹的命令行工具。它基于SSH协议,并提供了加密和身份验证机制,确保数据的安全性和完整性。 本文将详细介绍如何使用SCP命令在Linux系统中传输文件和文件夹。 SCP命令的基本语法如下: 选

    2024年02月06日
    浏览(57)
  • Jtti:linux删除文件夹命令和目录命令是什么?

    在Linux中,删除文件和目录是每个用户都必须知道的基本操作。尽管这似乎是一项简单的任务,但删除文件和目录的方法多种多样,每种方法都有其特定的用例。在本教程中,小编将给大家分析一下linux删除文件夹命令和目录命令是什么? 一、linux删除文件夹命令是什么? 删除文

    2024年02月10日
    浏览(58)
  • Linux如何使用find命令搜索到自己想要的文件呢?

    文件搜素专栏全部文章 如何使用find命令搜索到自己想要的文件 ack 命令的基本用法详解 ag命令的使用详解 在 Linux 中查找文件名包含某个的文件,可以使用  find  命令来实现。 find  命令可以在指定目录下递归搜索文件,并根据指定的条件进行过滤。 下面是使用  fi

    2024年02月03日
    浏览(62)
  • Linux[find命令]-根据路径和条件搜索指定文件并删除

    find命令:用于根据给定的路径和条件查找相关文件或目录,参数灵活方便,且支持正则表达式,结合管道符后能够实现更加复杂的功能。 基本语法格式:find pathname -options 搜索内容 [其他选项] pathname:用来指定搜索路径。 options:用来指定搜索内容。 搜索内容:用来指定搜索

    2024年02月05日
    浏览(61)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包