linux中删除特殊文件

举报
入门小站 发表于 2022/06/06 22:37:04 2022/06/06
【摘要】 常用的几种方法删除时带上路径删除时使用 –删除时用引号引起来使用转义字符辅助删除按照i节点号删除使用通配符删除 创建一个特殊文件> echo "123" > -rumenz.txt> cat ./-rumenz.txt123 删除-rumenz.txt> rm -rf -rumenz.txtrm: invalid option -- 'u'Try 'rm ./-rumenz.txt' to...

常用的几种方法

  • 删除时带上路径
  • 删除时使用 –
  • 删除时用引号引起来
  • 使用转义字符辅助删除
  • 按照i节点号删除
  • 使用通配符删除

创建一个特殊文件

> echo "123" > -rumenz.txt
> cat ./-rumenz.txt
123

删除-rumenz.txt

> rm -rf -rumenz.txt
rm: invalid option -- 'u'
Try 'rm ./-rumenz.txt' to remove the file ‘-rumenz.txt’.
Try 'rm --help' for more information.

由于-rumenz.txt里面包含特殊字符,所以常规的删除会报错。

> rm -rf ./-rumenz.txt

可以添加路径./就可以成功删除

使用--删除-rumenz.txt文件

> rm -rf -- -rumenz.txt

成功删除

删除时用引号引起来

对于特殊字符,如<>!*等组成的文件如何删除呢?,创建<>\!*.txt文件

> echo "123" > "<>\!*".txt

对于这种类型的文件,我们需要用引号将文件名包含起来

> rm -rf "<>\!*".txt

注意:文件名为!*的文件就不能通过这样的方式删除,因为!*是有其他含义的,可以使用转义删除

增加转义字符删除文件

既然!*无法通过加引号的方式删除,那还有什么办法吗?有!删除时,增加转义字符:

> echo "123" > \!*.txt
> cat \!\*.txt 
123

删除需要加\转义

> rm -rf \!*.txt

按照i节点号删除

很多时候,文件名压根没法输入,因为它们都是一堆乱码。我们可以使用inode删除

在操作系统中,它是如何识别一个文件的呢?它并不是通过文件名,而是通过一个iNode号,即i节点号来识别不同的文件,文件名不过是这个文件其中的一个属性而已。

> ls -i
12345 䄀䈀䌀䐀䔀䘀䜀⸀䠀㔀䤀䨀.txt

上面的文件名根本无法正常输入,这时候就可以使用inode删除。12345就是该文件的inode号。

> find ./ -inum 12345 -exec rm {}\;

通配符删除所有文件

> rm *.txt

直接匹配txt删除,容易误删,删除前考虑清楚。

原文链接:https://rumenz.com/rumenbiji/linux-rm-special-files.html
微信公众号:入门小站

  • 回复【1001】获取 linux常用命令速查手册
  • 回复【10010】获取 阿里云ECS运维Linux系统诊断
  • 回复【10012】获取 Linux学习笔记【强悍总结值得一看】
  • 回复【10013】获取 shell简明教程

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

举报
请填写举报理由
0/200