Qual é a diferença entre ls e la? Por que eles dão a mesma saída?

19

Entrei laacidentalmente em vez de lsvisualizar o conteúdo de um diretório e ele produz exatamente a mesma saída que ls...

Por que é isso? Certamente não faz sentido ter dois comandos que fazem exatamente a mesma coisa.

Diga-me o porquê
fonte
3
Apenas type la. E você entenderá.
precisa

Respostas:

34

laé um apelido para ls -Adefinido em ~/.bashrcarquivo no Ubuntu.

Ele mostra apenas a mesma saída se você não tiver arquivos ou diretórios ocultos.

ls -A mostra arquivos e diretórios ocultos.

Pilot6
fonte
3
Mais como "ele não mostra necessariamente a mesma saída", pois se você não tiver nenhum arquivo oculto (aqueles que começam com um ponto) além disso. e .., a saída será a mesma.
Muzer
1
Isso é verdade. Atualizada.
usar o seguinte comando
2
Observe que ls -Aé diferente de ls -a- o último mostrará o .e ..significando esse diretório e o diretório que contém, respectivamente.
Tim
14

laé definido como um alias no ~/.bashrcarquivo Ubuntus junto com alguns outros. laé simplesmente um, ls -Acomo você pode ver no seguinte trecho do~/.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
fonte
Isso seria Ubuntu's(sem a formatação do código).
Peter Mortensen
8

Em caso de dúvida type la.


Saída Bash:

la is aliased to `ls -la'

Produção de peixe:

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
user2394284
fonte
6

lsé um comando le lasão provavelmente aliases que fazem uso do comando ls. Se você executar o comando, aliaspoderá encontrar todos os aliases no seu sistema.

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

Isso retornará todos os aliases que correspondem ao padrão l = ... ou la = ....

Arijit Chatterjee
fonte
1
Ou apenasalias l la
Kevin
4

Eles não produzem a mesma saída em todos os diretórios.

Crie um arquivo de ponto com touch .whatever, em seguida, emita ambos lae ls.

user4556274
fonte
2

laé um alias para ls -A, conforme declarado por outras respostas. Como tal, não pode ser usado em scripts de shell, enquanto lspode.

Seu computador possui vários comandos com alias. Uma lista completa pode ser obtida executando alias. Na minha máquina, ele imprime isso:

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 significa que a cor será desativada quando não for impressa diretamente em STDOUT.

Mark Gardner
fonte