昨夜間違えてファイルサーバーの1800GBを誤って削除しました。

昨夜間違えてファイルサーバーの1800GBを誤って削除しました。

昨日はテストマシンでこのコマンドを実行しましたが、SSH経由で接続されたファイルサーバーでした。

sudo rm -rf /tmp/* !(lost+found)

私の端末エミュレータはKonsoleです。私のシステムはDebian 7です。

質問:

このコマンドが/ tmpのファイル以外のファイルを削除しましたか?

答え1

Bashの正しい構文は次のとおりです。

rm /tmp/!(lost+found)

〜のように@金貨花 書いたコメントでは、元のコマンドはクエリを展開します(フォルダ内のすべてのファイルを削除し、/tmp現在の作業フォルダ(あなたの場合はhomeフォルダ)のすべてのファイルを削除します)。

一部のデータを回復できることを確認できます。 Linuxデータ復旧について質問がありますここ

答え2

!(lost+found)コマンドにrm潜在的に致命的なエラーがあります。

1978  rm -rf /tmp/* !(lost+found)
1979  sudo rm -rf /tmp/* !(lost+found)

bash正確に何をしているのかわかりませんが、次のコマンドは私のコンテンツと現在のディレクトリ/tmp/(現在)~のすべての内容を印刷します。

echo /tmp/* !(lost+found)

関連情報