Команда Unix ls: показать полный путь при использовании опций
Я часто использую эту команду списка в 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 ответов:
Как насчет этого трюка...
ls -lrt -d -1 $PWD/{*,.*} OR ls -lrt -d -1 $PWD/*Я думаю, что у этого есть проблемы с пустыми каталогами, но если у другого плаката есть настройка, я обновлю свой ответ. Кроме того, вы уже можете это знать, но это, вероятно, будет хорошим кандидатом на псевдоним, учитывая его длину.
[обновление] добавлены некоторые настройки на основе комментариев, Спасибо, ребята.
[update] как указано в комментариях, вам может потребоваться настроить выражения сопоставления в зависимости от shell (bash vs zsh). Я повторно добавил свою старую команду для справки.
используйте эту команду:
ls -ltr /mig/mthome/09/log/*вместо:
ls -ltr /mig/mthome/09/logчтобы получить полный путь в списке.
оптимизирован из ответа spacedrop ...
ls `pwd`/*и вы можете использовать параметры ls
ls -alrt `pwd`/*
вы можете объединить команду find и команду ls. Используйте путь (.) и селектор ( * ), чтобы сузить файлы, которые вы ищете. Окружить команду в обратные кавычки. Аргумент to-name-это doublequote star doublequote, если вы не можете его прочитать.
ls -lart `find . -type f -name "*" `
Comments