2017-12-12 1 views
0

私は誤ってmv (project folder) (" ")を実行しました。フォルダはフラスコプロジェクトです。私はps -aux | grep flaskを行い、フラスコのプロセスはまだ稼働していますが、プロジェクトを見つけることができません。私は5日ほど前にそれを削除したと思います。私の歴史を見てください。私はそれを回復する方法はありますか?また、私はどこにでも....を探してみました、は "mv(プロジェクトディレクトリ)(空白)"を使用していましたが、今は自分のディレクトリがなくなっています

編集見つけることができませんでした:それはあなたのプロセスがフォルダで実行されていると仮定すると、ps ax | grep ...でPIDを見つけようとlsof -p $PID | grep cwdを実行

bash-4.1# lsof -p 34780 | grep cwd flask 34780 root cwd DIR 8,6 0 9961663 /home/path... (deleted)

+0

'cd" "'? 'mv" "myProjectFolder'? – ext

+0

@ext実際には、私は "mv(プロジェクトフォルダ)"に空白を入れなかったようです。何か案は? – user22261

答えて

1

削除することが表示されますプロセスが実行されているディレクトリが表示されます。

my-process 12345 user cwd DIR 259,1  4096 16792359 /path/to/folder 

これはどこにあるのかを示しますが、空白文字だけの場合はまだそれほど難しいかもしれませんそれに名前を付けます。パスの前のiノード番号(この場合は16792359)に注目してください。あなたが親フォルダに移動した場合、あなたはそれを名前を変更することができます

find . -inum 16792359 -print0 | xargs -0 -I '{}' mv '{}' myNewProjectFolder 

-print0xargs -0は、スペースなどの特殊文字を扱うのに役立ちます。

+0

フラスコ34780ルートcwd DIR 8,6 0 9961663/home/path ...(削除済み) – user22261

+0

パスの最後に(削除されて)どうすればいいですか? – user22261

+0

その後、ディレクトリが削除されているので、回復オプションを調べ始める必要があります。 'ls -l/proc/proc/34780/fd /'を実行して、ディレクトリエントリが開いているかどうかを確認してください。その場合は 'ln/proc/34780/fd/$ fd/path/to/new/filename'と入力します。おそらく[unix-linux-undelete-recover-deleted-files](https://unix.stackexchange.com/questions/80270/unix-linux-undelete-recover-deleted-files)のような質問が役に立ちます。 'debugfs'は有用で、あなたが回復の可能性が高いディレクトリinodeがあるためです。 – ext

0

ファイルを空白文字の名前に移動した可能性があります。したがって、

  1. ls -b試し印刷しない文字をエスケープに変換する必要があります。
  2. find . -name '* *'を試してください。空白の名前は再帰的に見えます。
関連する問題