¿Cuál es la diferencia entre ls y la? ¿Por qué dan el mismo resultado?

18

Ingresé la accidentalmente en lugar de ls para ver 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.

    
pregunta TellMeWhy 22.12.2016 - 15:17

6 respuestas

33

la es un alias a ls -A definido en el archivo ~/.bashrc en Ubuntu.

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

ls -A muestra archivos y directorios ocultos.

    
respondido por el Pilot6 22.12.2016 - 15:20
14

la se define como un alias en Ubuntus ~/.bashrc file junto con algunos otros. la es simplemente un ls -A como 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'
    
respondido por el Videonauth 22.12.2016 - 15:20
7

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
    
respondido por el user2394284 22.12.2016 - 19:47
5

ls es un comando, l y la son alias más comunes 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 = ....

    
respondido por el Arijit Chatterjee 22.12.2016 - 15:24
3

No producen el mismo resultado en todos los directorios.

Cree un archivo punto con touch .whatever , luego emita tanto la como ls .

    
respondido por el user4556274 22.12.2016 - 15:20
2

la es un alias para ls -A , como se indica en otras respuestas. Como tal, no se puede usar en scripts de shell, mientras que ls puede.

Su computadora tiene múltiples comandos de 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 desactivará cuando no se imprima directamente en STDOUT.

    
respondido por el Mark Gardner 22.12.2016 - 18:04

Lea otras preguntas en las etiquetas