如何使用 -t 進行複製並保持時間

如何使用 -t 進行複製並保持時間

我不小心刪除了 Ubuntu 16(終端)中的一個文件,使用 photorec 來恢復它,但我得到了太多結果,以至於我幾乎無法手動檢查哪個是最新的。所以我使用命令

find -name "*.c" -print0 | xargs -0 -r grep -lH "Created named pipe" | xargs cp -p -t found/

在包含搜尋字串的所有資料夾中尋找我的 .c 檔案。使用 cp -t 我可以將這些檔案複製到另一個地方。不幸的是,雖然我提供了-p (or --preserve=timestamp)我看到使用的文件日期ls -alt現在而不是我嘗試複製的文件的日期。我檢查了要複製的原始文件的日期,但它們的日期是正確的(過去的某個時間)

如何在複製過程中保留原始文件日期?

答案1

我找到了一個無需複製的解決方案,但這很好,因為我只想複製最新的文件,所以這 ls -alt $( find -name "*.c" -print0 | xargs -0 -r grep -lH "Created named pipe" ) 就是我所需要的:列印所有文件的時間戳記。

現在我還看到 rm 檔案並恢復它,不會恢復編輯日期。你永遠不會停止學習...

無論如何,也許這對其他人有幫助,乾杯。

相關內容