Я использовал это, чтобы получить список файлов в моем Git-репозитории по дате их последнего редактирования. ls -alt $(git ls-files -m)Спасибо!
NobleUplift
45
Для полного ответа вот что я использую: ls -lrth
Поместите это в свой скрипт запуска /etc/bashrcи назначьте псевдоним, такой как: alias l='ls -lrth'Перезагрузите терминал, и вы сможете набрать lи увидеть длинный список файлов.
Под рекурсивным пониманием вы подразумеваете, что в нем перечислены все файлы в подкаталогах, разве у вас нет переключателя для этого?
Jiggunjer
@jiggunjer ls -Rltrбудет сортировать по dir, а затем по датам, find -type f -mmin -5 -exec ls -ltr {} +просто печатать файлы, измененные за последние 5 минут, отсортированные по дате, независимо от дерева каталогов!
Ф. Хаури
Обратите внимание, что это не сработает, если список файлов слишком длинный, чтобы передать его как один вызов оболочки ls( unix.stackexchange.com/a/118200/27186 ) - тогда вы увидите один отсортированный набор файлов, затем другой отсортированный набор файлов и т. д., но весь список не будет отсортирован. Смотрите superuser.com/questions/294161/… для сортировки длинных списков с помощью find.
Ибо не игнорируйте записи, начинающиеся с .и сортируйте по дате (сначала новые):
ls -at
Для не игнорировать записи , начинающиеся с .и реверс сортировать по дате (сначала старые):
ls -art
Чтобы не игнорировать записи, начинающиеся с ., используйте длинный список форматирования и сортируйте по дате (сначала по новой):
ls -alt
Для печати удобочитаемых размеров не игнорируйте записи, начинающиеся с ., используйте длинный формат списка и сортируйте по дате (самое новое сначала) (примечание @EvgeniSergeev):
ls -halt
но будьте осторожны с последним , потому что простой неправильный тип может вызвать сбой сервера ... (@Isaac note)
он дает ls -t head -2и ls -tr | tail -2дает тот же результат, опция (-t / -tr) должна оставаться фиксированной и изменять хвост / голову или наоборот, модификация обоих - это все равно, что ничего не модифицировать
DDS
7
Используя только очень простые команды Unix:
ls -nl | sort -k 8,8n -k 6,6M
Это работало на Linux; столбец 8 - «n» (числовой), столбец 6 - «М», месяц.
Я новичок в этом sort, поэтому этот ответ, вероятно, может быть улучшен. Не говоря уже о том, что для этого нужны дополнительные опции lsи sortиспользуются точные метки времени, но это понадобится не всем.
Ответы:
или (для обратного, самое последнее внизу):
Страница
ls
man описывает это более подробно и перечисляет другие опции.источник
ls -halt
дляhuman readable
,show hidden
,print details
,sort by date
.-t
и-r
аргументы указаны в разделе оls
стандарте POSIX , поэтому должны быть совместимы между Unices.ls -llt
для отображения даты и времени вместе с сортировкойls -halt
что простой неправильный тип может привести к сбою вашего сервера! linux.die.net/man/8/haltПопробуйте это:
ls -ltr
. Это даст вам последние до конца спискаисточник
ls -alt $(git ls-files -m)
Спасибо!Для полного ответа вот что я использую:
ls -lrth
Поместите это в свой скрипт запуска
/etc/bashrc
и назначьте псевдоним, такой как:alias l='ls -lrth'
Перезагрузите терминал, и вы сможете набратьl
и увидеть длинный список файлов.источник
source /etc/bashrc
если хотите добавить его в свой репертуар во время работы.~/.bash_aliases
только для своего пользователя (можно создать файл, если он еще не существуетЯ использую иногда это:
или же
рекурсивно посмотреть, какие файлы были изменены за последние 5 минут.
... или сейчас с последней версией GNU найдите :
... и даже не для ограничения файлов :
(обратите внимание на
-d
переключатель, чтобыls
не отображать содержимое каталогов)Более надежный способ?
Посмотрите на мой anser, чтобы найти и отсортировать по дате изменения
источник
ls -Rltr
будет сортировать по dir, а затем по датам,find -type f -mmin -5 -exec ls -ltr {} +
просто печатать файлы, измененные за последние 5 минут, отсортированные по дате, независимо от дерева каталогов!ls
( unix.stackexchange.com/a/118200/27186 ) - тогда вы увидите один отсортированный набор файлов, затем другой отсортированный набор файлов и т. д., но весь список не будет отсортирован. Смотрите superuser.com/questions/294161/… для сортировки длинных списков с помощью find.Добавлять:
в
$homedir/.bashrc
источник
мнемонический
Ибо не игнорируйте записи, начинающиеся с
.
и сортируйте по дате (сначала новые):Для не игнорировать записи , начинающиеся с
.
и реверс сортировать по дате (сначала старые):Чтобы не игнорировать записи, начинающиеся с
.
, используйте длинный список форматирования и сортируйте по дате (сначала по новой):Для печати удобочитаемых размеров не игнорируйте записи, начинающиеся с
.
, используйте длинный формат списка и сортируйте по дате (самое новое сначала) (примечание @EvgeniSergeev):но будьте осторожны с последним , потому что простой неправильный тип может вызвать сбой сервера ... (@Isaac note)
источник
Найти все файлы в файловой системе, которые были изменены максимально 3 * 24 часа (3 дня) назад до сих пор:
источник
Чтобы показать 10 самых последних отсортированных по дате, я использую что-то вроде этого:
или показать старейший
источник
ls -t head -2
иls -tr | tail -2
дает тот же результат, опция (-t / -tr) должна оставаться фиксированной и изменять хвост / голову или наоборот, модификация обоих - это все равно, что ничего не модифицироватьИспользуя только очень простые команды Unix:
Это работало на Linux; столбец 8 - «n» (числовой), столбец 6 - «М», месяц.
Я новичок в этом
sort
, поэтому этот ответ, вероятно, может быть улучшен. Не говоря уже о том, что для этого нужны дополнительные опцииls
иsort
используются точные метки времени, но это понадобится не всем.источник