Pular para o conteúdo

Folha de Dicas do exa

Folha de Dicas do exa

Instalação

PlataformaComando
Ubuntu 20.10+sudo apt update && sudo apt install exa
Debian/Ubuntu (older)cargo install exa
Arch Linuxsudo pacman -S exa
Fedorasudo dnf install exa
RHEL/CentOSsudo dnf install epel-release && sudo dnf install exa
openSUSEsudo 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

ComandoDescrição
exaList files in current directory (replaces ls)
exa -lFormato longo com permissões, tamanho e timestamps
exa -aShow all files including hidden (. files)
exa -laFormato longo com todos os arquivos, incluindo ocultos
exa -lhFormato longo com tamanhos legíveis por humanos (KiB, MiB, GiB)
exa -lHFormato longo com tamanhos decimais (KB, MB, GB)
exa -1Um arquivo por linha (útil para scripting)
exa -RListagem recursiva de diretórios
exa -FAdicionar indicadores de tipo de arquivo (/, @, \
exa --gridLayout de grade (visualização padrão do terminal)
exa --acrossLayout de fluxo horizontal
exa -DListar apenas diretórios
exa -fListar apenas arquivos (excluir diretórios)
exa --color=alwaysForçar saída colorida
exa --color=neverDesativar saída de cor

Uso Avançado

ComandoDescrição
exa --treeDisplay directory structure as tree (replaces tree)
exa --tree --level=2Visualização em árvore limitada a 2 níveis de profundidade
exa -l --gitMostrar status do Git para arquivos (rastreados, modificados, não rastreados)
exa --git-ignoreRespect .gitignore and show only tracked files
exa -l --sort=modifiedOrdenar por tempo de modificação (mais recente primeiro)
exa -l --sort=sizeOrdenar por tamanho do arquivo (do maior para o menor)
exa -l --sort=extensionOrdenar por extensão de arquivo
exa -l --reverseInverter ordem de classificação
exa -l --iconsExibir ícones de tipos de arquivo (requer Nerd Fonts)
exa -l --extendedMostrar atributos estendidos (SELinux, ACLs)
exa -l@Forma abreviada para atributos estendidos
exa -liMostrar números de inode
exa -lsMostrar tamanhos de blocos
exa -l --octal-permissionsExibir permissões em formato octal (755)
exa -l --numericMostrar IDs numéricos de usuário/grupo em vez de nomes
exa -l --time-style=isoTimestamps no formato ISO
exa -l --time-style=relativeTempo relativo (por exemplo, “2 horas atrás”)
exa -l --modifiedMostrar tempo de modificação (padrão)
exa -l --accessedMostrar hora do último acesso
exa -l --createdMostrar hora de criação
exa --ignore-glob="*.tmp"Ignorar arquivos que correspondem ao padrão
exa -lZMostrar contexto de segurança do SELinux
exa --tree --git --iconsVisualização em árvore com status do Git e ícones
exa -R --level=3Listagem 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 lspor exapara 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

ProblemaSolução
Icons not displaying correctlyInstale uma Nerd Font e configure seu terminal para usá-la. Baixe em nerdfonts.com
exa: command not foundEnsure installation completed successfully. Check $PATH includes /usr/local/bin or ~/.cargo/bin
Git status not showingVerify you’re in a Git repository (git status). Use exa -l --git explicitly
Colors not working in pipesUse exa --color=always when piping to less or other commands: `exa —color=always \
Slow performance on network drivesDisable Git integration (--no-git) and avoid extended attributes (--no-extended) on slow filesystems
Permission denied errorsSome extended attributes require elevated privileges. Use sudo exa -l@ or skip with regular exa -l
Tree view truncatedIncrease depth with --level=N or remove limit with no level flag (caution: may be slow on large trees)
Alias conflicts with system lsUse \ls to call original ls, or unalias ls temporarily. Check aliases with `alias \
Icons showing as boxes/squaresTerminal doesn’t support Unicode properly. Update terminal emulator or disable icons with --no-icons
Different output than lsexa sorts and displays differently by default. Use --sort=name and adjust flags to match ls behavior
BandeiraDescrição
-------------------
--modified or -mTempo de modificação (padrão)
--accessed or -uÚltimo tempo de acesso
--created or -UTempo de criação
--time-style=isoFormato ISO
--time-style=long-isoFormato ISO longo
--time-style=full-isoData ISO completa com fuso horário
--time-style=relativeTempo relativo
Chave de OrdenaçãoDescrição
-----------------------
nameAlfabético por nome (padrão)
sizeTamanho do arquivo
extensionExtensão de arquivo
modifiedTempo de modificação
accessedTempo de acesso
createdTempo de criação
typeTipo de arquivo (dir, file, link)
inodeNúmero de inode
oldestMais antigos primeiro (modificado reverso)