web-dev-qa-db-ja.com

ファイルを削除できません-そのようなファイルまたはディレクトリはありません

I deleted it once, but it's ghost is still there :)

そこにあるがシステムはそこにないというファイルを削除するにはどうすればよいですか?

Permissions tab - tried changing it, but it would reset itself automaticallyThis is what happens when I click "Delete"

12
Valeriu

警告:これらの手順では、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を行う前に投稿全体を読んでください。

  1. ルートとしてdebugfsを開始します。

    rarkenin@ubuntu-alt-64-vbox-1:~$ Sudo debugfs
    [Sudo] password for rarkenin: 
    debugfs 1.42 (29-Nov-2011)
    debugfs:  
    

    そして、パーティションに適切なブロックデバイスを使用してコマンドopen /dev/sda1を与えます。

  2. 次に、以前に取得した番号のiノードをダンプするコマンドを実行します。

    cat <4980758>
    

    iノード番号の周りに<および>を使用します。

  3. ランダムなテキストを読み取る場合は、ターミナルを閉じてから再度開きます。 debugfsを再度実行し、openコマンドを再度入力します。

  4. これで、ファイルを削除してみることができます。 これにより、深刻なファイルシステムの破損が発生する可能性があります。

    debugfs: rm [filename]
    
    debugfs: unlink [filename]
    
    debugfs: kill_file [filename]
    
    debugfs: kill_file <inode>
    

ファイルにiノードがなかったことが判明した場合でも、これを実行できることに注意してください。上記の順序でコマンドを1つずつ試します。 debugfsを終了し、ファイルが存在するかどうかを確認します。そうでない場合は、再度開始しますが、次の指示に従います。

可能であればバックアップを作成してください!

2
hexafraction

私はこれが古いことを知っていますが、私はあなたと同じ問題を抱えていました。ファイルではなくフォルダだけでした。ここで提案した方法はどれも機能しませんでした。

削除できなかったものと同じ名前で同じ位置にフォルダーを作成することで、問題を解決することができました。フォルダは正しく作成され、存在しないフォルダを「置き換え」ました。その後、新しいフォルダを削除するだけで問題は解決しました。単にそのように。

2
Marco

同じ問題がありました。パーティションのインデックスエントリに問題がありました。システムがデュアルブートの場合はWindowsを起動するか、Windows XPまたはWindows 7のライブCDを挿入して解決し、次の手順を実行します。

  1. COMMANDプロンプトを検索します:is cmd右クリック-> Run as administrator.
  2. chkdsk /f/x D:(Dはドライブ文字です)。
  3. Y/Nを要求する場合はYを押します
  4. 削除するファイルのドライブを確認します。たぶん削除されるか、削除できます。

100%働く

2
user2102442

スクリーンショットを見ると、グループがルートとして設定されていることがわかります。 chownを使用してみて、問題が解決するかどうかを確認します。

Sudo chown -hR [username]:[username] /home/[username]

[ユーザー名]をユーザー名に置き換えます。

いくつかのエラーが発生します。

example

0
mywebslave

Linux Mint 18.3存在しないファイルは¨filename.pdf.crdownload¨でした。これはデスクトップ上にパッケージとして表示されました。つまり、WindowsのZipファイルです。ちなみに、右クリック、[プロパティ]、[アプリで開く]を選択しましたが、アプリは表示されなかったため、[アプリで開く]に変更しました。すぐにファイルがデスクトップから消えました。 kb

0
Kenneth Browne

クロムの下でカスタムWebベースのEMR(電子医療記録)によって作成されたファイルにも同じ問題がありました。 Sudo touch /forcefsckに続いて再起動が機能し、ファイルが削除されました。次のページからヘルプフォームを取得

  1. https://ubuntuforums.org/archive/index.php/t-1673273.html
  2. 強制的にfsckを安全にしますか?
0
Kamlesh

Ubfan1が言ったように、ファイル名に印刷されない文字がこのような問題を引き起こす可能性があります。

  1. タッチ
  2. rm

「タッチ」が破損したファイルを上書きしたので、私のために働いた。

0
Amit_sh

ターミナルを見せてください... ll | grep panoramaを実行して、それを見せてください。質問に追加してください...

私の提案は、ルートとしてrm -f panorama.jpgを行うことです。

rmの男で私はこれを見つけました:

-f, --force
              ignore nonexistent files, never Prompt
0
maniat1k

最初にSudo -sでルートとしてログインします

rm -v <file>を実行して、詳細な出力を調べて、ファイルを削除しようとしている間に何が起こっているかを確認できます。以下のコマンドのオプションを確認してください。

それが失敗した場合は、他の人が言ったように強制オプションを使用できます。再帰的な削除を強制することで、ディレクトリ全体を削除することもできます:rm -rfv **full directory address here**



NIXコマンドガイド:

あらすじ

   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.
0
Sinan Bolel

この方法を試してください:

cd dir-to-delete
find ./ -exec rm -rf {} \;
0
DmitrySandalov

ファイル名に印刷されない文字があると、スペースなどの問題が発生する可能性があります。 rmの対話型オプションを試して、削除するファイルに「Y」と発声してください」
rm -i "* pan *"任意の(printint以外の)文字と一致するための* sの使用に注意してください。
iノードが削除された可能性がありますが、ディレクトリエントリは削除されていません。 iノードを確認するには、ls -iを試してください。この種の問題を修正するには、ファイルシステムをfsckします。

0
ubfan1