
ディレクトリの内容全体(すべてのサブフォルダを含む)を1つ上のレベルに移動したいと思います。
cd /dir/subdir
mv * /dir
cd ..
rm -R subir/
すべてのフォルダとサブフォルダがありますが/dir
空です。私は何が間違っていましたか?
ファイルシステムはBTRFSでしたが、btrfs restore
成功しませんでした。
どんな助けでも大変感謝します。
答え1
何をしたのか見てみましょう。私はすべてのコマンドが標準的なツールであり、いかなる方法でも適用されないと仮定します。 (type cd
、type mv
と を確認してくださいtype rm
。必要に応じてaliased
これを知っておく必要があります。mv is aliased to 'mv -i'
cd is a shell builtin
rm is /bin/rm
cd /dir/subdir
ファイルシステムの絶対パスに移動します。エラーが報告されていないと仮定すると、ここにあります
/dir/subdir
。mv * /dir
このディレクトリに表示されるすべての項目を絶対ディレクトリに移動します
/dir
。名前で始まるファイルがなく-
(忘れたため)、エラーが報告されない--
とします。/dir/subdir
/dir
ファイル(およびサブディレクトリ(存在する場合))はコピーされずに移動されるため、ファイルの内容は何らかの方法で触れたり変更されたりしません。〜しない限り
/dir/subdir
他のファイルシステムから/dir
。cd ..
シェルに応じて、または
subdir
ファイルシステムの他の部分ではなくシンボリックリンクを提供する場合は、そしてエラーが報告されていない場合は、ここにいる必要があります/dir
。現在存在するディレクトリを確認するには
pwd -P
。rm -R subir/
おそらくコマンドは失敗します。しかし、たぶんあなたは
rm -R subdir
この場合ディレクトリを意味するかもしれません。subdir
そして残りのコンテンツ削除されます。rmdir subdir
ディレクトリが予期せず空でない場合は、警告を受け取るようにディレクトリを削除できます。
このときファイルが空の場合入力したコマンドにエラーがありません。、始める前にすべて空です。