Я случайно удалил файл в 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 файла и его восстановление не восстанавливает дату редактирования. Вы никогда не перестаете учиться...
В любом случае, возможно, это поможет кому-то еще, спасибо.