Comando de árvore lista um nível todos os arquivos

25

Como posso usar o comando tree para listar o diretório atual como uma árvore?

Se eu fizer

tree -L 1

Ele só lista os diretórios, como posso fazer com que ele mostre os arquivos também?

    
por Nix 09.01.2012 / 16:16

2 respostas

6

Para o Windows XP ou 7, a opção /F também mostrará nomes de arquivos.

C:\>tree /?
Graphically displays the folder structure of a drive or path.

TREE [drive:][path] [/F] [/A]

   /F   Display the names of the files in each folder.
   /A   Use ASCII instead of extended characters.

No entanto, acredito que você esteja em outro sistema operacional, pois /L não é um switch válido no XP ou 7.

Na minha VM Ubuntu (11.10), tree não veio pré-instalado. sudo apt-get install tree corrigiu isso rapidamente. Depois, tree -L 1 funcionou exatamente como você quer - mostrou uma árvore apenas do diretório atual, incluindo os diretórios e . A adição da opção -a também incluiu arquivos "ocultos". Parece que o comportamento padrão de tree é mostrar os arquivos e diretórios. Isso pode ser alterado para diretórios apenas com a opção -d .

Mais detalhes podem ser encontrados em man tree ou aqui: link

Se você estiver com problemas, sugiro verificar o ls de seu pwd para ter certeza de que há arquivos nesse diretório. Além disso, verifique suas permissões de arquivos e pastas e veja a página man de tree para mais opções.

    
por 09.01.2012 / 16:39
8

Ele lista os arquivos e diretórios para mim:

[ben@ben-x220 ~/tmp/test]$ tree --version
tree v1.5.3 (c) 1996 - 2009 by Steve Baker, Thomas Moore, Francesc Rocher, Kyosuke Tokoro 

[ben@ben-x220 ~/tmp/test]$ tree -L 1
.
├── dir1
├── file1
├── file2
└── file3

1 directory, 3 files

[ben@ben-x220 ~/tmp/test]$ tree
.
├── dir1
│   └── file4
├── file1
├── file2
└── file3

1 directory, 4 files
    
por 09.01.2012 / 16:59