linux 刪除含有特殊字元的檔案

2021-06-22 23:26:38 字數 2240 閱讀 2924

rm 語法

[cpp]view plain

copy

[[email protected] ~]#rm --help  

usage: rm [option]... file...  

remove (unlink) the file(s).  

-f, --force           ignore nonexistent files, never prompt  

-i                    prompt before every removal  

-i                    prompt once before removing more than three files, or  

when removing recursively.  less intrusive than -i,  

while still giving protection against most mistakes  

--interactive[=when]  prompt according to when: never, once (-i), or  

always (-i).  without when, prompt always  

--one-file-system  when removing a hierarchy recursively, skip any  

directory that is on a file system different from  

that of the corresponding command line argument  

--no-preserve-root  do not treat `/' specially  

--preserve-root   do not remove `/' (default)  

-r, -r, --recursive   remove directories and their contents recursively  

-v, --verbose         explain what is being done  

--help     display this help and exit  

--version  output version information and exit  

特殊檔案產生的原因 :誤操作,以及一些編碼問題導致檔名比較特殊,包含特殊字元,或無法打出的特殊字元,需要刪除,可以參照如下幾點:

1.檔名以 - 開頭  , -filename

直接    rm -filename   報錯誤選項。

原因,-在rm 中是option 開頭字段

解決辦法: rm -- -filename     或者  rm ./-filename 

[cpp]view plain

copy

[[email protected] ~/tmp/dir]#> -ta  

[[email protected] ~/tmp/dir]#ls  

-ta  

[[email protected] ~/tmp/dir]#rm -ta  

rm: invalid option -- 't'

try `rm ./-ta' to remove the file `-ta'.  

try `rm --help' for more information.  

[[email protected] ~/tmp/dir]#rm ./-ta  

rm: remove regular empty file `./-ta'? y  

[[email protected] ~/tmp/dir]#  

2.檔名以其他特殊字元開頭,可以考慮萬用字元刪除

可以使用萬用字元   rm *some*  之類進行刪除

3.檔名是無法列印的亂碼字元

進入要刪除檔案目錄, rm -i  *   逐個由系統提示是否刪除,遇到想刪除檔案就y,保留就n,較繁瑣,

如遇到普通正常檔案特別多可以考慮將其移動到其他目錄:

find . -name "[a-z|a-z]*" |xargs -i {} mv {} /somepath       

個人認為第三種方法無敵,沒有刪不掉的檔案,只有不努力的程式設計師。

4.通過inode節點找到檔案刪除

ls -i

find -inum ***  |xargs -i {} rm {}

Hive刪除含有特殊字元 轉義字元的分割槽

之前寫的py指令碼裡面需要傳日期引數 python x.py 正確應該為 python x.py 但是當時忘記引用變數了,結果在分割槽中有乙個含有特殊字元的分割槽 show partitions dt 7bdt 用傳統的刪除分割槽的語句無效,把單引號換成雙引號也沒有效果。經試了一番發現用傳參時的變數...

Linux 刪除帶有特殊字元的檔案

首先 做好備份,指令碼語句在測試環境下 測試一遍。通過檔案的inode號刪除檔案 先用ls i 找出要刪除檔案的inode 號 ls i grep awk xargs i rm f 為檔案的 inode 號 通過檔案大小刪除檔案 1.刪除當前目錄以及所有子目錄下的檔案大小為零的檔案 find siz...

linux 特殊字元

在linux unix的字元介面下,可以利用一些控制符來定位顯示位置 控制顏色 清屏等。printf 033 47 31mhello world 033 5m 47是字背景顏色,31是字型的顏色,hello world是字串.後面的 033 5m是控制碼.顏色 quote 字背景顏色範圍 40 49...