Подтвердить что ты не робот

Команда Linux для печати структуры каталогов в виде дерева

Есть ли какая-либо команда linux, которую я могу вызвать из Bash script, которая будет печатать структуру каталогов в форме дерева, например,

folder1
   a.txt
   b.txt
folder2
   folder3
4b9b3361

Ответ 1

Это то, что вы ищете дерево? Это должно быть в большинстве дистрибутивов (возможно, в качестве дополнительной установки).

~> tree -d /proc/self/
/proc/self/
|-- attr
|-- cwd -> /proc
|-- fd
|   '-- 3 -> /proc/15589/fd
|-- fdinfo
|-- net
|   |-- dev_snmp6
|   |-- netfilter
|   |-- rpc
|   |   |-- auth.rpcsec.context
|   |   |-- auth.rpcsec.init
|   |   |-- auth.unix.gid
|   |   |-- auth.unix.ip
|   |   |-- nfs4.idtoname
|   |   |-- nfs4.nametoid
|   |   |-- nfsd.export
|   |   '-- nfsd.fh
|   '-- stat
|-- root -> /
'-- task
    '-- 15589
        |-- attr
        |-- cwd -> /proc
        |-- fd
        | '-- 3 -> /proc/15589/task/15589/fd
        |-- fdinfo
        '-- root -> /

27 directories

образец взят с веб-страницы сопровождающего.

Вы можете добавить опцию -L # где # заменяется числом, чтобы указать максимальную глубину рекурсии.

Удалите -d чтобы отобразить также файлы.

Ответ 2

Вы можете использовать это:

ls -R | grep ":$" | sed -e 's/:$//' -e 's/[^-][^\/]*\//--/g' -e 's/^/   /' -e 's/-/|/'

Через несколько секунд будет показано графическое представление текущих подкаталогов без файлов, например, в /var/cache/:

   .
   |-apache2
   |---mod_cache_disk
   |-apparmor
   |-apt
   |---archives
   |-----partial
   |-apt-xapian-index
   |---index.1
   |-dbconfig-common
   |---backups
   |-debconf

Источник

Ответ 3

Чтобы добавить решение Hassou к вашему .bashrc, попробуйте:

alias lst='ls -R | grep ":$" | sed -e '"'"'s/:$//'"'"' -e '"'"'s/[^-][^\/]*\//--/g'"'"' -e '"'"'s/^/   /'"'"' -e '"'"'s/-/|/'"'"