Какая именно команда показывать файлы младше 2 дней? Я думал о чем-то вроде этого:
$ find / -mtime -2
... но я не уверен, как распечатать дату найденных файлов. Моя цель - найти в смонтированной системе NTFS файлы, которые были новыми или изменены в последние дни.
Кроме того, было бы очень полезно отсортировать результаты от самых новых до самых старых. Это возможно?
bash
command-line
find
бувигер
источник
источник
Ответы:
Файлы, созданные или измененные менее 48 часов назад,
отсортированы по самым новым:
Я нашел
%T@
изman find
: время последней модификации (секунды с начала эпохи)источник
Если вы отправляете по конвейеру xargs, вы можете легко настроить параметры вывода / формата
ls
для отображения даты, сортировки по дате и т. Д.find / -type f -mtime -2 -print0 | xargs -0 ls -lt
источник
Это проще в zsh, благодаря его глобальным квалификаторам .
В этом списке перечислены все файлы
/
, за исключением файлов в/proc
или/dev
или/sys
, которые были изменены в течение последних 2 дней (m-2
). Файлы перечислены в обратном хронологическом порядке изменения времени (om
), по одному на строку (print -l
).Если вы также хотите перечислить метаданные файла, вам не нужно сортировать в оболочке, только фильтровать. Вы можете столкнуться с пределом длины командной строки, зависящим от платформы, если слишком много подходящих файлов.
Если вы хотите сопоставлять только обычные файлы, добавьте
.
в скобках.Имея только инструменты POSIX, вы можете использовать их
ls -dlt
для сортировки иfind
создания списка файлов. Опять же, вы можете столкнуться с пределом длины командной строки, зависящим от платформы, если слишком много подходящих файлов. Если вы хотите сопоставлять только обычные файлы, добавьте-type f
до или послеmtime -2
.источник
(Примечание: в одном предложении вопроса изначально запрашивались даты, более 2 дней в тексте, в то время как в заголовке это было наоборот. Необходимость сортировки результатов была введена позже).
С +2 вы видите файлы старше 2 дней, с -2 моложе двух дней и с файлами только 2: 2 дня.
С -ls вы получите вывод типа ls -l, где вы можете посмотреть дату файлов.
Используя ctime вместо mtime, вы получаете дату создания вместо даты модификации, но в зависимости от возможностей и настроек файловых систем в / etc / fstab это может работать или не работать.
источник