乐趣区

关于linux:linux中删除特殊文件

罕用的几种办法

  • 删除时带上门路
  • 删除时应用 —
  • 删除时用引号引起来
  • 应用转义字符辅助删除
  • 依照 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/…
微信公众号: 入门小站

退出移动版