2

バックアップのバックアップのコピーであるファイルを削除できません...通過したすべてのファイルシステム文字セットを覚えていません。

とにかく、今日ここにファイルがあります:

nas# ls -al
ls: cannot access Sécurité: No such file or directory
total 32
drwx------ 4 sambacam sambacam 20480 Jun  5 01:38 .
drwxr-xr-x 3 sambacam sambacam 12288 Jun  5 01:38 ..
d????????? ? ?        ?            ?            ? S??curit??
nas# cd S*
cd: 13: can't cd to Sécurité
nas# rm "Sécurité"
rm: cannot remove `S\303\251curit\303\251': No such file or directory
nas# rm S*
rm: cannot remove `S\303\251curit\303\251': No such file or directory
nas# 

私もPythonでコーディングしようとしましたが成功しませんでした:

nas# python
Python 2.5.2 (r252:60911, Jan 24 2010, 20:48:41) 
[GCC 4.3.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import os
>>> d=os.listdir('.')
>>> d
['S\xc3\xa9curit\xc3\xa9']
>>> d[0]
'S\xc3\xa9curit\xc3\xa9'
>>> os.remove(d[0])
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
OSError: [Errno 2] No such file or directory: 'S\xc3\xa9curit\xc3\xa9'
>>> 

何か案が?

私はすでにfsckを実行して不整合をチェックしました。

4

2 に答える 2

5

私はあなたがより悪い問題を抱えていると思います:

d????????? ? ?        ?            ?            ? S??curit??

これは、ファイルのアクセス許可リンク数所有者グループサイズ、またはmtimels(1)を見つけることができなかったことを意味します。持っているのはファイル名だけです。

これは、ディレクトリ構造がファイルを指しているが、そのファイルのiノードが欠落している場合に発生する可能性があります。私はそれを見つけてディレクトリエントリをクリーンアップすることを望みfsckますが、それが起こらなければ、このファイルシステムでこのディレクトリを空にすることができないかもしれません。(どこにでも、どこにでも移動でき、/lost+found二度と気になりません...)

おそらく、このdebugfs(8)ツールはもっと学ぶのに役立つでしょうか?

于 2011-06-05T09:12:36.843 に答える
3

iノード番号のトリックを試しましたか?行う:

ls -ilb

そのリストの最初の番号はiノード番号です。-bスイッチは、ls印刷できない文字を印刷しようとはしません。ファイルからiノード番号を取得したら、次のことを試してください。

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

(ところで:それはUTF-8エンコーディングです。)

それがうまくいくかどうかはわかりませんが。lsファイルのメタデータ(タイムタンプとパーミッションビット)が見つからないという事実は、ファイルシステムの破損のように見えます。

于 2011-06-05T09:11:29.027 に答える