简介
基于文件node节点删除是最简单有效的方法。
不用纠结各种转义。
实际举例:
当前目录:
root@peko1-k1:~/vmha# ls
a.json checker.py 'conf'$'\r' constants.py_bak doc misc.py README.md start_checker.sh 'udo su - infomgr'
call_stackstorm.py check_myself.py conf.d deploy init.sh myredis.py requirements.txt test
checker_ping.py conf constants.py dmz_test log myredissentinel.py site_db.py truncate_host_vmha.py
root@peko1-k1:~/vmha# ls
a.json checker.py 'conf'$'\r' constants.py_bak doc misc.py README.md start_checker.sh 'udo su - infomgr'
call_stackstorm.py check_myself.py conf.d deploy init.sh myredis.py requirements.txt test
checker_ping.py conf constants.py dmz_test log myredissentinel.py site_db.py truncate_host_vmha.py
root@peko1-k1:~/vmha# git st
On branch dev
Your branch is up to date with 'origin/dev'.
Untracked files:
(use "git add <file>..." to include in what will be committed)
".\r"
"conf\r"
udo su - infomgr
nothing added to commit but untracked files present (use "git add" to track)
举例:
root@peko1-k1:~/vmha# ls -ilrta
total 144
12062838 -rw-r--r-- 1 root root 4210 Dec 27 16:50 check_myself.py
12062837 -rw-r--r-- 1 root root 8361 Dec 27 16:50 checker_ping.py
12062835 -rw-r--r-- 1 root root 4224 Dec 27 16:50 call_stackstorm.py
12062834 -rw-r--r-- 1 root root 6970 Dec 27 16:50 a.json
12064672 -rw-r--r-- 1 root root 710 Dec 27 16:50 truncate_host_vmha.py
12197667 drwxr-xr-x 2 root root 4096 Dec 27 16:50 test
12064671 -rw-r--r-- 1 root root 158 Dec 27 16:50 start_checker.sh
12064670 -rw-r--r-- 1 root root 30494 Dec 27 16:50 site_db.py
12064668 -rw-r--r-- 1 root root 95 Dec 27 16:50 README.md
12064667 -rw-r--r-- 1 root root 2646 Dec 27 16:50 myredissentinel.py
12064666 -rw-r--r-- 1 root root 1117 Dec 27 16:50 myredis.py
12064665 -rw-r--r-- 1 root root 1648 Dec 27 16:50 misc.py
12197665 drwxr-xr-x 2 root root 4096 Dec 27 16:50 log
12197659 drwxr-xr-x 2 root root 4096 Dec 27 16:50 doc
12197653 drwxr-xr-x 2 root root 4096 Dec 27 16:50 dmz_test
12197631 drwxr-xr-x 3 root root 4096 Dec 27 16:50 deploy
12064663 -rw-r--r-- 1 root root 742 Dec 27 16:50 constants.py_bak
12062839 drwxr-xr-x 15 root root 4096 Dec 27 16:51 conf.d
**12064664 lrwxrwxrwx 1 root root 12 Dec 27 17:11 'conf'$'\r' -> conf.d/peko1**
12064673 lrwxrwxrwx 1 root root 12 Dec 27 17:15 conf -> conf.d/peko1
12064662 lrwxrwxrwx 1 root root 17 Dec 27 17:15 constants.py -> conf/constants.py
12064677 -rw-r--r-- 1 root root 9818 Dec 27 17:22 checker.py
**12062757 -rw-r--r-- 1 root root 1589 Dec 28 09:33 'udo su - infomgr'**
12064679 -rw-r--r-- 1 root root 373 Dec 28 15:53 init.sh
12064669 -rw-r--r-- 1 root root 3219 Dec 28 15:54 requirements.txt
find ./ -inum 12064664 -exec rm {} \;
find ./ -inum 12062757 -exec rm {} \;
find ./ -inum 12064674 -exec rm {} \;
扩展阅读
ls 命令详解
http://t.zoukankan.com/LinuxSuDa-p-4255102.html
简介:
"-l",使用长格式显示
"-a",显示文件名以"."开头的隐藏文件
-i : 显示文件索引节点号(inode),一个索引节点代表一个文件
"-r",reverse,改变归类的顺序,例如和-t配合使用,-tr和-t显示顺序是颠倒的。
-t : 用文件和目录的更改时间排序
Linux删除特殊字符文件
https://blog.csdn.net/ichen820/article/details/123127869
简介:
Linux删除特殊字符文件
IChen.
于 2022-02-25 10:42:21 发布
2585
收藏 1
分类专栏: Linux 文章标签: linux 运维 服务器
版权
华为云开发者联盟
该内容已被华为云开发者联盟社区收录,社区免费抽大奖🎉,赢华为平板、Switch等好礼!
加入社区
Linux
专栏收录该内容
73 篇文章10 订阅
订阅专栏
1.删除带“-”的文件名的方法
使用-- (2个横杠)
#touch -- -%F-%T
#rm -- -%F-%T
rm: remove regular empty file `-%F-%T'?
使用绝对路径并TAB特殊文件名
#rm /root/-%F-%T
rm: remove regular empty file `/root/-%F-%T'?
2\. 删除包含其它特殊字符的文件
对于含有其它特殊字符的文件名,如<>!*等,
可用
“”转义符\或“”双引号
#touch ">123file"
#rm ">123file"
rm: remove regular empty file `>123file'?
#touch '!rul4'
#rm \!rul4 如果在此处使用TAB键系统将会自动帮你调整为正确删除的语法。
rm: remove regular empty file `!rul4'?
3.删除系统打不出的乱码文件名
先使用ls -i 查到文件的inode,然后用find命令删除
-a 显示所有文件
# ls -ilrt
100985 -rw-r--r-- 1 tbcs users 0 Apr 18 11:32 -MXV9.log
最前面一列的100985就是文件的inode,在主机上执行如下命令即可删除文件
find ./ -inum 100985 -exec rm {} \;
文章知识点与官方知识档案匹配,可进一步学习相关知识
云原生入门技能树首页概览8487 人正在系统学习中
————————————————
版权声明:本文为CSDN博主「IChen.」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:[https://blog.csdn.net/ichen820/article/details/123127869](https://blog.csdn.net/ichen820/article/details/123127869)
网友评论