Как я могу перечислить (ls) 5 последних измененных файлов в каталоге?
Я знаю ls -t
будет список всех файлов измененного времени. Но как я могу ограничить эти результаты только последнего n файлов?
4 ответа:
попробуйте использовать голову или хвост. Если вы хотите 5 самых последних измененных файлов:
ls -1t | head -5
-1 (Это один) говорит, что один файл в строке, и голова говорит взять первые 5 записей.
Если вы хотите последние 5 попробовать
ls -1t | tail -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