Comando da Árvore Bash

Comando da Árvore Bash

O comando Bash Tree é comparável ao conhecido comando LS do Linux, que é usado para listar os arquivos e diretórios. A principal diferença entre os comandos é que os arquivos e pastas são apresentados em uma estrutura semelhante a uma árvore pelo comando da árvore. O comando da árvore itera através de uma hierarquia de arquivos e imprime os arquivos e subdiretos em uma lista formatada com indentação de profundidade. Com o comando da árvore de Bash, podemos determinar rapidamente as posições dos arquivos e pastas, examinar suas permissões de acesso e também buscar os arquivos ou diretórios ocultos.

Exemplo # 1: Instalação de árvore em Bash.

O comando da árvore não é o comando embutido do Bash. Temos que instalar o comando da árvore em bash antes de chamá -lo para a casca de bash. Usamos os privilégios sudo com o comando apt para instalar o módulo de árvore dentro da festa. Depois que o comando da instalação é executado, ele pediu a senha de autenticação e depois instalou a árvore na festa. Aqui, já instalamos o comando da árvore com a versão mais recente.

$ Sudo apto de instalação árvore
[sudo] Senha para Linux:
Listas de pacote de leitura… Feito
Árvore de dependência de construção
Lendo as informações do estado… feito
Os seguintes novos pacotes serão instalados:
árvore
0 atualizado, 1 recém -instalado, 0 para remover e 0 não atualizado.
Precisa obter 43.0 kb de arquivos.
Após esta operação, 115 kb de espaço de disco adicional serão usados.
Get: 1 http: // pk.arquivo.Ubuntu.com/ubuntu focal/universo amd64 árvore amd64 1.8.0-1 [43.0 kb]
Buscou 43.0 kb em 1s (33.4 kb/s)
Selecionando árvore de pacote anteriormente não selecionada.
(Lendo Banco de Dados… 188740 Arquivos e diretórios atualmente instalados.)
Preparando -se para descompactar… /Tree_1.8.0-1_AMD64.Deb…
Árvore de desempacotar (1.8.0-1)…
Configurando a árvore (1.8.0-1)…
Processando gatilhos para Man-DB (2.9.1-1)…

Agora, o comando da árvore pode ser usado dentro da festa à medida que a instalamos em nosso sistema. O comando a seguir é usado para verificar a versão do comando da árvore. O comando retornou a versão mais recente da árvore instalada em nosso sistema.

$ árvore -version
Árvore v1.8.0 (c) 1996 - 2018 por Steve Baker, Thomas Moore, Francesc Rocher, Florian Sesse, Kyosuke Tokoro

Para obter qualquer ajuda sobre o comando da árvore do Bash, podemos executar o seguinte comando de árvore com a opção "-Help". Ele lista todas as informações necessárias relacionadas ao comando da árvore no shell de bash, como mostrado na imagem.

$ árvore -Help
Uso: Árvore [-AcdfghilnpqrStuvxacdfjqnsux] [-h basehref] [-t title]
[-L nível [-r]] [-p padrão] [-i padrão] [-o FileName] [--version]
[--help] [--inDodes] [--device] [--noreport] [--nolinks] [--Dirsfirst]
[--Charset charset] [--filelimit [=]#] [--si] [-tempofmt [=]]
[--Sort [=]] [--Matchdirs] [--ignore-case] [--fromfile] [-]
[[]
------- Opções de listagem -------
-A todos os arquivos estão listados.
-D LISTA LISTA SOMENTE.
-Eu sigo links simbólicos como diretórios.
-f Imprima o prefixo de caminho completo para cada arquivo.
-x Fique apenas no sistema de arquivos atual.
-L Nível descendo apenas diretórios de nível.
-Rerun Tree quando o nível máximo de direção atingiu.
-P Lista de padrões apenas os arquivos que correspondem ao padrão fornecido.
-Eu padrão não listo arquivos que correspondem ao padrão fornecido.
--ignorar casos de ignorar quando a correspondência de padrões.
--Matchdirs incluem nomes de diretórios na correspondência de padrões -P.
--Noreport desligar a contagem de arquivos/diretórios no final da listagem de árvores.
--charset x use charset x para terminal/html e saída de linha de indentação.
--filelimit # não desça diretos com mais de # arquivos neles.
--timefmt Imprimir e formatar tempo de acordo com o formato .
-o FileName Output para arquivo em vez de stdout.
------- Opções de arquivo -------
-q Imprima caracteres não impressos como '?'.
-N Imprima caracteres não impressos como estão.
-Q nomes de arquivos de cotação com cotações duplas.
-P Imprima as proteções para cada arquivo.
-u exibe o proprietário do arquivo ou o número UID.
-G Exibe o proprietário do grupo de arquivos ou o número GID.
-s imprimir o tamanho em bytes de cada arquivo.
-h Imprima o tamanho de uma maneira mais legível humana.
--Si como -h, mas use em unidades SI (poderes de 1000).
-D Imprima a data da última modificação ou (-c) Alteração de status.
-F APENDES '/', '=', '*', '@', '|' ou '>' conforme LS -F.
--inodes imprime o número de inode de cada arquivo.
--Número de identificação do dispositivo de impressão do dispositivo ao qual cada arquivo pertence.
------- Opções de classificação -------
-v classificar arquivos alfanumericamente por versão.
-t Classificar arquivos pelo último tempo de modificação.
-C Classificar arquivos pelo último status Mudar tempo.
-Você deixa arquivos não classificados.
-r reverter a ordem do tipo.
--Diretórios da lista de diretórios antes dos arquivos (-u desabilitarem).
--classificar x selecionar classificar: nome, versão, tamanho, mtime, ctime.
------- Opções gráficas -------
-Eu não imprimir linhas de recuo.
-Uma impressão linhas ANSI linhas gráficas de indentação.
-S Imprimir com CP437 (console) Linhas de indentação gráficas.
-n Desative a colorização sempre (-C substitui).
-C LIGUE a colorização sempre.
------- Opções xml/html/json -------
-X imprime uma representação XML da árvore.
-J imprime uma representação JSON da árvore.
-H BaseHref imprime o formato HTML com BaseHref como diretório superior.
-T String Substitua o título HTML padrão e o cabeçalho H1 com string.
--Nolinks desligam os hiperlinks na saída HTML.
------- Opções de entrada -------
--From File lê caminhos de arquivos (.= stdin)
------- Opções diversas -------
--Versão de impressão de impressão e saída.
--Ajude a imprimir o uso e esta mensagem de ajuda e saída.
-- Terminador de processamento de opções.

Além disso, também podemos obter as informações do comando da árvore em detalhes, executando o comando da árvore com a palavra -chave "homem".

$ árvore homem

Exemplo # 2: Usando o comando da árvore em bash.

O processo de instalação do comando da árvore é realizado na seção acima. Agora, para usar o comando da árvore na festa, apenas temos que fornecer a palavra -chave "árvore" no shell da partida. O comando "árvore" exibe o conteúdo do diretório especificado em um formato de árvore. Aqui, demos um comando de árvore sem nenhum argumento. Quando o comando da árvore é executado sem nenhum argumento, ele exibiu a estrutura da árvore de todos os arquivos e diretórios do caminho atual. A imagem está mostrando os arquivos do nosso caminho em casa e os diretórios com seus arquivos em uma estrutura de árvore. No final, ele exibiu o total de diretórios e arquivos dentro do nosso diretório inicial.

$ árvore
├── Linux1.pdf
├── Linux2.pdf
└── Linux3.pdf
0 diretórios, 3 arquivos

A saída pode ser tornada mais legível usando o comando da árvore com a palavra -chave "menos". É útil quando você deseja listar todos os arquivos e pastas em um diretório. Demos a um comando de árvore abaixo, onde usamos o símbolo de barra “/” com a palavra -chave da árvore para examinar os arquivos e pastas no diretório atual. Então, usamos o pipeline “|” símbolo onde a palavra -chave "menos" é especificada. Podemos ver dentro da imagem que apenas algumas pastas e arquivos estão listados na forma de uma estrutura semelhante a uma árvore. O cólon “:” está localizado no final, que na imprensa mostrará mais pastas e arquivos do diretório atual.

$ árvore / | menos
/
├── BIN -> USR/BIN
├── Boot
│ ├── Config-5.15.0-46-genérico
│ ├── Config-5.15.0-56-genérico
│ ├── EFI [Erro a abertura do diretor]
│ ├── Grub
│ │ ├── fontes
│ │ │ └── Unicode.PF2
│ │ ├── GFXBLACKLIST.TXT
│ │ ├── Grub.cfg
│ │ ├── Grubenv
│ │ ├── i386-PC
│ │ │ ├── 915Resolution.mod
│ │ │ ├── ACPI.mod
│ │ │ ├── adler32.mod
│ │ │ ├── Affs.mod
│ │ │ ├── AFS.mod
│ │ │ ├── ahci.mod
│ │ │ ├── All_video.mod
│ │ │ ├── AOUT.mod
│ │ │ ├── Archelp.mod
│ │ │ ├── Ata.mod
:

O comando Bash Tree também pode ser usado para exibir a árvore de processos. Considere o comando abaixo, onde o "Proc" representa o processo em execução no diretório atual. Quando pressionamos Enter para o comando da árvore, ele gera o processo de árvore de nosso diretório no shell da festa.

$ árvore /proc
│ ├── Usuário
│ │ ├── max_cgroup_namespaces
│ │ ├── max_fanotify_groups
│ │ ├── max_fanotify_marks
│ │ ├── max_inotify_instances
│ │ ├── max_inotify_watches
│ │ ├── max_ipc_namespaces
│ │ ├── max_mnt_namespaces
│ │ ├── max_net_namespaces
│ │ ├── max_pid_namespaces
│ │ ├── max_time_namespaces
│ │ ├── max_user_namespaces
│ │ └── max_uts_namespaces
│ └── VM
│ ├── admin_reserve_kbytes
│ ├── compaction_proatividade
│ ├── compact_memory
│ ├── compact_unevictable_allowed
│ ├── Dirty_background_bytes
│ ├── Dirty_background_ratio
│ ├── Dirty_Bytes
│ ├── Dirty_Expire_centisecs
│ ├── Dirty_ratio
│ ├── Dirtytime_expire_seconds
│ ├── Dirty_writeback_centisecs
│ ├── Drop_caches
│ ├── extfrag_threshold
│ ├── hugetlb_shm_group
│ ├── laptop_mode
│ ├── Legacy_va_layout
│ ├── Lowmem_Reserve_Ratio
│ ├── max_map_count
│ ├── Memory_failure_early_kill
│ ├── Memory_failure_recovery
│ ├── min_free_kbytes
│ ├── min_slab_ratio
│ ├── min_unmapd_ratio
│ ├── mmap_min_addr
│ ├── mmap_rnd_bits
│ ├── mmap_rnd_compat_bits
│ ├── nr_hugePages
│ ├── NR_HUGEPAGES_MEMPOLICY
│ ├── nr_overCommit_hugePages
│ ├── NUMA_STAT
│ ├── NUMA_ZONELIST_ORDER
│ ├── OOM_DUMP_TASKS
│ ├── OOM_Kill_Allocating_Task
│ ├── Overcommit_kbytes
│ ├── Overcommit_memory
│ ├── Overcommit_ratio
│ ├── Page-Cluster
│ ├ Fo Page_lock_unfairness
│ ├── panic_on_oom
│ ├── PERCPU_PAGELIST_HIGH_FRACTION
│ ├── Stat_Interval
│ ├── stat_refresh
│ ├── Swappiness
│ ├── UNSVVLEGED_USERFAULLFD
│ ├── User_Reserve_kbytes
│ ├── vfs_cache_pressure
│ ├── Watermark_Boost_Factor
│ ├── Watermark_scale_factor
│ └── Zone_reclaim_mode
├── SysRQ Trigger
├── sysvipc
│ ├── MSG
│ ├── SEM
│ └── shm
├sto
├── Timer_list
├── tty
│ ├── Driver [Erro a abertura do diretor]
│ ├── Drivers
│ ├── LDISC
│ └── LDISCS
├── tempo de atividade
├─ versão
├── Version_Signature
├── VMallocinfo
├── VMSTAT
└── ZoneInfo
10618 diretórios, 169916 arquivos

Exemplo # 3: Usando o comando de árvore com diferentes opções em bash.

Opção de comando da árvore "-a":

O comando da árvore suporta várias opções em bash que usamos nesta seção para demonstrar o desempenho de cada opção de comando de árvore em bash. Em primeiro lugar, implantamos o comando da árvore com a opção "-a". A opção “-a” buscou todos os arquivos do diretório, incluindo os arquivos ocultos que podem ser vistos na imagem do shell do bash.

Árvore -a
-desligar.Jsonlz4
│ │ ├── State de sessão.JSON
│ │ └── estado.JSON
│ ├── DirectoryTree.JSON
│ ├── Criptografado-Openpgp-pasfrase.TXT
│ ├── Preferências de extensão.JSON
│ ├── Extensões.JSON
│ ├── Favicons.sqlite
│ ├── FormHistory.sqlite
│ ├── Global-Messages-DB.sqlite
│ ├── História.sqlite
│ ├── Key4.dB
│ ├── Lock -> 127.0.1.1: +2021
│ ├── MailViews.dat
│ ├── Minidumps
│ ├── OpenPGP.sqlite
│ ├── .parentlock
│ ├── Permissões.sqlite
│ ├── PKCS11.TXT
│ ├── lugares.sqlite
│ ├── Prefs.JS
│ ├── Treme-telemetria salva
│ │ └── 0C85AD5F-60C2-40D9-A342-F533E121A844
│ ├── pesquisa.JSON.Mozlz4
│ ├── Security_State
│ ├── SessionCheckPoints.JSON
│ ├── Configurações
│ │ └── dados.seguro.BIN
│ ├── SITESecurityServicestate.TXT
│ ├── armazenamento
│ │ ├── Padrão
│ │ ├── LS-Archive.sqlite
│ │ ├── permanente
│ │ │ └── Chrome
│ │ │ ├── BID
│ │ │ │ ├─— 3870112724rsegmnoittet-es.arquivos
│ │ │ │ └─— 3870112724rsegmnoittet-es.sqlite
│ │ │ └── .Metadados-V2
│ │ └── temporário
│ ├── armazenamento.sqlite
│ ├── vezes.JSON
│ └── Xulstore.JSON
├── .VboxClient-Clipboard.PID
├── .vBoxClient-Display-SVGA-X11.PID
├── .vBoxClient-Draganddrop.PID
├── .vBoxClient-Sensendless.PID
└── .wget-hsts
1262 diretórios, 10126 arquivos

Aqui, usamos novamente o comando Bash Tree com a opção "-a" para exibir a hierarquia de árvores do diretório especificado "Snap" no shell da Bash. O diretório Snap exibiu todos os arquivos no formato da árvore na captura de tela abaixo.

Árvore -a ./foto
-um [Erro abrindo diretor]
./Snap [Erro a abertura do diretor]
0 diretórios, 0 arquivos

Opção de comando de árvore “-f”: O uso do sinalizador -f com o comando da árvore é listar os dados do diretório juntamente com todo o prefixo do caminho para cada subdiretório e arquivo. Aqui, usamos o comando da árvore com a bandeira "-f" no privilégio do sudo que pede a permissão de acesso raiz do usuário registrado. O caminho completo dos arquivos e os subdiretos podem ser visualizados na imagem de shell da Bash dada.

$ sudo árvore -f
[sudo] Senha para Linux:
.
├── .Comando /Bash Tree.Docx
├── ./Linux1.pdf
├── ./Linux2.pdf
└── ./Linux3.pdf
0 diretórios, 4 arquivos

Opção de comando de árvore “-s”: Em seguida, o comando da árvore é usado com a opção "-s". A opção “-s” nos permite imprimir não apenas os nomes dos arquivos, mas também seus tamanhos em bytes. No comando a seguir da árvore, a bandeira “-f” é adicionada primeiro a tomar a hierarquia dos arquivos e diretórios junto com o caminho. Em seguida, a bandeira "-s" é usada para especificar o tamanho desses arquivos e subdiretos de árvores.

$ árvore -f -s
-f [Erro a abertura do diretor]
0 diretórios, 0 arquivos

Opção de comando de árvore “-df”: A opção “D” permite que o comando da árvore gere a hierarquia de árvores de subdiretos sem os nomes de arquivos. Estabelecemos o comando da árvore em que a opção "-d" e "-f" é combinada para buscar os subdiretos com o caminho completo.

$ sudo árvore -df
0 diretórios

Opção de comando de árvore “-l”: A opção Comando da Árvore “-l” nos permite especificar o número máximo de pastas buscadas através do comando da árvore. Limitar a profundidade é benéfico quando precisamos explorar apenas os principais estágios das estruturas de pastas extremamente profundas. No comando Bash Tree seguinte, a opção "-l" é fornecida com o número "3", que indica que três arquivos ou subdiretórios só podem ser exibidos na hierarquia de árvores.

$ árvore -l 3
-L [Erro abrindo diretor]
3 [Erro a abertura do diretor]

Conclusão

O comando Bash Tree ajuda a descobrir como os arquivos são organizados em nosso sistema. Instalamos o comando da árvore no shell Bash e depois obtemos um breve detalhe sobre o comando usando o homem e a opção de ajuda. O comando da árvore de Bash tem várias opções das quais poucas são implementadas em Bash para explorar a funcionalidade dessas opções.