Debian

刪除名稱以“?”開頭的文件在命令行中

  • August 26, 2018

我在 Debian stable 和 Cinnamon DE 下執行,我有一些文件想用命令行刪除(現在我用 Nemo 刪除這些文件)。

例如,這些.txt文件以“?”開頭 在外殼和尼莫這個’?替換為輸入:

$@debian: ls
ssolveIncpUL46pK  ?ssolveIncpUL46pK.txt

尼莫

我試過:

rm ?ss*
rm \?ss*
rm \ ss*

字元不是問號。該ls實用程序會將不可列印字元替換為?. 還不清楚不可列印字元是否真的是文件名中的第一個字元,或者在此之前是否可能有一個或多個空格。

你想刪除這兩個文件嗎,你可以匹配“壞部分”,*然後更緊密地指定其餘的可見文件名:

rm -i ./*ssolve*

這將首先將給定模式擴展到所有匹配它的文件名,然後rm將它們刪除。如果您不想刪除與上述短模式匹配的文件,請更具體並指定文件名的較長部分,例如使用

rm -i ./*ssolveIncpUL46pK*

這是假設您與要刪除的文件位於同一目錄中。

使其在實際刪除任何內容之前要求確認的-i選項。rm

刪除此類文件的適當方法是使用文件的inode值。

使用以下命令獲取inode

ls -li 

12582925 -rw-r--r--  1 root root   646 May 23 02:19 ?ssolveIncpUL46pK.txt

入圍結果的第一個欄位是 inode 值。

然後使用 find 命令刪除文件 wrt inode。

find . -inum 12582925 -exec rm -i {} \;

引用自:https://unix.stackexchange.com/questions/463913