Как я могу отсортировать вывод ls по дате последнего изменения?
9 ответов
ls -t
или (для обратного, самое последнее внизу):
ls -tr
Страница man ls описывает это более подробно и перечисляет другие опции.
Попробуйте это: ls -ltr . Это даст вам последние до конца списка
Для полного ответа вот что я использую: ls -lrth
Поместите это в скрипт запуска /etc/bashrc и назначьте псевдоним, подобный следующему: alias l='ls -lrth' Перезапустите ваш терминал, и вы сможете набрать l и увидеть длинный список файлов.
Я использую иногда это:
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 чтобы не отображать содержимое каталогов)
Добавлять:
alias lt='ls -Alhtr'
в $homedir/.bashrc
Найти все файлы в файловой системе, которые были изменены максимально 3 * 24 часа (3 дня) назад до сих пор:
find / -ctime 3
мнемонический
Ибо не игнорируйте записи, начинающиеся с . и отсортировать по дате (сначала сначала самое новое):
ls -at
Ибо не игнорируйте записи, начинающиеся с . и обратная сортировка по дате (сначала самая старая):
ls -art
Ибо не игнорируйте записи, начинающиеся с . , используйте длинный формат списка и сортируйте по дате (сначала сначала по-новому):
ls -alt
Для печати удобочитаемых размеров, не игнорируйте записи, начинающиеся с . , используйте формат длинного списка и сортируйте по дате (сначала самое новое) (примечание @EvgeniSergeev):
ls -halt
но будьте осторожны с последним, потому что простой неправильный тип может вызвать сбой сервера ... (@Isaac примечание)
Чтобы показать 10 самых последних отсортированных по дате, я использую что-то вроде этого:
ls -t ~/Downloads | head -10
или чтобы показать самый старый
ls -tr ~/Downloads | tail -10
Используя только очень простые команды Unix:
ls -nl | sort -k 8,8n -k 6,6M
Это работало на Linux; столбец 8 - "n" (числовой), столбец 6 - "M", месяц.
Я новичок в этом sort , поэтому этот ответ, вероятно, можно улучшить. Не говоря уже о том, что для использования точных временных меток нужны дополнительные параметры ls и sort , но не всем это понадобится.
