l, ls & la: ¿cuáles son las diferencias y hay más de estos comandos?

25

Así, a través de varios comandos de escritura que he encontrado que hay no sólo ls, pero ly latambién. No parece haber ninguna manentrada en Ubuntu 12.14. Todos parecen hacer cosas similares con pequeñas diferencias:

$ ls
app        config     CONTRIBUTING.md  doc       Gemfile       Guardfile  LICENSE  MAINTENANCE.md  Procfile  Rakefile   script  tmp     VERSION
CHANGELOG  config.ru  db               features  Gemfile.lock  lib        log      PROCESS.md      public    README.md  spec    vendor
$ la
app      CHANGELOG  config.ru        db   features  Gemfile       .git        Guardfile  LICENSE  MAINTENANCE.md  Procfile  Rakefile   .rspec  .secret     spec  .travis.yml  VERSION
.bundle  config     CONTRIBUTING.md  doc  .foreman  Gemfile.lock  .gitignore  lib        log      PROCESS.md      public    README.md  script  .simplecov  tmp   vendor
$ l
app/       config/    CONTRIBUTING.md  doc/       Gemfile       Guardfile  LICENSE  MAINTENANCE.md  Procfile  Rakefile   script/  tmp/     VERSION
CHANGELOG  config.ru  db/              features/  Gemfile.lock  lib/       log/     PROCESS.md      public/   README.md  spec/    vendor/

Solo como un poco de trivia, ¿hay más de estos y qué hacen? ¿Hay algún lugar para descubrir esto? Desafortunadamente, la búsqueda en Google de estos comandos se ignora porque son muy cortos.

Seiyria
fuente
1
Lo más probable es que tengan un alias a algo que ya existe. AFAIK, no hay lao lcomandos. Pruebe \lay \la los alias de derivación posible.
mkc
Efectivamente, el único que funciona es \ls. ¿Supongo que eso significa que todos serían alias de lsentonces?
Seiyria
Correcto, la ausencia de ejecutables te dice que son alias. Vea mi respuesta para otras formas de determinar esto.
slm

Respuestas:

26

Alias

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=....

Depurándolo aún más

También puede usar el comando typepara ver cómo se ejecuta un comando en particular. ¿Es un comando, un alias o una función?

Ejemplo

En mi sistema, tengo el comando lsalias para que llame lspero también incluye un montón de interruptores adicionales, como este:

$ type -a ls
ls is aliased to `ls --color=auto'
ls is /usr/bin/ls
ls is /bin/ls

En el resultado anterior, puede ver que lsson alias, pero también en $ PATH de mi sistema en los directorios /usr/biny /bin.

slm
fuente
Gracias por el ejemplo en profundidad. ¡Aprendí un poco más sobre Linux hoy!
Seiyria
@ Seiyria: de nada. Gracias por la Q y espero verte en nuestro sitio en el futuro. ¡Buena suerte con tu incursión en Linux!
slm
9

Son solo alias del comando ls con algunas opciones. ingrese la descripción de la imagen aquí

El hombre enumerará todas las opciones y su propósito. Puede crear su propio alias ejecutando en el terminal o agregando .bashrc algo como: alias lsl = 'ls -lrt'

Arrendajo
fuente
3
El código debe formatearse como código, no como captura de pantalla, a menos que se demuestren colores.
Tim
-1

Pruebe la -helplos sistemas BSD Unix para obtener más información la. También encontré lacomo resultado de un error tipográfico.

mohan
fuente
1
¿Está diciendo que laes un comando diferente y no un alias en su sistema BSD?
Anthon