Как я могу отсортировать вывод 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
, но не всем это понадобится.