Какая разница между ЛС и ЛА? Почему они дают одинаковый результат?

Я вошел la случайно вместо ls просматривать содержимое каталога, и он производит точно такой же вывод, как ls...

Почему это? Конечно, нет смысла иметь две команды, которые делают одно и то же.

6 ответов

Решение

la псевдоним ls -A определяется в ~/.bashrc файл в Ubuntu.

Он показывает тот же вывод, если у вас нет скрытых файлов или каталогов.

ls -A показывает скрытые файлы и каталоги.

la определяется как псевдоним в Ubuntus ~/.bashrc подать вместе с несколькими другими. 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'

В случае сомнений, 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

ls это команда, l а также la наиболее вероятно, псевдонимы, которые используют команду ls, Если вы запустите команду alias Вы можете найти все псевдонимы в вашей системе.

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

Это вернет все псевдонимы, которые соответствуют шаблону l=... или la=....

Они не выдают одинаковый вывод во всех каталогах.

Создайте точечный файл с touch .whateverзатем выдайте оба la а также ls,

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.

Другие вопросы по тегам