web-dev-qa-db-fra.com

Pour quelle commande est le pseudonyme ll?

Quelqu'un peut-il me dire à quelle commande de terminal l'alias ll est destiné? Tout ce que je peux trouver en ligne, c'est que beaucoup de gens disent qu'il s'agit d'un alias pour ls -l ou ls -la ou ls -ltr. Mais c'est tout simplement faux. Le résultat est différent. Existe-t-il un moyen de localiser ll et d’en examiner la syntaxe?

25
Socrates

Vous pouvez utiliser les commandes alias ou type pour vérifier la signification d'un alias spécifique:

$ alias ll
alias ll='ls -alF'

$ type ll
ll is aliased to `ls -alF'

Notez cependant que les alias peuvent utiliser d'autres alias, vous devrez donc peut-être le vérifier de manière récursive, par exemple. dans le cas de ll, vous devriez également vérifier la commande ls qu'il appelle:

$ alias ls
alias ls='ls --color=auto'

$ type ls
ls is aliased to `ls --color=auto'

Donc, ll signifie en réalité:

ls --color=auto -alF
71
Byte Commander

ll est un alias défini dans votre ~/.bashrc, à condition que vous ne l'ayez pas changé, il s'agit de ls -alF:

$ grep ll= <~/.bashrc
alias ll='ls -alF'

Ces trois options sont:

  • -a, --all - n'ignore pas les entrées commençant par.
  • -l - utilise un format de liste longue
  • -F, --classify - ajoute un indicateur (un de */=> @ |) aux entrées

Comme

$ grep ls= <~/.bashrc
alias ls='ls --color=auto'

montre, ls est à nouveau un alias pour ls --color=auto:

Avec --color=auto, ls n'émet des codes de couleur que lorsque la sortie standard est connectée à un terminal. La variable d'environnement LS_COLORS peut modifier les paramètres. Utilisez la commande dircolors pour le définir.

13
dessert

Vous pouvez regarder dans votre ~/.bashrc (ou un fichier contenant vos alias) ou vous pouvez écrire certaines de ces commandes dans votre shell:

command -v ll # "command" is a Shell built-in that display information about       
              # the command. Use the built-in "help command" to see the 
              # options.
type -p ll # "type" is another built-in that display information about how the 
           # command would be interpreted
grep -r "alias ll=" ~ # and don't worry about de .file that contains your 
                      # alias. This command search recursively  under  each  
                      # folder of your home. So it's something rude.
find ~ -maxdepth 1 -type f | xargs grep "alias ll" # Just look in 
                      # the files (not folders) in your home folder

Mais pourquoi utiliser find sans -name ". *"? Parce que vous pouvez mettre cela dans votre .bashrc

source bash_hacks # where the file bash_hacks, in your home directory can 
                  # contain the alias ll='ls -la etc etc'.

Puisque "ll" est un alias, ce n'est pas nécessaire que vous ayez une seule signification (ll = 'ls -alF --color'), vous pouvez alias votre "ll" comme une autre commande comme, je ne sais pas, "rm" . Je pense que c'est plus une convention (produit d'usages courants).

Mais "ll" pourrait être un programme stocké dans n’importe quel dossier de votre PATH. Par exemple, si vous avez un dossier nommé "bin" dans votre maison, créez un script "ll" contenant quelque chose comme:

#!/bin/bash
ls -lhar

Mais que se passe-t-il si votre PATH a été modifié pour ajouter un autre dossier contenant la nouvelle commande "ll"? Pour plus d'informations intéressantes, vous pouvez consulter le lien suivant à une question connexe.

3
Marco

Il n'est pas nécessaire d'analyser ~/.bashrc ou tout autre script. Vous pouvez vérifier les valeurs actuelles de tous les alias en tapant la commande alias dans le terminal. Il apportera tous les alias définis avec leurs définitions sur votre écran.

0
Serg Stetsuk