-rumenz.txt> cat ./-rumenz.txt123 删。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节点号删除
【linux中删除特殊文件】很多时候,文件名压根没法输入,因为它们都是一堆乱码。我们可以使用inode删除
在操作系统中,它是如何识别一个文件的呢?它并不是通过文件名,而是通过一个iNode号,即i节点号来识别不同的文件,文件名不过是这个文件其中的一个属性而已。
> ls -i 12345 ????????????.txt

上面的文件名根本无法正常输入,这时候就可以使用 inode删除。 12345就是该文件的 inode号。
> find ./ -inum 12345 -exec rm {}\;

通配符删除所有文件
> rm *.txt

直接匹配 txt删除,容易误删,删除前考虑清楚。
原文链接:https://rumenz.com/rumenbiji/...
微信公众号:入门小站

    推荐阅读