Могу ли я сделать find
и список файлов, в которых ctime и mtime не равны?Linux найти файлы, где mtime и ctime не равны
find . -type f -name '*.php' -ctime -5 MISSING_PART
MISSING_PART: что-то вроде -mtime != -ctime
Могу ли я сделать find
и список файлов, в которых ctime и mtime не равны?Linux найти файлы, где mtime и ctime не равны
find . -type f -name '*.php' -ctime -5 MISSING_PART
MISSING_PART: что-то вроде -mtime != -ctime
Это можно получить с помощью команды stat
. Команда stat
используется для отображения состояния файловой системы или файловой системы. Опция -c
используется для указания формата вывода этой команды. Формат %n
используется для указания имени файла. %Y
используется для указания времени последней модификации, так как эпоха и %Z
определяет время последнего изменения с эпохи.
Команда find . -exec stat -c %n#%Y#%Z {} \; | awk -F# '{if ($2 != $3) print $1}'
может использоваться для извлечения файлов, время изменения и время модификации которых не равны.
В -ctime n
и -mtime n
варианты find
см последнего изменения или изменения времени с момента n
часов назад. Эта концепция диапазона времени не учитывается в этой команде.
Это дает мне огромный результат, включая загрузку кеш-файлов. Но теперь у меня есть с чем работать. благодаря – Tillebeck
Извините - я не знаю такого варианта в «find». Я предполагаю, что вы знаете [разницу между ctime и mtime] (http://www.linux-faqs.info/general/difference-between-mtime-ctime-and-atime), и что они обычно * одинаковы * , ПРЕДЛОЖЕНИЕ: попробуйте написать скрипт, используя 'stat | разрезать | diff': http://linux.die.net/man/2/stat. Вы можете форматировать вывод так, чтобы ctime находился в одном столбце; mtime в другом, затем «разбить» два столбца. – paulsm4
Спасибо за подсказку. Эти два типично только разные, если кто-то явно установил mtime на что-то другое, чем то, что должно быть (как правило, хакер) – Tillebeck