Un remplacement moderne pour ls.
eza est un remplacement moderne et maintenu du vénérable programme de ligne de commande de liste de fichiers ls
fourni avec les systèmes d'exploitation Unix et Linux, lui offrant plus de fonctionnalités et de meilleurs paramètres par défaut. Il utilise des couleurs pour distinguer les types de fichiers et les métadonnées. Il connaît les liens symboliques, les attributs étendus et Git. Et c'est petit , rapide et juste un seul binaire .
En prenant délibérément certaines décisions différemment, eza tente d'être une version plus fonctionnelle et plus conviviale de ls
.
Fonctionnalités d'eza non présentes dans exa (non exhaustives) :
Corrige « The Grid Bug » introduit en exa 2021.
Prise en charge des hyperliens.
Détails du point de montage.
Sortie contextuelle Selinux.
Sortie de l’état du dépôt Git.
Dates relatives lisibles par l’homme.
Plusieurs correctifs de sécurité.
Prise en charge des couleurs bright
des terminaux.
Beaucoup de petites corrections de bugs/modifications !
Fichier de configuration theme.yml
pour la personnalisation des couleurs et des icônes.
... et bien plus encore qu'il devenait épuisant de mettre à jour tout cela tout le temps. Sérieusement, nous avons beaucoup de bonnes choses.
Si vous avez déjà configuré Nix avec le support flake, vous pouvez essayer eza avec la commande nix run
:
nix run github:eza-community/eza
Nix construira eza et l'exécutera.
Si vous souhaitez transmettre des arguments de cette façon, utilisez par exemple nix run github:eza-community/eza -- -ol
.
eza est disponible pour Windows, macOS et Linux. Les instructions d'installation spécifiques à la plate-forme et à la distribution peuvent être trouvées dans INSTALL.md.
Les options de eza sont presque, mais pas tout à fait, totalement différentes de celles de ls
. Aperçu rapide :
-1 , --oneline : affiche une entrée par ligne
-G , --grid : afficher les entrées sous forme de grille (par défaut)
-l , --long : affiche les détails et les attributs étendus
-R , --recurse : récursion dans les répertoires
-T , --tree : récursion dans les répertoires sous forme d'arborescence
-x , --across : trie la grille dans le sens horizontal plutôt que vers le bas
-F , --classify=(when) : affichage de l'indicateur de type par nom de fichier (toujours, auto, jamais)
--colo[u]r=(when) : quand utiliser les couleurs du terminal (toujours, auto, jamais)
--colo[u]r-scale=(field) : met en évidence distinctement les niveaux du field
(tous, âge, taille)
--color-scale-mode=(mode) : utilise des couleurs dégradées ou fixes dans --color-scale. les options valides sont fixed
ou gradient
--icons=(when) : quand afficher les icônes (toujours, auto, jamais)
--hyperlink : afficher les entrées sous forme d'hyperliens
--absolute=(mode) : affiche les entrées avec leur chemin absolu (on, follow, off)
-w , --width=(columns) : définit la largeur de l'écran en colonnes
-a , --all : afficher les fichiers cachés et 'point'
-d , --list-dirs : liste les répertoires comme les fichiers normaux
-L , --level=(profondeur) : limite la profondeur de récursion
-r , --reverse : inverse l'ordre de tri
-s , --sort=(field) : par quel champ trier
--group-directories-first : liste les répertoires avant les autres fichiers
--group-directories-last : liste les répertoires après les autres fichiers
-D , --only-dirs : liste uniquement les répertoires
-f , --only-files : liste uniquement les fichiers
--no-symlinks : n'affiche pas les liens symboliques
--show-symlinks : affiche explicitement les liens (avec --only-dirs
, --only-files
, pour afficher les liens symboliques qui correspondent au filtre)
--git-ignore : ignore les fichiers mentionnés dans .gitignore
-I , --ignore-glob=(globs) : modèles globaux (séparés par des tuyaux) de fichiers à ignorer
Passez l'option --all
deux fois pour afficher également le fichier .
et ..
répertoires.
Ces options sont disponibles lors de l'exécution avec --long
( -l
) :
-b , --binary : liste les tailles de fichiers avec les préfixes binaires
-B , --bytes : liste la taille des fichiers en octets, sans aucun préfixe
-g , --group : liste le groupe de chaque fichier
-h , --header : ajoute une ligne d'en-tête à chaque colonne
-H , --links : répertorie le nombre de liens physiques de chaque fichier
-i , --inode : liste le numéro d'inode de chaque fichier
-m , --modified : utilise le champ d'horodatage modifié
-M , --mounts : Afficher les détails du montage (Linux et MacOS uniquement).
-S , --blocksize : affiche la taille des blocs du système de fichiers alloués
-t , --time=(field) : quel champ d'horodatage utiliser
-u , --accessed : utilise le champ d'horodatage consulté
-U , --created : utilise le champ d'horodatage créé
-X , --dereference : déréférencement des liens symboliques pour les informations sur le fichier
-Z , --context : liste le contexte de sécurité de chaque fichier
-@ , --extended : liste les attributs étendus et les tailles de chaque fichier
--changed : utilise le champ d'horodatage modifié
--git : répertorie l'état Git de chaque fichier, s'il est suivi ou ignoré
--git-repos : répertorie le statut Git de chaque répertoire, s'il est suivi
--git-repos-no-status : indique si un répertoire est un dépôt Git, mais pas son statut (plus rapide)
--no-git : supprime le statut Git (remplace toujours --git
, --git-repos
, --git-repos-no-status
)
--time-style : comment formater les horodatages. les styles d'horodatage valides sont ' default
', ' iso
', ' long-iso
', ' full-iso
', ' relative
' ou un style personnalisé ' +<FORMAT>
' (par exemple, ' +%Y-%m-%d %H:%M
' => ' 2023-09-30 13:00
' Pour plus de spécifications sur la chaîne de format, consultez le manuel eza(1)
page et chrono documentation.).
--total-size : affiche la taille du répertoire récursif
--no-permissions : supprime le champ des autorisations
-o , --octal-permissions : répertorie les autorisations de chaque fichier au format octal
--no-filesize : supprime le champ taille du fichier
--no-user : supprime le champ utilisateur
--no-time : supprime le champ horaire
--stdin : lit les noms de fichiers depuis stdin
Certaines options acceptent des paramètres :
Les options --colo[u]r valides sont toujours , automatique (ou auto en abrégé) et jamais .
Les champs de tri valides sont consultés , modifiés , créés , extension , Extension , inode , modifiés , nom , Nom , taille , type et aucun . Les champs commençant par une lettre majuscule sont triés en majuscule avant en minuscule. Le champ modifié comporte les alias date , heure et plus récent , tandis que son inverse comporte les alias age et plus ancien .
Les champs d'heure valides sont modifiés , changés , consultés et créés .
Les styles d'heure valides sont default , iso , long-iso , full-iso et relative .
Consultez les pages man
pour une documentation supplémentaire sur l'utilisation. Ils sont disponibles
en ligne dans le dépôt
dans votre terminal via man eza
, à partir de la version [0.18.13] - 2024-04-25
Eza a récemment ajouté la prise en charge d'un fichier theme.yml
, dans lequel vous pouvez spécifier toutes les options de thème existantes disponibles pour les variables d'environnement LS_COLORS
et EXA_COLORS
, ainsi que l'option permettant de spécifier différentes icônes pour différents types de fichiers et extensions. Tout ensemble de variables d'environnement existant continuera à fonctionner et aura la priorité pour des raisons de compatibilité ascendante.
Consultez les thèmes disponibles dans le référentiel officiel eza-themes ou contribuez aux vôtres.
Un exemple de fichier de thème est disponible dans docs/theme.yml
, et doit soit être placé dans un répertoire spécifié par la variable d'environnement EZA_CONFIG_DIR
, soit recherché par défaut dans $XDG_CONFIG_HOME/eza
.
Tous les détails sont disponibles sur la page de manuel et un exemple de fichier de thème est inclus ici
Si vous souhaitez contribuer à eza, vous devez d'abord suivre notre code de conduite. Après avoir compris le code de conduite, vous pouvez consulter notre CONTRIBUTING.md pour plus d'informations sur le piratage réel.