そこにあるがシステムはそこにないというファイルを削除するにはどうすればよいですか?
警告:これらの手順では、
debugfs
を使用する必要があります。それらはデータ損失を引き起こす可能性があります。これらは元の問題に合わせて調整されており、このページの今後の訪問者に対して正確である場合とそうでない場合があります。
fsck
により、データの損失は修復不能または悪化する場合があります。
失われたiノードの可能性があります。 ls -li
を実行してiノード番号のリストを取得してから、参照されたiノードをダンプしてください。たとえば、ls -li
が次のようになっている場合:
rarkenin@ubuntu-alt-64-vbox-1:~$ ls -li
total 58672
4980758 -rwxr-xr-x 2 rarkenin rarkenin 4096 Sep 23 18:45 panorama.jpg
---SNIP---
リストの最初の列に示すように、iノード番号は4980758です。
その後、inodeのダンプを試行できます。 anythingを行う前に投稿全体を読んでください。
ルートとしてdebugfs
を開始します。
rarkenin@ubuntu-alt-64-vbox-1:~$ Sudo debugfs
[Sudo] password for rarkenin:
debugfs 1.42 (29-Nov-2011)
debugfs:
そして、パーティションに適切なブロックデバイスを使用してコマンドopen /dev/sda1
を与えます。
次に、以前に取得した番号のiノードをダンプするコマンドを実行します。
cat <4980758>
iノード番号の周りに<
および>
を使用します。
ランダムなテキストを読み取る場合は、ターミナルを閉じてから再度開きます。 debugfs
を再度実行し、open
コマンドを再度入力します。
これで、ファイルを削除してみることができます。 これにより、深刻なファイルシステムの破損が発生する可能性があります。
debugfs: rm [filename]
debugfs: unlink [filename]
debugfs: kill_file [filename]
debugfs: kill_file <inode>
ファイルにiノードがなかったことが判明した場合でも、これを実行できることに注意してください。上記の順序でコマンドを1つずつ試します。 debugfsを終了し、ファイルが存在するかどうかを確認します。そうでない場合は、再度開始しますが、次の指示に従います。
私はこれが古いことを知っていますが、私はあなたと同じ問題を抱えていました。ファイルではなくフォルダだけでした。ここで提案した方法はどれも機能しませんでした。
削除できなかったものと同じ名前で同じ位置にフォルダーを作成することで、問題を解決することができました。フォルダは正しく作成され、存在しないフォルダを「置き換え」ました。その後、新しいフォルダを削除するだけで問題は解決しました。単にそのように。
同じ問題がありました。パーティションのインデックスエントリに問題がありました。システムがデュアルブートの場合はWindowsを起動するか、Windows XPまたはWindows 7のライブCDを挿入して解決し、次の手順を実行します。
cmd
右クリック-> Run as administrator.chkdsk /f/x D:
(Dはドライブ文字です)。100%働く
スクリーンショットを見ると、グループがルートとして設定されていることがわかります。 chownを使用してみて、問題が解決するかどうかを確認します。
Sudo chown -hR [username]:[username] /home/[username]
[ユーザー名]をユーザー名に置き換えます。
いくつかのエラーが発生します。
Linux Mint 18.3存在しないファイルは¨filename.pdf.crdownload¨でした。これはデスクトップ上にパッケージとして表示されました。つまり、WindowsのZipファイルです。ちなみに、右クリック、[プロパティ]、[アプリで開く]を選択しましたが、アプリは表示されなかったため、[アプリで開く]に変更しました。すぐにファイルがデスクトップから消えました。 kb
クロムの下でカスタムWebベースのEMR(電子医療記録)によって作成されたファイルにも同じ問題がありました。 Sudo touch /forcefsck
に続いて再起動が機能し、ファイルが削除されました。次のページからヘルプフォームを取得
Ubfan1が言ったように、ファイル名に印刷されない文字がこのような問題を引き起こす可能性があります。
「タッチ」が破損したファイルを上書きしたので、私のために働いた。
ターミナルを見せてください... ll | grep panorama
を実行して、それを見せてください。質問に追加してください...
私の提案は、ルートとしてrm -f panorama.jpg
を行うことです。
rmの男で私はこれを見つけました:
-f, --force
ignore nonexistent files, never Prompt
最初にSudo -s
でルートとしてログインします
rm -v <file>
を実行して、詳細な出力を調べて、ファイルを削除しようとしている間に何が起こっているかを確認できます。以下のコマンドのオプションを確認してください。
それが失敗した場合は、他の人が言ったように強制オプションを使用できます。再帰的な削除を強制することで、ディレクトリ全体を削除することもできます:rm -rfv **full directory address here**
あらすじ
rm [OPTION]... FILE...
記述
rm removes each file. By default, it does not remove directories.
If a file is unwritable, the standard input is a tty, and the -f or
--force option is not given, rm prompts the user for whether to remove
the file. If the response is not affirmative, the file is skipped.
オプション
Remove (unlink) the FILE(s).
-f, --force
ignore nonexistent files, never Prompt
-i, --interactive
Prompt before any removal
--no-preserve-root do not treat '/' specially (the default)
--preserve-root
fail to operate recursively on '/'
-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
By default, rm does not remove directories. Use the --recursive (-r or
-R) option to remove each listed directory, too, along with all of its
contents.
To remove a file whose name starts with a '-', for example '-foo', use
one of these commands:
rm -- -foo
rm ./-foo
Note that if you use rm to remove a file, it is usually possible to
recover the contents of that file. If you want more assurance that the
contents are truly unrecoverable, consider using shred.
この方法を試してください:
cd dir-to-delete
find ./ -exec rm -rf {} \;
ファイル名に印刷されない文字があると、スペースなどの問題が発生する可能性があります。 rmの対話型オプションを試して、削除するファイルに「Y」と発声してください」
rm -i "* pan *"任意の(printint以外の)文字と一致するための* sの使用に注意してください。
iノードが削除された可能性がありますが、ディレクトリエントリは削除されていません。 iノードを確認するには、ls -iを試してください。この種の問題を修正するには、ファイルシステムをfsckします。