it-swarm.com.de

Was ist der Unterschied zwischen ls und la? Warum geben sie die gleiche Ausgabe?

Ich habe la versehentlich anstelle von ls eingegeben, um den Inhalt eines Verzeichnisses anzuzeigen, und es wird genau die gleiche Ausgabe wie ls erzeugt ...

Warum ist das? Sicherlich macht es keinen Sinn, zwei Befehle zu haben, die genau dasselbe tun.

19
TellMeWhy

la ist ein Alias ​​für ls -A, der in der ~/.bashrc -Datei in Ubuntu definiert ist.

Die gleiche Ausgabe wird nur angezeigt, wenn Sie keine versteckten Dateien oder Verzeichnisse haben.

ls -A zeigt versteckte Dateien und Verzeichnisse an.

34
Pilot6

la ist zusammen mit einigen anderen als Alias ​​in der Ubuntus-Datei ~/.bashrc definiert. la ist einfach ein ls -A, wie Sie im folgenden Ausschnitt aus dem ~/.bashrc sehen können.

# 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'
14
Videonauth

Im Zweifelsfall type la.


Bash-Ausgabe:

la is aliased to `ls -la'

Fischproduktion:

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
8
user2394284

ls ist ein Befehl, l und la sind höchstwahrscheinlich Aliase, die den Befehl ls verwenden. Wenn Sie den Befehl alias ausführen, können Sie alle Aliase auf Ihrem System finden.

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

Dies gibt alle Aliase zurück, die mit dem Muster l = ... oder la = .... übereinstimmen.

6

Sie erzeugen nicht in allen Verzeichnissen die gleiche Ausgabe.

Erstellen Sie eine Punktdatei mit touch .whatever, und setzen Sie dann sowohl la als auch ls ab.

4
user4556274

la ist ein Alias ​​für ls -A, wie in anderen Antworten angegeben. Daher kann es nicht in Shell-Skripten verwendet werden, solange ls dies kann.

Ihr Computer verfügt über mehrere Alias-Befehle. Eine vollständige Liste erhalten Sie, indem Sie alias ausführen. Auf meinem Computer wird Folgendes gedruckt:

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 bedeutet, dass die Farbe deaktiviert wird, wenn nicht direkt auf STDOUT gedruckt wird.

2
Mark Gardner