Показать файлы за последние 2 дня в смонтированной системе NTFS?

8

Какая именно команда показывать файлы младше 2 дней? Я думал о чем-то вроде этого:

$ find / -mtime -2

... но я не уверен, как распечатать дату найденных файлов. Моя цель - найти в смонтированной системе NTFS файлы, которые были новыми или изменены в последние дни.

Кроме того, было бы очень полезно отсортировать результаты от самых новых до самых старых. Это возможно?

бувигер
источник
Если вы измените свой вопрос, чтобы попросить что-то еще, вы должны, по крайней мере, сообщить тем, кто ответил с уверенностью, что их ответ больше не действителен, поскольку новые посетители будут в основном голосовать за свой текущий опыт, а не за то, чтобы трудно изучить историю. Более того, добавление дополнительных требований позже - ИМХО плохой стиль. Откройте новый вопрос для этого. Имея в виду требования, люди могли бы выбрать другой подход.
пользователь неизвестен
Это была просто орфографическая ошибка в моем тексте вопроса. Сама тема была правильной. По кузову я написал «помоложе», а не «постарше». Мой пример кода тоже не изменился. Но в принципе ты прав.
Бевор

Ответы:

10

Файлы, созданные или измененные менее 48 часов назад,
отсортированы по самым новым:

find / -mtime -2 -printf "%T@" -ls | sort

Я нашел %T@из man find: время последней модификации (секунды с начала эпохи)

olibre
источник
Я хотел бы видеть дату найденных файлов, а не только сами файлы. Я также обновил вопрос, потому что было бы очень полезно отсортировать результаты от самых новых до самых старых.
Бевор
Последняя команда - это то, что я ищу, спасибо.
Бевор
Мне нужно было «моложе» 2 дня, поэтому с сегодняшнего дня и до двух дней раньше (мой вопрос сначала был неправильным, я написал «старше чем», моя ошибка), но это работает, когда я устанавливаю -2 вместо +2. Я не тестировал его на NTFS сейчас, мне нужно подождать до завтра, но я думаю, что он тоже работает там (как на моем локальном Ubuntu). Если нет, я дам вам знать.
Бевор
Работает отлично :)
Bevor
Отлично :-D Увидимся
olibre
2

Если вы отправляете по конвейеру xargs, вы можете легко настроить параметры вывода / формата lsдля отображения даты, сортировки по дате и т. Д.

find / -type f -mtime -2 -print0 | xargs -0 ls -lt

wisbucky
источник
1

Это проще в zsh, благодаря его глобальным квалификаторам .

print -l /**/*~/(proc|dev|sys)/*(m-2om)

В этом списке перечислены все файлы /, за исключением файлов в /procили /devили /sys, которые были изменены в течение последних 2 дней ( m-2). Файлы перечислены в обратном хронологическом порядке изменения времени ( om), по одному на строку ( print -l).

Если вы также хотите перечислить метаданные файла, вам не нужно сортировать в оболочке, только фильтровать. Вы можете столкнуться с пределом длины командной строки, зависящим от платформы, если слишком много подходящих файлов.

ls -dlt /**/*~/(proc|dev|sys)/*(m-2)

Если вы хотите сопоставлять только обычные файлы, добавьте .в скобках.

Имея только инструменты POSIX, вы можете использовать их ls -dltдля сортировки и findсоздания списка файлов. Опять же, вы можете столкнуться с пределом длины командной строки, зависящим от платформы, если слишком много подходящих файлов. Если вы хотите сопоставлять только обычные файлы, добавьте -type fдо или после mtime -2.

find / -mtime -2 -exec ls -dlt {} +
Жиль "ТАК - перестань быть злым"
источник
1

(Примечание: в одном предложении вопроса изначально запрашивались даты, более 2 дней в тексте, в то время как в заголовке это было наоборот. Необходимость сортировки результатов была введена позже).

find / -mtime -2 -ls 

С +2 вы видите файлы старше 2 дней, с -2 моложе двух дней и с файлами только 2: 2 дня.

С -ls вы получите вывод типа ls -l, где вы можете посмотреть дату файлов.

find / -ctime -2 -ls 

Используя ctime вместо mtime, вы получаете дату создания вместо даты модификации, но в зависимости от возможностей и настроек файловых систем в / etc / fstab это может работать или не работать.

Пользователь неизвестен
источник