Яка різниця між ls та la? Чому вони дають однаковий вихід?


19

Я ввійшов laвипадково замість того, lsщоб переглянути вміст каталогу, і він видає точно такий же вихід, як і ls...

Чому це? Напевно, немає сенсу мати дві команди, які роблять точно те саме.


Також дивіться: unix.stackexchange.com/questions/109216/…
muru

3
Просто type la. І ти його отримаєш.
Пандія

Відповіді:


34

laПсевдонім, ls -Aвизначений у ~/.bashrcфайлі в Ubuntu.

Він показує той самий вихід, якщо у вас немає прихованих файлів чи каталогів.

ls -A показує приховані файли та каталоги.


3
Більше схоже на "це не обов'язково показує однаковий вихід", оскільки якщо у вас немає прихованих файлів (тих, що починаються з крапки). і .., вихід буде однаковим.
Мюзер

1
Це правда. Оновлено.
Пілот6

2
Зауважте, що ls -Aце відрізняється від ls -a- останній покаже .і ..значення цієї каталогів, що містить каталог відповідно.
Тім

14

laвизначається як псевдонім у ~/.bashrcфайлі Ubuntus разом з кількома іншими. laпросто, ls -Aяк ви можете бачити в наступному фрагменті з~/.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(без форматування коду).
Пітер Мортенсен

8

У разі сумнівів type la.


Bash вихід:

la is aliased to `ls -la'

Виведення риби:

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

lsє командою, lі laце, швидше за все, псевдоніми, які використовують команду ls. Якщо ви запускаєте команду, aliasви можете знайти всі псевдоніми у вашій системі.

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

Це поверне всі псевдоніми, які відповідають шаблону l = ... або la = ....


1
Або простоalias l la
Кевін

4

Вони не дають однаковий вихід у всіх каталогах.

Створіть точковий файл з touch .whatever, потім видайте laі ls. І.


2

laПсевдонім для ls -A, як зазначено в інших відповідях. Як такий, він не може використовуватися в скриптах оболонки, поки lsможе.

На вашому комп’ютері є декілька вбудованих команд. Повний список можна отримати, виконавши alias. На моїй машині він друкує це:

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 означає, що колір буде вимкнено, якщо не надрукувати безпосередньо в STDOUT.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.