Ls (Unix)

De Viquipèdia
Dreceres ràpides: navegació, cerca

ls (de l'anglès list, la traducció de la qual és “llista”, “llistat” o “llistar”) és una ordre del sistema operatiu Unix i derivats que mostra un llistat amb els arxius i directoris d'un determinat directori. Els resultats es mostren ordenats alfabèticament. ls és una ordre especificada per POSIX i la Single UNIX Specification i està implementada en els sistemes operatius Unix i Unix-like. ls, és una abreviació de list, llistar fitxers.

Captura de pantalla sortida ls -la

Els arxius i directoris el nom dels quals comença amb . (punt) no es mostren amb la instrucció ls, pel que solen denominar-se "arxius ocults". L'opció -a de ls inhibeix aquest comportament, mostrant tots els arxius i subdirectoris, fins i tot els que comencen amb punt.

Ls és una de les eines bàsiques dels sistemes operatius Unix, per la qual cosa forma part del paquet GNU Coreutils.

Història[modifica | modifica el codi]

La primera utilitat de ls va aparèixer a la versió 5 de AT&T UNIX. El seu nom ve d'una comanda molt similar a Multics que significava "list segments". Avui, dues versions popular del ls estan incloses a Free Software Foundation's al paquet coreutils de GNU i un es llença en diverses variants del sistema BSD, com FreeBSD, OpenBSD, NetBSD i Apple Computers Darwin. Les dues són lliures i codi obert.

Sintaxi[modifica | modifica el codi]

  • ls : sense arguments mostra el llistat del directori actual (vegeu la variable d'entorn pwd).
  • ls fitxer1 fitxer2 fitxer3 ... subdir1 subdir2 subdir3 ... : mostra un llistat dels arxius i subdirectoris especificats en la línia d'ordres. Per als arxius mostra el nom solament (o més informació si s'empra alguna opció com a -l ) i per als subdirectoris mostra tots els arxius inclosos en el subdirectori. Aquest comportament diferent de ls davant arxius i subdirectoris pot igualar-se usant el paràmetre -d, que fa que es tracti als subdirectoris com a arxius. Noti's que poden posar-se directoris i arxius en la línia d'ordres en qualsevol ordre.

Opcions més comunes[modifica | modifica el codi]

  • -l mostra un llistat en el format llarg, amb informació de permisos, nombre d'enllaços associats a l'arxiu, usuari, grup, grandària i data d'última modificació a més del nom.
  • -h amb -l imprimeix la grandària dels arxius de forma entesa per als humans (ej. 1K 234M 2G).
  • -d només mostra el nom del subdirectori, sense entrar en aquest ni donar un llistat del contingut.
  • -t mostra ordenat per la data d'última modificació.
  • -c mostra ordenat per la data de l'última modificació de l'estat de l'arxiu.
  • -r quan el llistat es fa per ordre temporal, els arxius més recents van al principi. Si s'indica la -r s'inverteix l'ordre, mostrant els més recents al final.
  • -L en els enllaços simbòlics, mostra les dades de l'arxiu referenciat en comptes dels del link.
  • -1 mostra el llistat en una sola columna. Sense l'opció -1 el llistat es mostra en diverses columnes, tantes com permeti l'ample del terminal (generalment controlat amb la variable d'entorn $COLUMNS).
  • -i mostra el nombre de l'inode abans del nom d'arxiu.
  • -m mostra els arxius en una línia i separats per comes.
  • -R fa un llistat recursiu. Llista primer els arxius del directori en curs, després els dels subdirectoris d'aquest, després els dels subdirectoris continguts en ells (néts) i així successivament.
  • --color mostra cada tipus d'arxiu d'un color diferent: un color per als directoris, un altre per als arxius regulars, un altre per als enllaços simbòlics, un altre pels sockets, un altre per a les "pipes" FIFO, etc. Aquest paràmetre no s'accepta en totes les versions de ls i, per descomptat, requereix que el terminal sigui capaç de mostrar diferents colors o intensitats.
  • - a mostra els arxius ocults.

Igual que en la majoria de les ordres unix, les opcions es poden agrupar, de manera que és el mateix posar ls -li que ls -l -i. O també és el mateix ls -ltra que ls -l -t -r -a

Exemples[modifica | modifica el codi]

Un llistat del directori actual s'obtindria així:

$ ls
Manual.txt.gz arxiu1.txt hosts servidors syslog.0

El llistat llarg seria:

$ ls -l
total 1424
-rw-r--r-- 1 mail bin 40661 May 13 22:27 Manual.txt.gz
-rw-r--r-- 1 nobody nogroup 0 May 13 22:26 arxiu1.txt
-rw-r--r-- 1 root root 825 May 13 22:26 hosts
lrwxrwxrwx 1 user1 grp1 5 May 13 22:31 servidors -> hosts
-rw-r----- 1 sys sys 1405600 May 13 22:27 syslog.0

I amb arxius ocults:

$ ls -la
total 1444
drwxr-xr-x 3 user1 grp1 4096 May 13 22:34. 
drwxrwxrwt 56 root root 8192 May 13 22:35 ..
-rw-r--r-- 1 user1 grp1 176 May 13 22:29 .data
-rw-r--r-- 1 mail bin 40661 May 13 22:27 Manual.txt.gz
-rw-r--r-- 1 nobody nogroup 0 May 13 22:26 arxiu1.txt
-rw-r--r-- 1 root root 825 May 13 22:26 hosts
lrwxrwxrwx 1 user1 grp1 5 May 13 22:31 servidors -> hosts
-rw-r----- 1 sys sys 1405600 May 13 22:27 syslog.0

El llistat del contingut del directori dades en format llarg, incloent el nombre d'inode al principi de cada línia i ordenats per dates en ordre descendent:

$ ls -litr dades
total 45928
37844 -rw-r--r-- 1 user1 grp1 30 Jan 23 23:01 dades1.txt
37847 -rw-r--r-- 1 user1 grp1 460 Apr 13 21:36 index.dades
37845 -rw-r--r-- 1 user1 grp1 46967296 May 13 22:34 dades2.txt 

Si s'usa l'opció -d es mostra només la informació del directori:

$ ls -lid dades
37843 drwxr-xr-x 2 user1 grp1 4096 May 13 22:35 dades

El llistat llarg de tots els arxius el nom dels quals comenci per d i després contingui una t:

$ ls -l d*t*
-rw-r--r-- 1 user1 grp1 30 Jan 23 23:01 dades1.txt
-rw-r--r-- 1 user1 grp1 46967296 May 13 22:34 dades2.txt

Enllaços externs[modifica | modifica el codi]