Jaka jest różnica między ls a la? Dlaczego dają taką samą wydajność?

19

Wszedłem laprzypadkowo zamiast lsprzeglądać zawartość katalogu, który generuje dokładnie takie same dane wyjściowe jak ls...

Dlaczego to? Z pewnością nie ma sensu mieć dwóch poleceń, które robią dokładnie to samo.

Powiedz mi dlaczego
źródło
3
Właśnie type la. I dostaniesz to.
Pandya

Odpowiedzi:

34

lato alias ls -Azdefiniowany w ~/.bashrcpliku w Ubuntu.

Pokazuje tylko to samo wyjście, jeśli nie masz ukrytych plików ani katalogów.

ls -A pokazuje ukryte pliki i katalogi.

Pilot 6
źródło
3
Bardziej jak „ niekoniecznie pokazuje to samo wyjście”, ponieważ jeśli nie masz żadnych ukrytych plików (zaczynających się od kropki) poza tym. i .., wynik będzie taki sam.
Muzer
1
To prawda. Zaktualizowano
Pilot6
2
Zauważ, że ls -Aróżni się od ls -a- ten ostatni pokaże .i ..oznacza odpowiednio ten katalog i zawierający katalog.
Tim
14

lajest zdefiniowany jako alias w ~/.bashrcpliku Ubuntus wraz z kilkoma innymi. lajest po prostu ls -Ajak widać w poniższym fragmencie z~/.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
źródło
To byłoby Ubuntu's(bez formatowania kodu).
Peter Mortensen
8

W razie wątpliwości type la.


Wyjście Bash:

la is aliased to `ls -la'

Produkcja ryb:

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
użytkownik2394284
źródło
6

lsjest poleceniem li lanajprawdopodobniej są to aliasy, które korzystają z polecenia ls. Po uruchomieniu polecenia aliasmożna znaleźć wszystkie aliasy w systemie.

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

Zwróci wszystkie aliasy pasujące do wzorca l = ... lub la = ....

Arijit Chatterjee
źródło
1
Lub po prostualias l la
Kevin
4

Nie generują takiej samej wydajności we wszystkich katalogach.

Utwórz plik dot za pomocą touch .whatever, a następnie wydaj oba lai ls.

użytkownik4556274
źródło
2

lajest pseudonimem ls -A, jak stwierdzono w innych odpowiedziach. Jako taki nie może być używany w skryptach powłoki, podczas gdy lsmoże.

Twój komputer ma wiele aliasowanych poleceń. Pełną listę można uzyskać, wykonując alias. Na mojej maszynie drukuje to:

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 oznacza, że ​​kolor zostanie wyłączony, gdy nie będzie drukowany bezpośrednio do STDOUT.

Mark Gardner
źródło