Команда Unix ls: показывать полный путь при использовании опций - PullRequest
57 голосов
/ 07 апреля 2011

Я часто использую эту команду списка в Unix (AIX / KSH):

ls -Artl

Отображает файлы следующим образом:

-rw-r--r-- 1 myuser mygroup 0 Apr 2 11:59 test1.txt
-rw-r--r-- 1 myuser mygroup 0 Apr 2 11:59 test2.txt

Я бы хотел изменить команду таким образом, чтобы отображался полный путь к файлу. Например:

-rw-r--r-- 1 myuser mygroup 0 Apr 2 11:59 /usr/test1.txt
-rw-r--r-- 1 myuser mygroup 0 Apr 2 11:59 /usr/test2.txt

Есть идеи?

Я нашел несколько методов разрешения с использованием pwd или find, но - насколько я вижу - это не работает, если я хочу сохранить параметры ls.

Ответы [ 6 ]

62 голосов
/ 07 апреля 2011

Как насчет этого трюка ...

ls -lrt -d -1 $PWD/{*,.*}

OR

ls -lrt -d -1 $PWD/*

Я думаю, что это имеет проблемы с пустыми каталогами, но если у другого автора есть твик, я обновлю свой ответ. Кроме того, вы, возможно, уже знаете это, но это, вероятно, будет хорошим кандидатом на псевдоним, учитывая его длительность.

[обновление] добавил некоторые изменения на основе комментариев, спасибо, ребята.

[обновление], как указано в комментариях, которые могут понадобиться для настройки выражений сопоставления в зависимости от оболочки (bash против zsh). Я повторно добавил мою старую команду для справки.

41 голосов
/ 27 мая 2013

Попробуйте, у меня работает: ls -d /a/b/c/*

14 голосов
/ 18 апреля 2012

Используйте эту команду:

ls -ltr /mig/mthome/09/log/*

вместо:

ls -ltr /mig/mthome/09/log

, чтобы получить полный путь в списке.

6 голосов
/ 16 июня 2014

Я использую эту команду:

ls -1 | xargs readlink -f
4 голосов
/ 11 декабря 2014

оптимизировано от ответа spacedrop ...

ls $(pwd)/*

и вы можете использовать опции ls

ls -alrt $(pwd)/*
0 голосов
/ 25 ноября 2014

Вы можете объединить команду find и команду ls.Используйте путь (.) И селектор (*), чтобы сузить файлы, которые вы ищете.Окружить команду поиска в кавычках.Аргументом -name является двойная кавычка в виде двойной кавычки, если вы не можете ее прочитать.

ls -lart `find . -type f -name "*" `
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...