mvコマンドを使用してすべてのファイルを失ったのはなぜですか?

mvコマンドを使用してすべてのファイルを失ったのはなぜですか?

ディレクトリの内容全体(すべてのサブフォルダを含む)を1つ上のレベルに移動したいと思います。

cd /dir/subdir
mv * /dir
cd ..
rm -R subir/

すべてのフォルダとサブフォルダがありますが/dir空です。私は何が間違っていましたか?

ファイルシステムはBTRFSでしたが、btrfs restore成功しませんでした。

どんな助けでも大変感謝します。

ベストアンサー1

何をしたのか見てみましょう。私はすべてのコマンドが標準的なツールであり、いかなる方法でも適用されないと仮定します。 (type cdtype mvと を確認してくださいtype rm。必要に応じてaliasedこれを知っておく必要があります。mv is aliased to 'mv -i'cd is a shell builtinrm is /bin/rm

  1. cd /dir/subdir

    ファイルシステムの絶対パスに移動します。エラーが報告されていないと仮定すると、ここにあります/dir/subdir

  2. mv * /dir

    このディレクトリに表示されるすべての項目を絶対ディレクトリに移動します/dir。名前で始まるファイルがなく-(忘れたため)、エラーが報告されない--とします。/dir/subdir/dir

    ファイル(およびサブディレクトリ(存在する場合))はコピーされずに移動されるため、ファイルの内容は何らかの方法で触れたり変更されたりしません。〜しない限り /dir/subdir他のファイルシステムから/dir

  3. cd ..

    シェルに応じて、またはsubdirファイルシステムの他の部分ではなくシンボリックリンクを提供する場合は、そしてエラーが報告されていない場合は、ここにいる必要があります/dir

    現在存在するディレクトリを確認するにはpwd -P

  4. rm -R subir/

    おそらくコマンドは失敗します。しかし、たぶんあなたはrm -R subdirこの場合ディレクトリを意味するかもしれません。subdir そして残りのコンテンツ削除されます。

    rmdir subdirディレクトリが予期せず空でない場合は、警告を受け取るようにディレクトリを削除できます。

このときファイルが空の場合入力したコマンドにエラーがありません。、始める前にすべて空です。

おすすめ記事