2009-04-09 13:17:20 +0000 2009-04-09 13:17:20 +0000
1422
1422
Advertisement

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

Advertisement

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

Advertisement
Advertisement

Ответы (10)

1687
1687
1687
2009-04-09 13:20:44 +0000
ls -t

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

ls -tr

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

155
155
155
2010-04-06 14:44:45 +0000

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

48
Advertisement
48
48
2012-04-15 20:23:29 +0000
Advertisement

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

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

31
31
31
2013-07-19 11:01:24 +0000

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

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

или

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

… или сейчас, с последней версией GNU find:

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

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

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

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

Более надежный способ?

Взгляните на мой ответ на find и сортировку по дате изменен

22
Advertisement
22
22
2012-04-15 18:41:06 +0000
Advertisement

Добавить:

alias lt='ls -Alhtr'

в $homedir/.bashrc

18
18
18
2017-07-26 07:21:37 +0000

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

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

ls -at

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

ls -art

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

ls -alt

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

ls -halt

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

16
Advertisement
16
16
2013-11-11 16:11:57 +0000
Advertisement

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

find / -ctime 3
12
12
12
2016-03-06 18:21:16 +0000

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

ls -t ~/Downloads | head -10

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

ls -tr ~/Downloads | tail -10
9
Advertisement
9
9
2014-06-15 21:47:51 +0000
Advertisement
-->

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

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

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

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

-1
-1
-1
2020-02-28 11:04:14 +0000

Один из возможных способов показать, например, последние 10 изменённых файлов:

ls -lrth | tail -n 10

Описание вышеприведённой команды:

ls - list

аргументы:

l - long
r - reverse
t - sort by time
h - human readable

, то есть команда tail, которая показывает только 10 последних строк, определённых параметром n (количество строк)…

Advertisement

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

6
11
5
37
6
Advertisement
Advertisement