ls
El comando ls sirve para mostrar por la salida estándar (la pantalla por defecto) el contenido de los directorios o información de los ficheros. Su sintaxis general es:
ls [opción...] [ { fichero | directorio }... ]
Si no especificamos nada, muestra en columnas el contenido del directorio de trabajo, sin los ficheros ocultos (ficheros con un nombre que empieza por el carácter punto); para que estos últimos se muestren hay que especificar la opción -a:
$ ls
bin carta2.txt Documentos Escritorio Música Público Vídeos
carta1.txt Descargas Documents Imágenes Plantillas VB
$ ls -a
. Descargas Imágenes .pulse-cookie
.. Documentos .lesshst .sudoku
.aptitude Documents .local .thumbnails
.bash_history Escritorio .mission-control VB
.bash_logout .gconf .mozilla .vboxclient-clipboard.pid
.bashrc .gksu.lock Música .vboxclient-display.pid
bin .gnome2 .plan .vboxclient-draganddrop.pid
.cache .gnome2_private Plantillas .vboxclient-seamless.pid
carta1.txt .gstreamer-0.10 .profile Vídeos
carta2.txt .gtk-bookmarks .project .xsession-errors
.config .gvfs Público .xsession-errors.old
.dbus .ICEauthority .pulse
Para mostrar más información de los fichero es necesario generar un listado largo utilizando la opción -l:
$ ls -l
total 92
drwxr-xr-x 2 usuario usuario 4096 ago 30 12:49 bin
-rw-r--r-- 1 usuario usuario 20981 ago 30 20:08 carta1.txt
-rw-r--r-- 1 usuario usuario 20981 ago 30 20:08 carta2.txt
drwxr-xr-x 2 usuario usuario 4096 jul 10 19:34 Descargas
drwxr-xr-x 2 usuario usuario 4096 jul 13 21:37 Documentos
drwx------ 3 usuario usuario 4096 jul 13 22:09 Documents
drwxr-xr-x 2 usuario usuario 4096 jul 10 19:34 Escritorio
drwxr-xr-x 2 usuario usuario 4096 ago 26 20:41 Imágenes
drwxr-xr-x 2 usuario usuario 4096 jul 10 19:34 Música
drwxr-xr-x 2 usuario usuario 4096 jul 10 19:34 Plantillas
drwxr-xr-x 2 usuario usuario 4096 jul 10 19:34 Público
drwxr-xr-x 2 usuario usuario 4096 jul 13 14:49 VB
drwxr-xr-x 2 usuario usuario 4096 jul 10 19:34 Vídeos
Los datos del listado largo son, por orden:
- El primer carácter indica el tipo de fichero:
- - para los ficheros normales (texto, programas, imágenes, etc.).
- d para los directorios.
- l para los enlaces simbólicos.
- c para los dispositivos de caracteres (teclado, pantalla, etc.).
- b para los dispositivos de bloque (discos, etc.).
- Permisos del fichero (los 9 caracteres siguientes al anterior).
- Número de enlaces duros.
- Usuario dueño del fichero.
- Grupo del fichero.
- Tamaño en bytes del fichero.
- Fecha de la última modificación (mtime).
- Nombre del fichero.
Para listar los datos de un directorio y no su contenido, necesitamos usar la opción -d:
$ ls -l tmp
total 28
-rw-r--r-- 1 usuario vboxsf 68 sep 8 23:05 f1.txt
-rw-r--r-- 1 usuario vboxsf 79 sep 8 22:28 f2.txt
-rw-rw-rw- 1 usuario vboxsf 10 sep 9 08:30 f3.txt
-rw-r--r-- 1 usuario vboxsf 48 sep 7 13:10 f4.txt
-rw-r--r-- 1 usuario vboxsf 24 sep 8 20:36 f5.txt
-rw-r--r-- 1 usuario vboxsf 78 sep 8 22:37 f6.txt
-rw-r--r-- 1 usuario vboxsf 6 sep 11 20:37 patrones
$ ls -ld tmp
drwsr-sr-x 2 usuario vboxsf 4096 sep 11 20:36 tmp
Podemos ver los i-nodos de los ficheros con la opción -i:
$ ls -i carta*
132797 carta1.txt 132551 carta2.txt
En el listado largo, la fecha que aparece por defecto es la mtime, si queremos ver la atime:
$ ls -lu carta*
-r--r--r-- 1 usuario usuario 20981 ago 30 20:25 carta1.txt
-r--r--r-- 1 usuario usuario 20981 ago 30 20:24 carta2.txt
Y para ver la ctime:
$ ls -lc carta*
-r--r--r-- 1 usuario usuario 20981 ago 30 20:26 carta1.txt
-r--r--r-- 1 usuario usuario 20981 ago 30 20:27 carta2.txt
A veces lo que interesa es ver todos los ficheros menos unos cuantos que cumplen un determinado patrón, para ello usamos la opción -I junto con el patrón. El patrón de ficheros debe ir entre comillas simples o dobles cuando va separado de -I, pero si van juntos no se entrecomilla (-I 'patrón', -I "patrón", -Ipatrón).
$ ls -I '*.txt'
bin Documentos Escritorio Música Público Vídeos
Descargas Documents Imágenes Plantillas VB
Muchas veces incluimos un número dentro de los nombres de los ficheros, normalmente para indicar su versión. Si queremos que ls pueda usar este número para mostrar los ficheros ordenados por él, utilizaremos la opción -v:
$ ls
bin carta1.txt Descargas Documents Imágenes Plantillas VB
carta11.txt carta2.txt Documentos Escritorio Música Público Vídeos
$ ls car*
carta11.txt carta1.txt carta2.txt
$ ls -v car*
carta1.txt carta2.txt carta11.txt
$ ls -rv car*
carta11.txt carta2.txt carta1.txt
Otras opciones interesantes son:
-R | Muestra un listado recursivo, es decir, recorre también todos los directorios que cuelgan del directorio especificado. |
-S | Ordena por tamaño. |
-X | Ordena por extensión. |
-t | Ordena por la fecha que se muestre (mtime, atime o ctime). |
-r | Muestra el listado en orden inverso. |
-h | Añade una unidad al tamaño del fichero, por ejemplo, M para indicar Mebibytes. |
-k | Muestra el tamaño del fichero en kilobytes. |
-m | Muestra el listado separado por comas. |
-n | Muestra el número de uid y gid y no el nombre del usuario y del grupo, respectivamente. |
-A | Como -a pero sin . ni .. |
-B | No muestra los ficheros acabados en ~. Lo normal es que estos ficheros sean copias de seguridad hechas por algún programa, normalmente un editor de texto, para guardar la versión previa a la modificación. Por ejemplo, el editor nano crea este tipo de copias de seguridad de los ficheros que edita. |
--full-time |
Muestra la fecha y la hora completa. |
Licencia: licencia de software libre GPL