私は昨日このコマンドを実行しましたが、テストマシンを考えましたが、これはSSH経由で接続されたファイルサーバーでした。
Sudo rm -rf /tmp/* !(lost+found)
私の端末エミュレータはKonsoleです。私のシステムはDebian 7です。
質問:
このコマンドは、/ tmp内のファイル以外のファイルを削除しましたか?
Bashの正しい構文は次のとおりです。
rm /tmp/!(lost+found)
@ goldilockswrote コメントとして、元のコマンドはクエリを拡張します(/tmp
フォルダー内のすべてのファイルを削除してから、そして、現在の作業フォルダー(あなたの場合はhome
フォルダー)内のすべてのファイルを削除します。
一部のデータを回復できるかどうかを確認してみてください。 Linuxのデータ復旧について質問があります ここ 。
rm
コマンドの!(lost+found)
は、おそらく致命的な誤りでした:
1978 rm -rf /tmp/* !(lost+found)
1979 Sudo rm -rf /tmp/* !(lost+found)
bash
がそれで何をしているのか正確にはわかりませんが、以下のコマンドは/tmp/
およびすべての現在のディレクトリ(現在は~
):
echo /tmp/* !(lost+found)