web-dev-qa-db-ja.com

Linuxの不正なファイル名で破損したファイルを削除する

昨夜、Dovecotサーバーがロックされ、ユーザーのmaildir内のファイルが破損しました。ファイル名に特殊文字が含まれ、削除できないようになりました。すべてのコマンドラインツールで、LSコマンドで表示されてもファイルが見つからないと表示されます。

1386141318.M854059PΈ3Ώ62.email.vantagetitle.com,S?11304,W11473:2,Sc

名前に「Ώ」や「Έ」などの特殊文字が表示されます。

このファイルを削除する方法が見つからないようです。

fsckを実行する必要がありますか?

編集1:

私は新しい「cur」ディレクトリを作成し、すべての良いメールをそこに移動しました。古い「cur」ディレクトリの名前を「bad cur」に変更しました

私は以下を試しました...

sh-3.2# rm -rf badcur
rm: badcur: Directory not empty
sh-3.2# cd badcur
sh-3.2# ls
1386141318.M854059PΈ3Ώ62.email.vantagetitle.com,S?11304,W?11473:2,Sbc
sh-3.2# rm -rf 1386141318.M854059PΈ3Ώ62.email.vantagetitle.com,S?11304,W?11473:2,Sbc
sh-3.2# ls
1386141318.M854059PΈ3Ώ62.email.vantagetitle.com,S?11304,W?11473:2,Sbc
sh-3.2# ls -i
ls: 1386141318.M854059PΈ3Ώ62.email.vantagetitle.com,S?11304,W11473:2,Sbc: No such file or directory
sh-3.2#  
3
TriadicTech

-i質問が表示されます

rm -i 1386141318.M854059P*
rm: remove regular file '1386141318.M854059PΈ3Ώ62.email.vantagetitle.com,S?11304,W11473:2,Sc'?

yと答えます


Iノード番号を使用してファイルを削除できる場合があります。使用する ls -liファイルのiノード番号を取得します。入手したら、findを使用して削除します

find . -inum <inode number> -delete
8
user9517

これらに取り組む最も簡単な方法は、rmの後に二重ダッシュ(-)を使用することです。

# rm -- 1386141318.M854059P*

2つのダッシュはコマンドrmに、コマンドスイッチの受け渡しが終了したことと、その後に続くコマンドが何を操作するかを示しています。

-スコット

3
scott--

存在する場合、 Midnight Commander でディレクトリを参照できます。

mcと入力し、矢印キーを使用してファイルを選択してから、F8削除します

2

サウンドが壊れています。ファイルシステムをアンマウントし、ファイルシステムに適したバージョンのfsckを実行してください。

恐らく fsck.ext3 /dev/sdaN

df .は、ファイルシステムがわからない場合はディレクトリにあります。

ファイルシステムの正しいタイプがわからない場合は、mountを実行します。

1
Matt

GUIを使用できる場合は、GUIを使用してファイルを削除してみてください。

誤ってtar xvf Windows Zipファイル。それはたくさんのエラーを吐き出して、それから私は抽出されたファイルの代わりにこの0バイトのファイルを持っていました、印刷できない文字/値を表す疑問符の付いた狂った長い名前で。

私はGnomeの標準のGUIファイル参照ツールを使用してファイルをゴミ箱に送り、GUIを使用してゴミ箱に移動し、ファイルを完全に削除しました。ゴミ。

0
Pulseczar