Во-первых, какую разновидность Unix Вы используете? Системам на основе BSD установят другую опцию для ls
от System V.
Во-вторых, http://unixhelp.ed.ac.uk/CGI/man-cgi?ls перечисляет a -R
переключитесь для принуждения рекурсивного списка, и -c
основывать его вид на ctime
, или время изменения.
Прием должен проверить, что Ваша разновидность *отклоняет, использует версию ls
это включает те переключатели.
Это кажется на желание глобального вида, а не вид на каталог как Вы добрался бы с ls -Rlth
.
Если общее количество файлов не является слишком большим, это может быть выполнено с помощью find
команда, чтобы собрать имена и передать их ls
для сортировки:
find . -type f -exec ls -lth {} +
или альтернативно
find . -type f -print0 | xargs -0 ls -lth
(В некоторых более старых системах, find
команда не поддерживает также -exec ... +
или -print0
. В этом случае Вы могли использовать -print
вместо -print0
и опустите -0
, но затем это не будет работать с именами файлов, содержащими пробелы или другие специальные символы.)
Протест: Если количество файлов, которые Вы сортируете, является большим затем могут быть слишком многие для списка как аргументы синглу ls
команда. В этом случае ls
будет назван многократно, и сортировка только будет корректна в каждой группе файлов.