我在 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 文件并恢复它,不会恢复编辑日期。你永远不会停止学习……
无论如何,也许这对其他人有帮助,加油。