Wszedłem la
przypadkowo zamiast ls
przeglą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.
type la
. I dostaniesz to.
Wszedłem la
przypadkowo zamiast ls
przeglą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.
type la
. I dostaniesz to.
Odpowiedzi:
la
to alias ls -A
zdefiniowany w ~/.bashrc
pliku 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.
ls -A
różni się od ls -a
- ten ostatni pokaże .
i ..
oznacza odpowiednio ten katalog i zawierający katalog.
la
jest zdefiniowany jako alias w ~/.bashrc
pliku Ubuntus wraz z kilkoma innymi. la
jest po prostu ls -A
jak 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'
Ubuntu's
(bez formatowania kodu).
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
ls
jest poleceniem l
i la
najprawdopodobniej są to aliasy, które korzystają z polecenia ls
. Po uruchomieniu polecenia alias
można znaleźć wszystkie aliasy w systemie.
$ alias | grep -E ' l=| la='
Zwróci wszystkie aliasy pasujące do wzorca l = ... lub la = ....
alias l la
Nie generują takiej samej wydajności we wszystkich katalogach.
Utwórz plik dot za pomocą touch .whatever
, a następnie wydaj oba la
i ls
.
la
jest pseudonimem ls -A
, jak stwierdzono w innych odpowiedziach. Jako taki nie może być używany w skryptach powłoki, podczas gdy ls
moż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.