Files

刪除包含無效字元的文件夾(-encoding)

  • April 20, 2018

在我的 Linux Mint 18.3 安裝中,我的語言環境設置出現問題,導致生成了名稱中包含無效編碼的文件夾。

我現在想刪除所說的文件夾,但我不知道該怎麼做。我嘗試使用我的文件管理器 (Dolphin) 以及終端 ( sudo rmdir <folder name>),但兩個命令都失敗,聲稱給定文件夾不存在。

但是,它仍會顯示在文件管理器中並通過ls命令顯示。

sudo rmdir Einf�hrung in die Biochemie/
rmdir: failed to remove 'Einf�hrung': No such file or directory
rmdir: failed to remove 'in': No such file or directory
rmdir: failed to remove 'die': No such file or directory
rmdir: failed to remove 'Biochemie/': No such file or directory

目錄的名稱是從ls.

您可以使用*

sudo rm -rfi Ein*

或者

sudo rm -rfi *Biochemie

如果沒有其他目錄與該模式匹配,在這種情況下,您必須選擇一個唯一的模式。

您也可以使用rmdir代替rm.

正如Jeff Schaller指出的那樣,-i如果模式匹配不被刪除的目錄(通過提示每次匹配確認),該選項將有所幫助。

在這種情況下,像 Thunar 這樣的可視文件管理器非常方便。

如果你的系統沒有圖形使用者界面,像午夜指揮官這樣的工具會很有幫助。

在簡單的情況下,使用命令完成可能就足夠了。

rm -i Einf→→

其中 → 應象徵 Tab 鍵,或者,如 ManOv 所示,也許萬用字元就足夠了:

rm 'Einf?hrung in die Biochemie'
rm 'Einf*hrung in die Biochemie'

如果您不允許安裝這些現代的東西, find 可能會有所幫助:

ls -la Ein*

您可以調查文件屬性,如大小、修改時間、所有者、屬性……以供查找:

find -maxdepth 1 -type f -name "Einf*hrung *chemie" -mtime -4 -mtime +2 -size +2000 -size -2200

如果結果只是那個特定的文件,請添加刪除開關。這不適用於各種查找,但適用於 GNU-find:

find -maxdepth 1 -type f -name "Einf*hrung *chemie" -mtime -4 -mtime +2 -size +2000 -size -2200 -delete

對於其他查找版本,您也會在這裡找到很多範例,如何刪除文件。

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