Um substituto moderno para ls.
eza é um substituto moderno e mantido para o venerável programa de linha de comando de listagem de arquivos ls
que acompanha os sistemas operacionais Unix e Linux, oferecendo mais recursos e melhores padrões. Ele usa cores para distinguir tipos de arquivos e metadados. Ele conhece links simbólicos, atributos estendidos e Git. E é pequeno , rápido e tem apenas um único binário .
Ao tomar deliberadamente algumas decisões de maneira diferente, eza tenta ser uma versão de ls
com mais recursos e mais fácil de usar.
recursos eza não estão em exa (não exaustivo):
Corrige “The Grid Bug” introduzido no exa 2021.
Suporte para hiperlink.
Detalhes do ponto de montagem.
Saída de contexto Selinux.
Saída de status do repositório Git.
Datas relativas legíveis por humanos.
Várias correções de segurança.
Suporte para cores de terminal bright
.
Muitas correções/mudanças de bugs menores!
Arquivo de configuração theme.yml
para personalização de cores e ícones.
...e tipo, tanto mais que ficou cansativo atualizar isso o tempo todo. Sério, temos muitas coisas boas.
Se você já possui o Nix configurado com suporte a flake, você pode experimentar o eza com o comando nix run
:
nix run github:eza-community/eza
Nix irá construir o eza e executá-lo.
Se você quiser passar argumentos desta forma, use, por exemplo, nix run github:eza-community/eza -- -ol
.
eza está disponível para Windows, macOS e Linux. Instruções de instalação específicas da plataforma e distribuição podem ser encontradas em INSTALL.md.
As opções de eza são quase, mas não exatamente, totalmente diferentes das de ls
. Visão geral rápida:
-1 , --oneline : exibe uma entrada por linha
-G , --grid : exibe entradas como uma grade (padrão)
-l , --long : exibe detalhes e atributos estendidos
-R , --recurse : recurse em diretórios
-T , --tree : recorre aos diretórios como uma árvore
-x , --across : classifica a grade transversalmente, em vez de para baixo
-F , --classify=(when) : exibe o indicador de tipo por nomes de arquivos (sempre, automático, nunca)
--colo[u]r=(quando) : quando usar cores de terminal (sempre, automático, nunca)
--colo[u]r-scale=(campo) : destaca os níveis do field
distintamente (todos, idade, tamanho)
--color-scale-mode=(mode) : use gradiente ou cores fixas em --color-scale. as opções válidas são fixed
ou gradient
--icons=(quando) : quando exibir ícones (sempre, automático, nunca)
--hyperlink : exibe entradas como hiperlinks
--absolute=(mode) : exibe entradas com seu caminho absoluto (on, follow, off)
-w , --width=(columns) : define a largura da tela em colunas
-a , --all : mostra arquivos ocultos e 'ponto'
-d , --list-dirs : lista diretórios como arquivos normais
-L , --level=(profundidade) : limita a profundidade da recursão
-r , --reverse : inverte a ordem de classificação
-s , --sort=(field) : por qual campo classificar
--group-directories-first : lista os diretórios antes de outros arquivos
--group-directories-last : lista os diretórios após outros arquivos
-D , --only-dirs : lista apenas diretórios
-f , --only-files : lista apenas arquivos
--no-symlinks : não mostra links simbólicos
--show-symlinks : mostra links explicitamente (com --only-dirs
, --only-files
, para mostrar links simbólicos que correspondem ao filtro)
--git-ignore : ignora os arquivos mencionados em .gitignore
-I , --ignore-glob=(globs) : padrões glob (separados por pipe) de arquivos a serem ignorados
Passe a opção --all
duas vezes para mostrar também o arquivo .
e ..
diretórios.
Estas opções estão disponíveis ao executar com --long
( -l
):
-b , --binary : lista tamanhos de arquivo com prefixos binários
-B , --bytes : lista os tamanhos dos arquivos em bytes, sem prefixos
-g , --group : lista o grupo de cada arquivo
-h , --header : adiciona uma linha de cabeçalho a cada coluna
-H , --links : lista o número de links físicos de cada arquivo
-i , --inode : lista o número do inode de cada arquivo
-m , --modified : use o campo timestamp modificado
-M , --mounts : Mostra detalhes da montagem (somente Linux e MacOS).
-S , --blocksize : mostra o tamanho dos blocos alocados do sistema de arquivos
-t , --time=(field) : qual campo de carimbo de data/hora usar
-u , --accessed : use o campo de carimbo de data/hora acessado
-U , --created : use o campo timestamp criado
-X , --dereference : desreferencia links simbólicos para informações de arquivo
-Z , --context : lista o contexto de segurança de cada arquivo
-@ , --extended : lista os atributos e tamanhos estendidos de cada arquivo
--changed : use o campo de carimbo de data/hora alterado
--git : lista o status Git de cada arquivo, se rastreado ou ignorado
--git-repos : lista o status Git de cada diretório, se rastreado
--git-repos-no-status : lista se um diretório é um repositório Git, mas não seu status (mais rápido)
--no-git : suprime o status do Git (sempre substitui --git
, --git-repos
, --git-repos-no-status
)
--time-style : como formatar carimbos de data/hora. estilos de carimbo de data/hora válidos são ' default
', ' iso
', ' long-iso
', ' full-iso
', ' relative
' ou um estilo personalizado ' +<FORMAT>
' (por exemplo, ' +%Y-%m-%d %H:%M
' => ' 2023-09-30 13:00
' Para obter mais especificações sobre a string de formato, consulte a página de manual eza(1)
e a documentação do chrono.).
--total-size : mostra o tamanho do diretório recursivo
--no-permissions : suprime o campo de permissões
-o , --octal-permissions : lista as permissões de cada arquivo em formato octal
--no-filesize : suprime o campo de tamanho do arquivo
--no-user : suprime o campo do usuário
--no-time : suprime o campo de hora
--stdin : lê nomes de arquivos de stdin
Algumas das opções aceitam parâmetros:
As opções --colo[u]r válidas são Always , Automatic (ou Auto para abreviar) e Never .
Os campos de classificação válidos são acessado , alterado , criado , extensão , extensão , inode , modificado , nome , nome , tamanho , tipo e nenhum . Os campos que começam com letra maiúscula são classificados em maiúsculas antes de minúsculas. O campo modificado possui os aliases data , hora e mais recente , enquanto seu reverso possui os aliases idade e mais antigo .
Os campos de horário válidos são modificados , alterados , acessados e criados .
Os estilos de tempo válidos são default , iso , long-iso , full-iso e relativo .
Consulte as páginas man
para obter mais documentação de uso. Eles estão disponíveis
on-line no repositório
em seu terminal via man eza
, a partir da versão [0.18.13] - 2024-04-25
Eza adicionou recentemente suporte para um arquivo theme.yml
, onde você pode especificar todas as opções de tema existentes disponíveis para as variáveis de ambiente LS_COLORS
e EXA_COLORS
, bem como a opção de especificar ícones diferentes para diferentes tipos e extensões de arquivo. Qualquer conjunto de variáveis de ambiente existentes continuará funcionando e terá precedência para compatibilidade com versões anteriores.
Confira os temas disponíveis no repositório oficial do eza-themes ou contribua com os seus próprios.
Um exemplo de arquivo de tema está disponível em docs/theme.yml
e precisa ser colocado em um diretório especificado pela variável de ambiente EZA_CONFIG_DIR
ou será procurado por padrão em $XDG_CONFIG_HOME/eza
.
Detalhes completos estão disponíveis na página de manual e um exemplo de arquivo de tema está incluído aqui
Se você deseja contribuir com a eza, em primeiro lugar, espera-se que você siga nosso código de conduta. Depois de entender o código de conduta, você pode dar uma olhada em nosso CONTRIBUTING.md para obter mais informações sobre hackers reais.