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

linux中删除特殊文件

原创
作者头像
入门笔记
修改2021-11-01 10:30:18
修改2021-11-01 10:30:18
6K0
举报
文章被收录于专栏:入门小站入门小站

### 常用的几种方法

- 删除时带上路径

- 删除时使用 --

- 删除时用引号引起来

- 使用转义字符辅助删除

- 按照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

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

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

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档