-r
делает то же самое для ls
как tac
делает для любой команды, которая должна инвертировать упорядочивание файла.
Таким образом, Вы могли просто записать
ls -ltr
Из страницы справочника:
-l
Список в длинном формате. Если вывод к терминалу, полная сумма для всех размеров файла производится на строке перед длинным списком.-r
Инвертируйте порядок вида получить обратный лексикографический порядок или самые старые записи сначала (или самые большие файлы в последний раз, если объединено с видом размером.-t
Вид ко времени изменил (последний раз изменил сначала) прежде, чем отсортировать операнды по лексикографическому порядку.
В Вашем первом примере шарик, должно быть, расширился до единственного файла. В этом случае, grep
(по умолчанию) не предварительно ожидает имя файла.
Второй пример, должно быть, расширился до нескольких имен файлов, и grep
действительно предварительно ожидает имя файла в этом случае.
Можно использовать -H
опция всегда предварительно ожидать имя файла к выводу, или -h
никогда не получать его.
Если Ваш grep испытывает недостаток в этих опциях, можно использовать grep REGEX /path/to/pattern/* /dev/null
чтобы всегда получить имя файла (никогда нет никакого хита в /dev/null
но это рассчитывает как имя файла), или cat /path/to/pattern/* | grep REGEX
никогда не получать имя файла.