ファイルがLinuxからターゲットに完全に転送されるまで、一時的な名前で大容量ファイルをコピーまたは移動します。

ファイルがLinuxからターゲットに完全に転送されるまで、一時的な名前で大容量ファイルをコピーまたは移動します。

大容量ファイル(15GB)をLinuxのディレクトリにコピー/移動しようとしていて、そのイベントに依存したいと思います。という名前のファイルがあり、abc.txt次のコマンドを実行するとします。

mv /usr/tmp/abc.txt /usr/data/

移動プロセスが開始されると、データディレクトリに実際のファイル名を持つファイルが表示されます。つまり、abc.txtデータはまだ転送中です。データディレクトリがそのディレクトリのファイルを一覧表示すると、私の依存プロセスはファイルがabc.txt利用可能であると考え、従属プロセスを開始しますが、ファイルが完全に移動されず、従属プロセスが早期に実行されます。

一時名でファイルを移動する方法はありますか?つまり、データ転送中に一時的な名前(一部のスワップファイル名)を使用し、転送が完了したら名前を物理ファイルに変更できますか?

ベストアンサー1

2つの異なるファイルシステム間で移動する必要があるため、ファイルは実際にコピーされます。その後、まずコピーを試み、完了したらターゲット内を移動します。これを行う必要があります:

mv /usr/tmp/abc.txt /usr/data/.abc.txt && mv /usr/data/.abc.txt /usr/data/abc.txt

表示プロセスが隠しファイルを認識しないとします。それ以外の場合は、ターゲットの場所に一時ディレクトリまたは類似のディレクトリを作成できます。

おすすめ記事