首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >linux中删除特殊文件

linux中删除特殊文件

作者头像
入门笔记
发布2022-06-02 18:55:07
发布2022-06-02 18:55:07
5.2K00
代码可运行
举报
文章被收录于专栏:入门小站入门小站
运行总次数:0
代码可运行

常用的几种方法

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

创建一个特殊文件

代码语言:javascript
代码运行次数:0
运行
复制
> echo "123" > -rumenz.txt
> cat ./-rumenz.txt
123

删除-rumenz.txt

代码语言:javascript
代码运行次数:0
运行
复制
> 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里面包含特殊字符,所以常规的删除会报错。

代码语言:javascript
代码运行次数:0
运行
复制
> rm -rf ./-rumenz.txt

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

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

代码语言:javascript
代码运行次数:0
运行
复制
> rm -rf -- -rumenz.txt

成功删除

删除时用引号引起来

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

代码语言:javascript
代码运行次数:0
运行
复制
> echo "123" > "<>\!*".txt

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

代码语言:javascript
代码运行次数:0
运行
复制
> rm -rf "<>\!*".txt

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

增加转义字符删除文件

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

代码语言:javascript
代码运行次数:0
运行
复制
> echo "123" > \!*.txt
> cat \!\*.txt 
123

删除需要加\转义

代码语言:javascript
代码运行次数:0
运行
复制
> rm -rf \!*.txt

按照i节点号删除

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

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

代码语言:javascript
代码运行次数:0
运行
复制
> ls -i
12345 䄀䈀䌀䐀䔀䘀䜀⸀䠀㔀䤀䨀.txt

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

代码语言:javascript
代码运行次数:0
运行
复制
> find ./ -inum 12345 -exec rm {}\;

通配符删除所有文件

代码语言:javascript
代码运行次数:0
运行
复制
> rm *.txt

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

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-02-06,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 入门小站 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 常用的几种方法
  • 创建一个特殊文件
  • 删除-rumenz.txt
  • 使用--删除-rumenz.txt文件
  • 删除时用引号引起来
  • 增加转义字符删除文件
  • 按照i节点号删除
  • 通配符删除所有文件
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档