Linux

複製或移動具有臨時名稱的大文件,直到文件完全傳輸到 linux 中的目標位置

  • March 1, 2019

我正在嘗試將一個大文件(15 GB)複製/移動到 Linux 中的目錄,並希望依賴於該事件。現在假設我有一個名為 的文件abc.txt,並且我正在執行以下命令:

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

當移動過程開始時,我在數據目錄中看到一個具有實際文件名的文件,即abc.txt,但數據仍在傳輸中。當數據目錄abc.txt在其目錄中列出文件時,我的依賴程序認為該文件可用並且它啟動依賴程序但是文件沒有完全移動,因此我的依賴程序過早觸發。

有沒有辦法可以移動具有臨時名稱的文件,即在數據傳輸進行時它將使用臨時名稱(一些交換文件名)並在完全傳輸時將名稱更改為實際文件?

您必須在兩個不同的文件系統之間移動,因此實際上是複制了文件。然後嘗試先複製它,然後在完成後,在目的地內移動。這應該這樣做:

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

我假設您的觀看過程無法辨識隱藏​​文件。否則,您可以在目標位置或類似位置創建一個臨時目錄。

引用自:https://unix.stackexchange.com/questions/503819