かなり大きなファイル構造 (>100GB) をルート ディレクトリのサブフォルダにダウンロードしました。これを とします/folder
。問題は、そのフォルダに直接コピーするのではなく、誤ってそのフォルダのサブフォルダにコピーしてしまったことです。そのため、/folder/folder/*
代わりにが表示されています/folder/*
。これが私が望んでいることです。余分なレベルを削除するより良い方法はありますか?
# mv /folder/folder/* /folder
# rmdir /folder/folder
答え1
ソースと宛先が同じファイルシステム上にある場合、mv は別のディレクトリ エントリを作成するだけで、100 GB のデータはコピーされません。したがって、これが最善の方法であり、別の方法を探す必要はありません。ただし、異なるファイルシステム上にある場合は、データがコピーされます。また、rmdir を実行する必要はなく、mv が自動的に実行します。
答え2
このmv
コマンドはファイル内のデータを移動するのではなく、ファイル名だけを移動します。すべてのファイル内のすべてのデータが移動されることを心配している場合は、このコマンドは実行されません。
答え3
以下を使用できます:
# cd /folder/folder
# mv * ../
# rmdir /folder/folder
しかし、あなたが抱えていた問題は何でしょうか? より良い方法とはどういう意味か、明確に説明していただけますか?
答え4
少し簡単な手順(全体的なmv操作が少ない)
mv /folder /surplusfolder
mv /surplusfolder/folder /folder
rmdir /surplusfolder