¿Diferencia entre ls -l y ll?


59

Soy relativamente nuevo en la programación en su conjunto y algunos tutoriales me han estado diciendo que use ls -lpara mirar archivos en un directorio y otros me han estado diciendo ll. Sé que lses una lista corta, pero ¿hay alguna diferencia entre los otros dos?


8
Es posible que desee echar un vistazo which ll. Probablemente descubrirá que en llrealidad es un alias para ls -l.
HalosGhost

Entonces, ¿cuál es la diferencia entre lscualquier otro comando que coloque en el shell? Si which lsescribo alias ls='ls --color=auto' /bin/ls, obtengo , pero si escribo (por ejemplo) which cdobtengo /usr/bin/which: no cd in (........). EDITAR: Lo intenté de nuevo con which mkdiry lo conseguí /bin/mkdir. ¿Cuál es la distinción entre estos comandos en que algunos de ellos están almacenados (?) /usr/binY otros aparentemente no?
Jon

Esto es un efecto del valor predeterminado de su distribución $PATH. lsa menudo tiene un alias, por lo que su shell informa el alias (que tiene prioridad sobre el binario) y la ubicación real del binario (en su caso /bin/ls). Si whichno puede encontrarlo cd, entonces algo parece terriblemente mal.
HalosGhost

2
cdes una palabra clave interna de shell, no un programa encontrado en un sistema de archivos. Usa type cdy type lspara ver a qué me refiero. Algunos comandos son simplemente anulados por las funciones integradas de shell: echoexiste en /bin/echo, pero, bashde hecho, en la mayoría de los shells modernos, echose llama una función incorporada (que generalmente tiene características extendidas). typeen realidad te dice cuál es.
orion

Respuestas:


88

En muchos sistemas, lles un alias de ls -l:

$ type ll
ll is aliased to `ls -l'

Ellos son lo mismo.


3
ll tiene el alias de `ls -ltr '- Estoy usando Red Hat 6
PDR

3
en Ubuntu 14.04 ll tiene un alias de 'ls -alF'
Viktor

3
También ls -alFen Ubuntu 12.04, 16.04, y probablemente muchos más.
Paul

3
Para mí en macOS Sierra ll tiene un aliasls -lh
Zorgatone

13

Como se señaló, a llmenudo se define como un alias de ls -l. De hecho, a lsmenudo es un alias en sí mismo:

$ which ls
alias ls='ls --color=auto'
/usr/bin/ls

El comando real es el lsque se encuentra arriba en /usr/bin. llpretende ser una conveniencia, pero no puede confiar en que se defina en todos los sistemas * nix, por lo que es bueno saber lo que realmente está haciendo.


Gran respuesta. No puedo evitar agregar que esta es una de las razones por las cuales confiar lsen la automatización (especialmente las frases simples ad-hoc) suele ser una mala idea. Tiene varias opciones que cambian su salida y muchas formas de especificarlas. Con diferentes distribuciones eligiendo diferentes valores predeterminados, tiende a causar dolores de cabeza.
ctt

No he visto ninguna distribución popular de alias lsa otra cosa que no sea ls --color=auto. Es eso o no hay alias.
phoops

4

Ubuntu 14.04

laike9m@laike9m1:~$ type ll
ll is aliased to `ls -alF'

1
También 12.04 y 16.04, pero eso es todo lo que tengo disponible para probar en este momento.
Paul

3

En la mayoría de los casos, llno funciona en scripts de shell.


1
Lo que sucede es que, por lo general, los comandos como llson realmente alias, que no se definen al ejecutar scripts.
vonbrand

3
Algunas personas tienen el alias en el .profile, y el alias está trabajando en un shell interactivo. Después de depurar / probar un nuevo script, el script de repente falla en crontab. Cron no lee el .profile.
Walter A

1
Esta no es una respuesta a la pregunta, sino un comentario. Desde mi pequeño entendimiento, los alias están en desuso en los scripts de shell.
cornflakes24

Digo "la mayoría" pero no está en la mía, y usols -l
travelingbones

1

lles un alias para ls -l.

La opción -lle dice al comando que use un formato de lista larga. Devuelve varias columnas, que no se muestran cuando lsse usa el comando simple . Estas columnas incluyen:

  • Permisos

  • Cantidad de enlaces duros

  • Propietario del archivo

  • Grupo de archivos

  • Tamaño del archivo

  • Modificación

  • hora

  • Nombre del archivo


0

ll tiene un alias de 'ls -l' Si ejecuta ll, le mostrará los archivos en el shell y luego presionará Enter para ver los siguientes archivos (más ... opción). Si ejecuta ls -l, todos los archivos se mostrarán a la vez.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.