在linux下刪除檔案,遇到特殊字元是一件非常頭疼的事情。
1. 如果檔名帶 ‘-’ 或者‘--’這樣的字元
刪除辦法為:rm -- 檔名
如檔名為:-pythontab.tgz
如果用普通方法去刪除:
rm -pythontab.tgz
結果錯誤:
rm: invalid option -- pythontab
Try `rm --help' for more information.
可以用:
rm -- -pythontab.tgz
則能成功刪除。
2. 刪除包含其它特殊字元的檔案
對於含有其它特殊字元的檔名,如<>!*等,可用
“”轉義符或“”雙引號引起控制
如名為“>”或“*”
[root@test]# rm > [root@test]# rm “*”
3. 刪除系統打不出的亂碼檔名(終極解決辦法)
系統中有一個檔名全是亂碼的檔案,根本無從下手進行刪除(系統打不出亂碼符號),這時候我們可以使用inode號來刪除之。
[root@test]# ll -i total 14694452 17956913 -rw-r--r-- 1 test test 4096 Nov 24 16:24 1?.txt [root@test]# find . -inum 17956913 -exec rm {} \;
經過測試,以上方法絕對可用