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


Я знаю ls -t будет список всех файлов измененного времени. Но как я могу ограничить эти результаты только последнего n файлов?

4 90

4 ответа:

попробуйте использовать голову или хвост. Если вы хотите 5 самых последних измененных файлов:

ls -1t | head -5

-1 (Это один) говорит, что один файл в строке, и голова говорит взять первые 5 записей.

Если вы хотите последние 5 попробовать

ls -1t | tail -5

использовать :

ls -t | tail -n 5

в принятом ответе перечислены только имена файлов, но для получения топ-5 файлов можно также использовать:

ls -lht | head -6

где:

-l выходы в формате списка

-h делает вывод удобочитаемое (т. е. размер файла в КБ, МБ и т. д.)

-t сортирует вывод, помещая последний измененный файл первым

head -6 появится 5 файлов, потому что ls печать размер блока в первой строке выход.

Я думаю, что это немного более элегантной и, возможно, более полезный подход.

пример:

total 26960312 -rw-r--r--@ 1 user staff 1.2K 11 Jan 11:22 phone2.7.py -rw-r--r--@ 1 user staff 2.7M 10 Jan 15:26 03-cookies-1.pdf -rw-r--r--@ 1 user staff 9.2M 9 Jan 16:21 Wk1_sem.pdf -rw-r--r--@ 1 user staff 502K 8 Jan 10:20 lab-01.pdf -rw-rw-rw-@ 1 user staff 2.0M 5 Jan 22:06 0410-1.wmv

ls -t список файлов по времени создания не последнее изменение времени. Используйте ls -ltc Если вы хотите получить список файлов по времени последнего изменения, от последнего к первому(сверху вниз). При этом перечислить последние n:ls -ltc | head ${n}