Как я могу генерировать список файлов с их полным путем в Linux?

270
задан Cody Gray 8 February 2019 в 09:13
поделиться

10 ответов

Если Вы дадите find полный путь то для начала, он распечатает полные пути. Например, для нахождения всех .htaccess файлов в текущем каталоге:

find "$(pwd)" -name .htaccess

или если Ваша оболочка расширяется $PWD до текущего каталога:

find "$PWD" -name .htaccess

find просто предварительно ожидает путь, который это было дано относительному пути в файл от того пути.

Greg Hewgill также предложил использовать pwd -P, если Вы хотите разрешить символьные ссылки в своем текущем каталоге.

273
ответ дан Peter Cordes 23 November 2019 в 02:18
поделиться

Можно использовать

find $PWD 

в ударе

27
ответ дан Vinko Vrsalovic 23 November 2019 в 02:18
поделиться

find / -print сделает это

-1
ответ дан David Arno 23 November 2019 в 02:18
поделиться

Это работало на меня. Но это не перечисляло в алфавитном порядке.

find "$(pwd)" -maxdepth 1

Это списки команд в алфавитном порядке, а также скрытые файлы списков также.

ls -d -1 "$PWD/".*; ls -d -1 "$PWD/"*;
0
ответ дан 23 November 2019 в 02:18
поделиться

stat

Полный путь единственного файла:

stat -c %n "$PWD"/foo/bar
0
ответ дан 23 November 2019 в 02:18
поделиться

fd

Используя fd (альтернатива find), используйте следующий синтаксис:

fd . foo -a

то, Где . шаблон поиска и foo, является корневым каталогом.

, Например, перечислять все файлы в etc рекурсивно, работайте: fd . /etc -a.

-a, --absolute-path Шоу, абсолютное вместо относительных путей

1
ответ дан 23 November 2019 в 02:18
поделиться
ls -d "$PWD/"*

Это выполняется только в текущем каталоге . Он цитирует "$ PWD", если он содержит пробелы.

16
ответ дан 23 November 2019 в 02:18
поделиться

Лучшая книга, которую я когда-либо читал об ОО, это Bertrand Meyer Object Oriented Software Construction .

Она огромна, но очень полезна для меня. Он охватывает все аспекты проектирования OO IMVHO.

-121--2672353-

Я полностью понимаю вашу ситуацию. Также владеет тремя из этих книг;) Я бы предложил первое издание Head. Объектно-ориентированный анализ и проектирование. Это выведет вас на нужные треки. Книга GoF велика, но бесполезна, пока вы не получите основы через голову, и книга Head First не позаботится об этом. Ура:)

-121--2672355-

Если вы дадите команде find абсолютный путь, он выплеснет результаты с абсолютным путем. Итак, из каталога Кена, если вы должны были ввести:

find /home/ken/foo/ -name bar -print    

(вместо относительного пути найти. -name bar -print )

Вы должны получить:

/home/ken/foo/bar

Поэтому, если вы хотите, чтобы ls -l и чтобы он вернул абсолютный путь, вы можете просто сказать команде find выполнить ls -l все, что он найдет.

find /home/ken/foo -name bar -exec ls -l {} ;\ 

ПРИМЕЧАНИЕ: Существует космос между {} и ;

Вы получите что-то подобное:

-rw-r--r--   1 ken admin       181 Jan 27 15:49 /home/ken/foo/bar

Если вы не уверены, где находится файл, вы всегда можете изменить расположение поиска. Если путь поиска начинается с «/», вы получите абсолютный путь взамен. Если вы ищете расположение (например ,/), где вы собираетесь получить большое количество отклоненных ошибок разрешения, то я бы рекомендовал перенаправить стандартную ошибку, чтобы вы могли увидеть результаты поиска:

find / -name bar -exec ls -l {} ;\ 2> /dev/null

( 2 > - синтаксис для оболочек Borne и Bash, но не будет работать с оболочкой C. Это может работать и в других снарядах, но я знаю только наверняка, что это работает в Борне и Баше).

4
ответ дан 23 November 2019 в 02:18
поделиться
ls -1 | awk  -vpath=$PWD/ '{print path$1}'
-1
ответ дан 23 November 2019 в 02:18
поделиться

Используйте это для каталогов (/ после ** необходимо в bash, чтобы ограничить его каталогами):

ls -d -1 "$PWD/"**/

это для файлов и каталоги непосредственно в текущем каталоге, имена которых содержат . :

ls -d -1 "$PWD/"*.*

это для всего:

ls -d -1 "$PWD/"**/*

Взято отсюда http://www.zsh.org/mla/users/2002/msg00033.html

В bash ** является рекурсивным, если вы включите shopt -s globstar ].

109
ответ дан 23 November 2019 в 02:18
поделиться
Другие вопросы по тегам:

Похожие вопросы: