No Linux, uma árvore é definida como um programa recursivo de listagem de diretórios que gera uma lista de arquivos com recuo profundo. Sem quaisquer parâmetros, a árvore lista os arquivos no diretório atual. No momento em que os parâmetros do diretório são fornecidos, a árvore lista alternadamente cada arquivo por diretório encontrado nos diretórios fornecidos. Quando a lista de cada diretório e arquivo estiver completa, a árvore retornará o número total de diretórios e arquivos listados. Várias opções estão disponíveis para modificar o caractere usado na saída e usar cores.
Sintaxe
$ tree [-adfgilopqrstuxACDFNS] [-L level [-R]] [-H baseHREF] [-T title] [-o filename] [--nolinks] [-P pattern] [-l pattern] [--inodes] [--device] [--noreport] [--dirsfirst] [--version] [--help] [directory ?..]
Opções:
Tag | Descrição |
---|---|
--ajuda | Produz uma lista de uso detalhada. |
--versão | Produz a versão da árvore. |
-a | Todos os arquivos são impressos. Por padrão, os arquivos ocultos não são impressos por árvores (significa arquivos que começam com um ponto '.'). Sob nenhuma circunstância a árvore imprime as construções do sistema de arquivos '.' (diretório atual) e '..' (diretório anterior). |
-d | A opção -d é usada para listar os diretórios. |
-f | Para cada arquivo, imprima o prefixo do caminho completo. |
-eu | A opção -i cria uma árvore, mas não imprime as linhas de recuo; se usarmos isso junto com a opção -f, será útil. |
-eu | Siga os links simbólicos para os diretórios como se fossem diretórios. São evitados esses links que resultarão em um loop recursivo. |
-x | Permaneça no sistema de arquivos atual, como fins -xdev. |
-Padrão P | Liste apenas os arquivos que correspondem ao padrão curinga. Devemos também usar a opção -a e considerar os arquivos que começam com '.' Ponto para combinar. Existem vários operadores curinga válidos, como '?' (qualquer caractere único), '*' (qualquer zero ou mais caracteres), '[…]' (qualquer caractere único listado entre colchetes (opcional - (traço) para intervalo de caracteres pode ser usado: ex [A-Z]) e ' [^….}' (entre colchetes não há nenhum caractere listado) e '|' divide padrões alternativos. |
-eu padrão | Esta opção não listará os arquivos que correspondem ao padrão do curinga. |
-ameixa seca | A partir da árvore de saída, prune cria diretórios vazios, que são úteis quando usados em conjunto com -P ou -l |
-limite de arquivo # | Não desça diretórios que incluam mais de # entradas. |
-formato timefmt | Imprime (implica -D) e formata os dados com base na string de formato que usa a sintaxe strftime. |
-noreport | Omite a impressão do relatório de arquivos e diretórios no final da listagem da árvore. |
-p | Imprima a proteção de todos os arquivos. |
-s | A opção -s imprimirá o tamanho de todos os arquivos, bem como o nome do arquivo. |
-em | Imprima UID # ou nome de usuário se não houver nome de usuário do arquivo. |
-g | Se o arquivo não tiver nome de grupo, imprima o número GID ou o nome do grupo. |
D | Esta opção é utilizada para imprimir a data da última alteração do arquivo listado. |
-inodos | Imprima o número do inode do diretório ou arquivo. |
-dispositivo | Imprima o número do dispositivo que contém o diretório ou arquivo. |
-F | Anexe um '/' para diretórios, um '=' para arquivos de soquete. Um '*' para arquivos executáveis e um '|' para FIFO's, conforme ls -F |
-q | Esta opção imprime os caracteres não imprimíveis dentro do nome do arquivo, como pontos de interrogação, em vez da notação de cenoura padrão. |
-N | Esta opção imprime os caracteres não imprimíveis tal como estão em vez da notação de cenoura predefinida |
-r | Esta opção classificará o resultado em ordem alfabética inversa. |
-t | Classifique o resultado de acordo com a hora da última alteração, em vez de em ordem alfabética. |
dirsdirst | Antes dos arquivos, liste os diretórios. |
-n | Sempre desligue a colorização que é substituída pela opção -C. |
-C | Caso a variável de ambiente LS_COLORS não esteja configurada, sempre ative a colorização utilizando a cor padrão criada. É útil colorir a saída para o tubo. |
-A | Ao imprimir as linhas de recuo, ative o hack gráfico de linha ANSI no momento. |
-S | Ative os gráficos de linha ANSII (é útil quando usamos frentes de modo de console Linux). Agora esta opção é igual a '-charset=IBM437' e acabará sendo denegrida. |
-Nível L | Profundidade máxima de exibição da árvore diretora. |
-R | Cruze recursivamente a árvore de cada diretório de nível (marque a opção -L), e em cada um deles execute a árvore novamente adicionando '-o 00Tree.html' como nova opção. |
-HbaseHREF | A opção -H é responsável por ativar a saída de HTML, que contém referências HTTP. É útil para sites FTP. baseHREF fornece a localização base do FTP se estiver usando a saída HTML. Significa que o diretório local pode ser '/local/ftp/pub', mas deve ser referenciado como 'ftp://hostname.oganization.domain/pub' (baseHREF deve ser 'ftp://hostname.organize.domain') . Dica: com esta opção, não utilize linhas ANSI, e nesta lista de diretórios, não informe mais de um diretório. Podemos usar cores via folha de estilo CSS, use a opção -C além desta opção para saída colorida. |
-T título | No modo de saída HTML, define o título e a string do cabeçalho H1. |
-charset conjunto de caracteres | Usando esta opção, defina o conjunto de caracteres a ser usado ao usar HTML e para desenhos de linha. |
-nolinks | Na saída HTML -nolinks é usado para desativar os hiperlinks. |
-o nome do arquivo | Esta opção envia a saída para o nome do arquivo. |
Instalar comando de árvore
Temos que instalar o comando tree porque, por padrão, ele não está instalado. Para instalar o comando tree no RHEL/CentOS/Fedora Linux, temos que digitar o seguinte comando no terminal:
# yum install tree
Se quisermos instalar o comando tree para Debian/Ubuntu Linux/Mint, então temos que digitar o seguinte comando:
$ sudo apt install tree
Se quisermos instalar o comando tree para Apple OS X, digite:
java tem o próximo
Brew install tree
Como usar o comando árvore
Uma árvore é um programa que existe para sistemas Unix e semelhantes a Unix. É um programa recursivo de listagem de diretórios que gera a listagem de arquivos com recuo profundo.
Sem nenhum parâmetro, tree lista os arquivos no diretório atual. Quando os parâmetros do diretório são fornecidos, a árvore lista todos os arquivos e diretórios encontrados posteriormente no diretório fornecido. Quando a listagem de arquivos e diretórios for concluída, a árvore retornará o número total de diretórios e arquivos listados.
Vejamos alguns exemplos do comando tree que o ajudarão a entender o comando tree:
Saída básica da árvore
A maneira mais geral de usar o comando tree:
$ tree
Quando digitamos o comando acima no terminal, a saída exibe a estrutura em árvore do nosso diretório atual, mostrando todos os arquivos, pastas e subpastas.
Exibir conteúdo de um diretório específico
Se quisermos listar os arquivos e subpastas de um diretório específico em vez do diretório atual, poderemos determinar o caminho ou nome do diretório por meio da seguinte sintaxe:
$ tree -a [DirectoryName/Path
Exemplo:
Se quisermos listar todos os arquivos e subpastas do diretório chamado images, teremos que escrever o seguinte comando:
$ tree -a Pictures
Exibir arquivos ocultos junto com outros arquivos usando árvore
No comando tree, a lista de pastas e arquivos ocultos não é exibida no Ubuntu. Porém, podemos usar o sinalizador 'a' para listá-los da seguinte maneira.
ml em onças
$ tree -a
Na árvore, as pastas e arquivos que começam com '.' são as pastas e arquivos ocultos.
Exibir apenas listagem de diretório por meio da árvore
Podemos usar o sinalizador 'd' para ver a listagem do diretório, mas não os arquivos subjacentes. Para exibir apenas a listagem de diretórios através da árvore, temos que digitar o seguinte comando no terminal.
Sintaxe:
$ tree -d
Exibir prefixo de caminho completo de arquivos e pastas usando árvore
Usando o sinalizador 'f', podemos personalizar o sinalizador da árvore para mostrar o caminho completo como prefixo para cada lista de pastas e arquivos.
Sintaxe:
$ tree -f
É útil principalmente quando precisamos saber o que existe e onde.
Exibir tamanho de arquivos e pastas usando árvore
Usando o comando flag 's' tree, é possível imprimir o tamanho em termos de bytes de todas as pastas e arquivos no diretório.
chmod 755
Sintaxe:
$ tree -s
Com a ajuda do sinalizador 's', podemos verificar quais itens de memória consomem mais espaço em nosso sistema e nos livrarmos dos desnecessários.
Exibir permissão de leitura e gravação de arquivos e pastas usando árvore
Se quisermos ver as permissões de exclusão, leitura e gravação nas pastas e arquivos listados, podemos usar o sinalizador 'p'.
Sintaxe:
$ tree -p
Assim, antes de realizar a operação em um arquivo e pasta, podemos primeiro ver e editar as permissões existentes em um determinado item.
Listar o conteúdo da pasta até um determinado nível/profundidade na árvore
Em vez de listar cada conteúdo do nosso diretório, podemos configurar o comando tree para mostrar a árvore para um nível ou caminho específico. Tal como no comando tree, o nível 1 só pode exibir a lista de uma determinada pasta em vez de qualquer uma de suas subpastas.
Sintaxe:
$ tree -L[n]
Exemplo
c# data e hora
Este comando mostrará apenas os subdiretórios (usando o sinalizador -d) do diretório atual e não a árvore expandida adicional.
Ajuda da árvore
O comando tree é muito mais útil do que definimos. Podemos encontrar o comando novamente com o comando tree da seguinte forma:
$ tree -help