Quelle est la difference entre ls et la? Pourquoi donnent-ils la même sortie?


Réponses:


34

laest un alias à ls -Adéfinir dans un ~/.bashrcfichier dans Ubuntu.

Il n'affiche la même sortie que si vous n'avez aucun fichier ou répertoire caché.

ls -A affiche les fichiers et répertoires cachés.


3
Plus comme "ça n'affiche pas forcément la même sortie", puisque si vous n'avez pas de fichiers cachés (ceux commençant par un point) en plus. et .., la sortie sera la même.
Muzer

1
C'est vrai. Mis à jour.
Pilot6

2
Notez que ls -Ac'est différent de ls -a- ce dernier affichera le .et ..signifiant ce répertoire et le répertoire contenant respectivement.
Tim

14

laest défini comme un alias dans le ~/.bashrcfichier Ubuntus avec quelques autres. laest simplement un ls -Acomme vous pouvez le voir dans l'extrait de code suivant du~/.bashrc

# this alias is defined earlier to grant colored output
alias ls='ls --color=auto'

# some more ls aliases
alias ll='ls -alF'
alias la='ls -A'
alias l='ls -CF'
alias li='ls -lF'

Ce serait Ubuntu's(sans la mise en forme du code).
Peter Mortensen

8

En cas de doute, type la.


Sortie Bash:

la is aliased to `ls -la'

Sortie poisson:

la is a function with definition
function la --description 'List contents of directory, including hidden files in directory using long format'
    ls -lah $argv
end

6

lsest une commande, let ce lasont probablement des alias qui utilisent la commande ls. Si vous exécutez la commande, aliasvous pouvez trouver tous les alias de votre système.

$ alias | grep -E ' l=| la='

Cela renverra tous les alias qui correspondent au modèle l = ... ou la = ....


1
Ou tout simplementalias l la
Kevin

4

Ils ne produisent pas la même sortie dans tous les répertoires.

Créez un fichier dot avec touch .whatever, puis lancez les deux laet ls.


2

laest un alias pour ls -A, comme indiqué par d'autres réponses. En tant que tel, il ne peut pas être utilisé dans des scripts shell, alors qu'il le lspeut.

Votre ordinateur possède plusieurs commandes aliasées. Une liste complète peut être obtenue en exécutant alias. Sur ma machine, il imprime ceci:

alias alert='notify-send --urgency=low -i "$([ $? = 0 ] && echo terminal || echo error)" "$(history|tail -n1|sed -e '\''s/^\s*[0-9]\+\s*//;s/[;&|]\s*alert$//'\'')"'  
alias egrep='egrep --color=auto'  
alias fgrep='fgrep --color=auto'  
alias grep='grep --color=auto'  
alias l='ls -CF'  
alias la='ls -A'   
alias ll='ls -alF'   
alias ls='ls --color=auto'

--color=auto signifie que la couleur sera désactivée lorsque vous n'imprimez pas directement sur STDOUT.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.