Предположим , у меня есть каталог , /dir
в котором есть 3 символические ссылки на другие каталоги
/dir/dir11
, /dir/dir12
и /dir/dir13
. Я хочу , чтобы получить список всех файлов в dir
том числе и в dir11
, dir12
и dir13
.
Чтобы быть более общим, я хочу перечислить все файлы, включая файлы в каталогах, которые являются символическими ссылками. find .
и ls -R
т. д. остановитесь на символической ссылке, не переходя к ним, чтобы получить дальнейший список.
Ответы:
-L
Вариантls
будет выполнять то , что вы хотите. Разыменовывает символические ссылки.Итак, ваша команда будет:
Вы также можете сделать это с
-follow
Вариант направляет найти следовать символические ссылки на каталоги.На Mac OS X используйте
как
-follow
не рекомендуется.источник
-follow
- и он сказал, что не может найти папкуollow
find -L .
- У меня была та же проблема, что и у @ S.Matthew_Englishfollow
только пути к файлам (полный путь к файлу), а не путь к каталогу, как я могу это сделать?Как насчет дерева ?
tree -l
будет следовать символическим ссылкам.Отказ от ответственности : я написал этот пакет.
источник
ls
. Его также легче наклеивать.-type f
означает, что он будет отображать реальные файлы (не символические ссылки)-follow
означает, что он будет следовать символическим ссылкам вашего каталога-print
заставит его отображать имена файлов.Если вы хотите отображение типа ls, вы можете сделать следующее
источник
ls -L
опцияИспользуя ls:
от 'man ls':
Или, используя find:
Из справочной страницы поиска:
Если вы обнаружите, что хотите переходить только по нескольким символическим ссылкам (например, по ссылкам, указанным выше), вам следует обратиться к опции -H, которая следует только за символическими ссылками, которые вы передаете ей в командной строке.
источник
Я знал, что
tree
это уместно, но у меня не было дерева. Итак, я получил довольно близкую альтернативу здесьисточник
источник
-L
разыменовывает символические ссылки. Это также сделает невозможным увидеть какие-либо символические ссылки на файлы - они будут выглядеть как файлы, на которые указывают ссылки.источник
если вы хотите распечатать все содержимое файла :
find . -type f -exec cat {} +
источник