1317

Как я могу отсортировать вывод ls по дате последнего изменения?

9 ответов9

1578
ls -t

или (для обратного, самое последнее внизу):

ls -tr

Страница man ls описывает это более подробно и перечисляет другие опции.

145

Попробуйте это: ls -ltr . Это даст вам последние до конца списка

42

Для полного ответа вот что я использую: ls -lrth

Поместите это в скрипт запуска /etc/bashrc и назначьте псевдоним, подобный следующему: alias l='ls -lrth' Перезапустите ваш терминал, и вы сможете набрать l и увидеть длинный список файлов.

28

Я использую иногда это:

find . -type f -mmin -5 -print0 | xargs -0 /bin/ls -tr

или же

find . -type f -mmin -5 -print0 | xargs -0 /bin/ls -ltr

рекурсивно посмотреть, какие файлы были изменены за последние 5 минут.

... или сейчас с последней версией GNU найдите:

find . -type f -mmin -5 -exec ls -ltr {} +

... и даже не для ограничения файлов:

find . -mmin -5 -exec ls -ltrd {} +

(обратите внимание на ключ -d для ls чтобы не отображать содержимое каталогов)

20

Добавлять:

alias lt='ls -Alhtr'

в $homedir/.bashrc

12

Найти все файлы в файловой системе, которые были изменены максимально 3 * 24 часа (3 дня) назад до сих пор:

find / -ctime 3
10

мнемонический

Ибо не игнорируйте записи, начинающиеся с . и отсортировать по дате (сначала сначала самое новое):

ls -at

Ибо не игнорируйте записи, начинающиеся с . и обратная сортировка по дате (сначала самая старая):

ls -art

Ибо не игнорируйте записи, начинающиеся с . , используйте длинный формат списка и сортируйте по дате (сначала сначала по-новому):

ls -alt

Для печати удобочитаемых размеров, не игнорируйте записи, начинающиеся с . , используйте формат длинного списка и сортируйте по дате (сначала самое новое) (примечание @EvgeniSergeev):

ls -halt

но будьте осторожны с последним, потому что простой неправильный тип может вызвать сбой сервера ... (@Isaac примечание)

9

Чтобы показать 10 самых последних отсортированных по дате, я использую что-то вроде этого:

ls -t ~/Downloads | head -10

или чтобы показать самый старый

ls -tr ~/Downloads | tail -10
7

Используя только очень простые команды Unix:

ls -nl | sort -k 8,8n -k 6,6M

Это работало на Linux; столбец 8 - "n" (числовой), столбец 6 - "M", месяц.

Я новичок в этом sort , поэтому этот ответ, вероятно, можно улучшить. Не говоря уже о том, что для использования точных временных меток нужны дополнительные параметры ls и sort , но не всем это понадобится.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .