200字范文,内容丰富有趣,生活中的好帮手!
200字范文 > linux如何彻底的删除文件

linux如何彻底的删除文件

时间:2020-08-14 06:45:55

相关推荐

linux如何彻底的删除文件

一、使用rm命令删除

直接用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:~$

如果是文件夹删除,则需要rm -rf

(base) eve@Eve:~$ rm -rf a(base) eve@Eve:~$

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

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

(base) eve@Eve:~$ rm a.txtrm: cannot remove 'a.txt': Operation not permitted(base) eve@Eve:~$ sudo rm a.txtrm: cannot remove 'a.txt': Operation not permitted(base) eve@Eve:~$ su rootPassword:root@Eve:/home/eve# rm a.txtrm: 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.txtUsage: 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:~$ lschattr.out(base) eve@Eve:~$ sudo ./chattr.out -i a.txt

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

(base) eve@Eve:~$ rm a.txtrm: 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 文件设置为不允许被修改,可以使用以下命令:cssCopy codesudo chattr +i /var/log/messages如果要取消该属性,则可以使用以下命令:cssCopy codesudo chattr -i /var/log/messages

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。