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/...微信公众号:入门小站
推荐阅读
- 热闹中的孤独
- Shell-Bash变量与运算符
- JS中的各种宽高度定义及其应用
- 2021-02-17|2021-02-17 小儿按摩膻中穴-舒缓咳嗽
- 深入理解Go之generate
- 异地恋中,逐渐适应一个人到底意味着什么()
- 我眼中的佛系经纪人
- 《魔法科高中的劣等生》第26卷(Invasion篇)发售
- “成长”读书社群招募
- 2020-04-07vue中Axios的封装和API接口的管理