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

19

Je suis entré laaccidentellement au lieu d' lsafficher le contenu d'un répertoire et il produit exactement la même sortie que ls...

Pourquoi est-ce? Il n'est sûrement pas logique d'avoir deux commandes qui font exactement la même chose.

Dis moi pourquoi
la source
3
Justement type la. Et vous l'obtiendrez.
Pandya

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.

Pilot6
la source
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'
Videonauth
la source
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
user2394284
la source
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 = ....

Arijit Chatterjee
la source
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.

user4556274
la source
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.

Mark Gardner
la source