¿Cuál es la diferencia entre ls y la? ¿Por qué dan la misma salida?

19

Ingresé laaccidentalmente en lugar de lsver el contenido de un directorio y produce exactamente el mismo resultado que ls...

¿Por qué es esto? Seguramente no tiene sentido tener dos comandos que hagan exactamente lo mismo.

Dime por qué
fuente
3
Justo type la. Y lo conseguirás.
Pandya

Respuestas:

34

laes un alias para ls -Adefinir en el ~/.bashrcarchivo en Ubuntu.

Solo muestra el mismo resultado si no tiene archivos o directorios ocultos.

ls -A muestra archivos y directorios ocultos.

Piloto6
fuente
3
Más como "no necesariamente muestra la misma salida", ya que si no tiene ningún archivo oculto (aquellos que comienzan con un punto) además. y ..., la salida será la misma.
Muzer
1
Eso es verdad. Actualizado.
Pilot6
2
Tenga en cuenta que ls -Aes diferente a ls -a: este último mostrará .y ..significará este directorio y el directorio que contiene respectivamente.
Tim
14

lase define como un alias en el ~/.bashrcarchivo Ubuntus junto con algunos otros. laes simplemente ls -Acomo se puede ver en el siguiente fragmento del~/.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
fuente
Eso sería Ubuntu's(sin el formato de código).
Peter Mortensen
8

En caso de duda, type la.


Salida de Bash:

la is aliased to `ls -la'

Producción de pescado:

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
usuario2394284
fuente
6

lses un comando, ly laprobablemente sean alias que hacen uso del comando ls. Si ejecuta el comando alias, puede encontrar todos los alias en su sistema.

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

Esto devolverá todos los alias que coinciden con el patrón l = ... o la = ....

Arijit Chatterjee
fuente
1
O simplementealias l la
Kevin
4

No producen la misma salida en todos los directorios.

Cree un archivo de puntos con touch .whatever, luego emita ambos lay ls.

usuario4556274
fuente
2

laes un alias para ls -A, como lo indican otras respuestas. Como tal, no se puede usar en scripts de shell, mientras que se lspuede.

Su computadora tiene múltiples comandos con alias. Se puede obtener una lista completa ejecutando alias. En mi máquina imprime esto:

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 el color se apagará cuando no se imprima directamente en STDOUT.

Mark Gardner
fuente