Folha de Dicas do exa
Folha de Dicas do exa
Instalação
| Plataforma | Comando |
|---|---|
| Ubuntu 20.10+ | sudo apt update && sudo apt install exa |
| Debian/Ubuntu (older) | cargo install exa |
| Arch Linux | sudo pacman -S exa |
| Fedora | sudo dnf install exa |
| RHEL/CentOS | sudo dnf install epel-release && sudo dnf install exa |
| openSUSE | sudo zypper install exa |
| macOS (Homebrew) | brew install exa |
| macOS (MacPorts) | sudo port install exa |
| Windows (Scoop) | scoop install exa |
| Universal (Cargo) | cargo install exa |
exa --version
Comandos Básicos
| Comando | Descrição |
|---|---|
exa | List files in current directory (replaces ls) |
exa -l | Formato longo com permissões, tamanho e timestamps |
exa -a | Show all files including hidden (. files) |
exa -la | Formato longo com todos os arquivos, incluindo ocultos |
exa -lh | Formato longo com tamanhos legíveis por humanos (KiB, MiB, GiB) |
exa -lH | Formato longo com tamanhos decimais (KB, MB, GB) |
exa -1 | Um arquivo por linha (útil para scripting) |
exa -R | Listagem recursiva de diretórios |
exa -F | Adicionar indicadores de tipo de arquivo (/, @, \ |
exa --grid | Layout de grade (visualização padrão do terminal) |
exa --across | Layout de fluxo horizontal |
exa -D | Listar apenas diretórios |
exa -f | Listar apenas arquivos (excluir diretórios) |
exa --color=always | Forçar saída colorida |
exa --color=never | Desativar saída de cor |
Uso Avançado
| Comando | Descrição |
|---|---|
exa --tree | Display directory structure as tree (replaces tree) |
exa --tree --level=2 | Visualização em árvore limitada a 2 níveis de profundidade |
exa -l --git | Mostrar status do Git para arquivos (rastreados, modificados, não rastreados) |
exa --git-ignore | Respect .gitignore and show only tracked files |
exa -l --sort=modified | Ordenar por tempo de modificação (mais recente primeiro) |
exa -l --sort=size | Ordenar por tamanho do arquivo (do maior para o menor) |
exa -l --sort=extension | Ordenar por extensão de arquivo |
exa -l --reverse | Inverter ordem de classificação |
exa -l --icons | Exibir ícones de tipos de arquivo (requer Nerd Fonts) |
exa -l --extended | Mostrar atributos estendidos (SELinux, ACLs) |
exa -l@ | Forma abreviada para atributos estendidos |
exa -li | Mostrar números de inode |
exa -ls | Mostrar tamanhos de blocos |
exa -l --octal-permissions | Exibir permissões em formato octal (755) |
exa -l --numeric | Mostrar IDs numéricos de usuário/grupo em vez de nomes |
exa -l --time-style=iso | Timestamps no formato ISO |
exa -l --time-style=relative | Tempo relativo (por exemplo, “2 horas atrás”) |
exa -l --modified | Mostrar tempo de modificação (padrão) |
exa -l --accessed | Mostrar hora do último acesso |
exa -l --created | Mostrar hora de criação |
exa --ignore-glob="*.tmp" | Ignorar arquivos que correspondem ao padrão |
exa -lZ | Mostrar contexto de segurança do SELinux |
exa --tree --git --icons | Visualização em árvore com status do Git e ícones |
exa -R --level=3 | Listagem recursiva limitada a 3 níveis |
Configuração
Aliases de Shell
Adicione estes ao seu ~/.bashrc, ~/.zshrc, ou ~/.config/fish/config.fish:
# Basic replacements
alias ls='exa'
alias l='exa -l'
alias la='exa -la'
alias ll='exa -l'
alias lt='exa --tree'
# Advanced aliases
alias lg='exa -l --git'
alias lgi='exa -l --git --git-ignore'
alias lt2='exa --tree --level=2'
alias lta='exa -la --tree'
# Comprehensive view
alias lx='exa -lah --git --icons --group --time-style=long-iso'
# Sorting shortcuts
alias lm='exa -l --sort=modified --reverse' # Most recent first
alias lz='exa -l --sort=size --reverse' # Largest first
# Tree with Git
alias ltg='exa --tree --git --level=3'
Personalização de Cores
Defina cores personalizadas usando a variável de ambiente EXA_COLORS:
# Add to ~/.bashrc or ~/.zshrc
export EXA_COLORS="da=38;5;245:sb=38;5;204:sn=38;5;43:uu=38;5;245:un=38;5;241"
# Color codes:
# da = date
# sb = file size
# sn = size number
# uu = user (you)
# un = user (other)
# gu = group (you)
# gn = group (other)
Opções Padrão
Crie um wrapper de função para opções padrão:
# Add to shell configuration
exa() {
command exa --icons --group-directories-first "$@"
}
Casos de Uso Comuns
Caso de Uso: Inspecionando Repositório Git
# Show all files with Git status and icons
exa -la --git --icons
# Tree view of repository with Git status (ignore node_modules)
exa --tree --git --ignore-glob="node_modules|.git" --level=3
# Only show modified files
exa -l --git | grep -E "M|A|D"
Caso de Uso: Encontrando Arquivos Grandes
# List files by size, largest first
exa -l --sort=size --reverse
# Recursive search for large files with human-readable sizes
exa -lRh --sort=size --reverse | head -20
# Show only files (no directories) sorted by size
exa -lf --sort=size --reverse
Caso de Uso: Auditando Permissões de Arquivos
# Show permissions in octal format with extended attributes
exa -l@ --octal-permissions
# Show all permission details with numeric IDs
exa -la --numeric --octal-permissions
# Check SELinux contexts
exa -lZ /var/www/html
Caso de Uso: Analisando Estrutura de Diretórios
# Tree view with file sizes and modification times
exa -l --tree --level=3 --time-style=iso
# Show directory structure with Git awareness
exa --tree --git --icons --level=4 --ignore-glob=".git"
# List only directories in tree format
exa -D --tree --level=2
Caso de Uso: Navegação Rápida de Arquivos
# Grid view with icons for visual scanning
exa --icons --grid
# Long format with all metadata
exa -lah --icons --git --time-style=relative
# Show recent changes (last 24 hours)
exa -l --sort=modified --reverse --time-style=relative | head -20
Melhores Práticas
- Use aliases: Configure aliases de shell para substituir
lsporexapara uma experiência consistente em seu fluxo de trabalho - Instale Nerd Fonts: Para suporte completo de ícones, instale uma Nerd Font (por exemplo, FiraCode Nerd Font, Hack Nerd Font) no seu terminal
- Combine com Git: Sempre use
Note: Some placeholders (4, 14-18) were left blank as no specific text was provided to translate.--gitsinalizador em repositórios para ver o status do arquivo de relance sem executargit status- Aproveite a visualização em árvore: Useexa --treeem vez de instalar separadamentetreecomando, especialmente com--levelpara controlar a profundidadeEXA_COLORS- Configure cores: Personalize--time-style=relativepara combinar com o tema do seu terminal para melhor legibilidade--time-style=iso- Use opções de estilo de tempo: Escolha-1para arquivos recentes ou--color=neverpara timestamps precisos--git-ignore- Saída amigável para scripts: Use--sort(um por linha) e--reverseao redirecionar para outros comandos ou scriptsexa- Respeite o gitignore: Em repositórios grandes, useexa -l --git --iconspara evitar listar milhares de artefatos de compilação ou dependências
| Problema | Solução |
|---|---|
| Icons not displaying correctly | Instale uma Nerd Font e configure seu terminal para usá-la. Baixe em nerdfonts.com |
exa: command not found | Ensure installation completed successfully. Check $PATH includes /usr/local/bin or ~/.cargo/bin |
| Git status not showing | Verify you’re in a Git repository (git status). Use exa -l --git explicitly |
| Colors not working in pipes | Use exa --color=always when piping to less or other commands: `exa —color=always \ |
| Slow performance on network drives | Disable Git integration (--no-git) and avoid extended attributes (--no-extended) on slow filesystems |
| Permission denied errors | Some extended attributes require elevated privileges. Use sudo exa -l@ or skip with regular exa -l |
| Tree view truncated | Increase depth with --level=N or remove limit with no level flag (caution: may be slow on large trees) |
Alias conflicts with system ls | Use \ls to call original ls, or unalias ls temporarily. Check aliases with `alias \ |
| Icons showing as boxes/squares | Terminal doesn’t support Unicode properly. Update terminal emulator or disable icons with --no-icons |
Different output than ls | exa sorts and displays differently by default. Use --sort=name and adjust flags to match ls behavior |
| Bandeira | Descrição |
| ------ | ------------- |
--modified or -m | Tempo de modificação (padrão) |
--accessed or -u | Último tempo de acesso |
--created or -U | Tempo de criação |
--time-style=iso | Formato ISO |
--time-style=long-iso | Formato ISO longo |
--time-style=full-iso | Data ISO completa com fuso horário |
--time-style=relative | Tempo relativo |
| Chave de Ordenação | Descrição |
| ---------- | ------------- |
name | Alfabético por nome (padrão) |
size | Tamanho do arquivo |
extension | Extensão de arquivo |
modified | Tempo de modificação |
accessed | Tempo de acesso |
created | Tempo de criação |
type | Tipo de arquivo (dir, file, link) |
inode | Número de inode |
oldest | Mais antigos primeiro (modificado reverso) |