linux下rm命令刪除文件名中包含特殊字符的文件【轉】


轉自:http://blog.itpub.net/143526/viewspace-1060083/

1. 刪除帶“-”的文件名的方法

2. 刪除包含其它特殊字符的文件

3. 刪除系統打不出的亂碼文件名

[@more@]

1. 刪除帶“-”的文件名的方法
大部分是由於誤操作的原因,產生了一些 特殊字符的文件 如 -foo
rm --help
用法:rm [選項]... 目錄...
Remove (unlink) the FILE(s).
-d, --directory unlink FILE, even if it is a non-empty directory
(super-user only; this works only if your system
supports `unlink' for nonempty directories)
-f, --force ignore nonexistent files, never prompt
-i, --interactive prompt before any removal
--no-preserve-root do not treat `/' specially (the default)
--preserve-root fail to operate recursively on `/'
-r, -R, --recursive remove the contents of directories recursively
-v, --verbose explain what is being done
--help 顯示此幫助信息並離開
--version 顯示版本信息並離開
要刪除第一個字符為‘-’的文件 (例如‘-foo’),請使用以下其中一種方法:
rm -- -foo
rm ./-foo
請注意,如果使用 rm 來刪除文件,通常仍可以將該文件恢復原狀。如果想保證
該文件的內容無法還原,請考慮使用 shred。
 

2. 刪除包含其它特殊字符的文件

對於含有其它特殊字符的文件名,如<>!*等,可用
“”轉義符或“”雙引號引起控制
如名為“>”或“*”
rm >
rm “*”

3. 刪除系統打不出的亂碼文件名

系統中有一個文件名全是亂碼的文件,根本無從下手進行刪除(系統打不出亂碼符號),我們可以嘗試以下的歪招
例如這個亂碼的文件是luanma.txt,當然該例假設luanma便是各種奇形怪狀的亂碼,呵呵~~我們可以用rm *搞定
#cd xxx
進入亂碼文件所在的目錄
#rm *
這個命令表示刪除該目錄的所有文件,當然最終目的不是刪除所有文件啦~~,輸入命令回車后系統在刪除每個文件都提示是否刪除這個文件,其他不相關的文件全部都輸入“n”回車跳過不刪除,直到我們的目標出現
rm: remove regular empty file `luanma.txt'?
哈哈,這是我們果斷地輸入“y”,回車,將這個可恨的文件干掉!

不過這個方法要視系統而定,要謹慎使用,上面例子使用的是redhat,有些linux的發行版本rm命令沒有提示功能,輸入rm *就直接把所有文件干掉了,所以用之前先新建一個目錄測試一下以防萬一。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM