Executando verificação de segurança...
3

[TUTORIAL] Listando Arquivos em Árvore com Comando tree

🌳 Como instalar o comando tree em diferentes sistemas

O comando tree exibe a estrutura de diretórios de forma hierárquica no terminal.
Por padrão, ele não vem instalado em todos os sistemas, mas é fácil de adicionar.


🐧 Linux

Debian, Ubuntu, Mint:

sudo apt update
sudo apt install tree

RedHat, CentOS, Fedora:

sudo yum install tree
# ou
sudo dnf install tree

🍎 macOS

Se você ainda não tem o Homebrew, instale com:

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

Depois:

brew install tree

🪟 Windows

CMD / PowerShell (nativo):

tree /f

/f lista arquivos; sem ele, mostra apenas pastas.

Git Bash (versão estilo Unix):

  1. Instale o Git for Windows
  2. Abra o Git Bash
  3. Rode:
tree -L 2

🐚 WSL (Ubuntu no Windows)

sudo apt update
sudo apt install tree

✅ Exemplos de uso

  • Exemplo simples - Pasta de um projeto pessoal
tree src/shared
  • Então obtenho
src/shared
├── businessRules
│   ├── constants
│   │   └── userFunctions.const.ts
│   └── enums
│       ├── companySignature.enum.ts
│       ├── companyStatus.enum.ts
│       ├── publicRoutes.enum.ts
│       └── userAssaignaments.enum.ts
├── constants
│   └── messages.const.ts
├── crypto
│   ├── encrypt.ts
│   └── verifyEncryption.ts
├── database
│   └── prismaClient.ts
├── date
│   └── generateExpiresAt.ts
├── enums
│   ├── DefaultColorScheme.enum.ts
│   └── frontEndRoutes.enum.ts
├── errors
│   ├── constants
│   │   ├── clientErrors.const.ts
│   │   └── systemErrors.const.ts
│   ├── enums
│   │   └── errorType.enum.ts
│   ├── throwErrorHandler.ts
│   └── utils
│       └── isHandledApolloError.ts
├── formatters
│   ├── nameFormatter.ts
│   └── userNameFormatter.ts
├── helpers
│   └── redis
│       ├── enums
│       │   └── redisKeys.enum.ts
│       ├── operations
│       │   ├── getManyRedis.ts
│       │   └── saveManyToRedis.ts
│       └── redisClient.ts
├── logger
│   ├── constants
│   │   └── systemLogs.const.ts
│   ├── systemLogger.ts
│   └── transports
│       └── consoleLogger.ts
├── security
│   ├── authenticateUser.ts
│   └── generateCredentials.ts
├── services
│   ├── emails
│   │   ├── companyProvisioning
│   │   │   ├── handlerEmailCompanyProvisioning.ts
│   │   │   └── templateEmailCompanyProvisioning.hbs
│   │   ├── constants
│   │   │   └── sendersAgents.const.ts
│   │   ├── sendEmailTransactional.ts
│   │   └── userCompanyEmail
│   │       ├── handlerEmailUserCompany.ts
│   │       └── templateEmailUserCompany.hbs
│   └── providers
│       └── brevo
│           └── brevoClient.ts
├── token
│   └── generateToken.ts
├── utils
│   └── generateUniqueUsername.ts
└── validators
    └── cnpj.validator.ts
  • Outros exemplos
tree -L 2
  • -L 2 → mostra até 2 níveis
  • -a → inclui arquivos ocultos
  • -I 'node_modules|.git' → ignora pastas específicas
tree -L 2 -a -I 'node_modules|.git' > estrutura.txt

Exporta a árvore de diretórios para um .txt


💡 Dica extra (alias)

Adicione ao seu .bashrc ou .zshrc:

alias t="tree -L 2 -a -I 'node_modules|.git'"

Assim, você pode usar só t no terminal para listar a estrutura rapidamente.


Pronto! Agora você tem o tree funcionando como deve em qualquer sistema. 🌱

Carregando publicação patrocinada...
1

Essa ferramenta é muito boa para adicionar a contextos em IA. Muitas vezes acabei descobrindo que bugs eram por conta de arquivos com nomes errados ou em locais incorretos.

1

Exatamente, eu uso muito ela para contextualizar a IA e ela meio que já entende os arquivos utilitários mesmo sem saber os conteúdos. Então ela já entrega o arquivo importando certinho essas funções. E uma coisa bacana que ajudou na produtividade com TS/JS foi exportar todas com export { nomeFuncao } e não com expor default nomeFuncao. Ai eu digo para a IA no contexto que nada no meu sistema é exportado como default. Talvez esse insight ajude masi alguém a aumentar a produtividade.

0