[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):
- Instale o Git for Windows
- Abra o Git Bash
- 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. 🌱