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

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

1238 голосов | спросил nearly_lunchtime 9 PMpThu, 09 Apr 2009 17:17:20 +040017Thursday 2009, 17:17:20

9 ответов


1490
ls -t

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

ls -tr

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

ответил Adnan 9 PMpThu, 09 Apr 2009 17:20:44 +040020Thursday 2009, 17:20:44
134

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

ответил 6 PMpTue, 06 Apr 2010 18:44:45 +040044Tuesday 2010, 18:44:45
40

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

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

ответил Dejan 16 AMpMon, 16 Apr 2012 00:23:29 +040023Monday 2012, 00:23:29
27

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

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 :

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

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

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

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

ответил F. Hauri 19 J000000Friday13 2013, 15:01:24
20

Добавить

alias lt='ls -Alhtr'

в $homedir/.bashrc

ответил Layer8 15 PMpSun, 15 Apr 2012 22:41:06 +040041Sunday 2012, 22:41:06
12

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

find / -ctime 3
ответил pbies 11 12013vEurope/Moscow11bEurope/MoscowMon, 11 Nov 2013 20:11:57 +0400 2013, 20:11:57
8

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

ls -t ~/Downloads | head -10

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

ls -tr ~/Downloads | tail -10
ответил lfender6445 6 MarpmSun, 06 Mar 2016 21:21:16 +03002016-03-06T21:21:16+03:0009 2016, 21:21:16
8

Мнемоник

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

ls -at

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

ls -art

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

ls -alt

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

ls -halt

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

ответил prostosmirienie 26 J000000Wednesday17 2017, 10:21:37
7

Использование только очень простых команд Unix:

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

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

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

ответил bbarker 16 J0000006Europe/Moscow 2014, 01:47:51

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132