mandato ls

Finalidad

Muestra el contenido de un directorio.

Sintaxis

Para visualizar el contenido del directorio o el nombre del archivo

ls [ -1 ] [ -A ] [ -C ] [ -E ] [ -F ] [-H | -L ] [ -N ] [ -R ] [ -S ] [ -X] [ -a ] [ -b ] [ -c ] [ -d ] [ -e ] [ -f ] [ -g ] [ -i ] [-k] [ -l ] [ -m ] [ -n ] [ -o ] [ -p ] [ -q ] [ -r ] [ -s ] [ -t ] [ -u ] [ -U ] [ -x ] [ Archivo ...]

Para visualizar el contenido del directorio

ls -f [ -C ] [ -d ] [ -i ] [ -m ] [ -s ] [ -X] [ -x ] [ -1 ] [ -U ] [ Directorio ... ]

Descripción

El mandato ls graba en la salida estándar el contenido de cada parámetro Directorio especificado o el nombre de cada parámetro Archivo especificado, junto con cualquier otra información que solicite con los distintivos. Si no especifica un parámetro Archivo o Directorio , el mandato ls muestra el contenido del directorio actual.

La especificación de más de una de las opciones en los pares mutuamente excluyentes no se considera un error. La última opción especificada en cada par determina el formato de salida.

Por omisión, el mandato ls visualiza toda la información en orden alfabético por nombre de archivo. La secuencia de clasificación viene determinada por la variable de entorno LANG o LC_COLLATE .

Cuando el mandato ls muestra el contenido de un directorio, no muestra entradas para los archivos cuyos nombres empiezan por . (punto) a menos que utilice el distintivo -a o -A . Si el mandato lo ejecuta root, utiliza el distintivo -A de forma predeterminada.

Existen tres formas principales de dar formato a la salida:

  • Listar una entrada por línea.
  • Liste las entradas en varias columnas especificando el distintivo -C o -x . El distintivo -C es el formato por omisión cuando la salida es para un tty. El mandato ls muestra la salida de una sola columna si los nombres de archivo o directorio son demasiado largos.
  • Listar las entradas en series separadas por comas, especificando el distintivo -m.

Para determinar el número de posiciones de caracteres en la línea de salida, el mandato ls utiliza la variable de entorno COLUMNS . Si esta variable no está establecida, el mandato obtiene el valor de columna actual de la visualización. Si el mandato ls no puede determinar el número de posiciones de caracteres mediante uno de estos métodos, utiliza el valor predeterminado 80.

La modalidad visualizada con el distintivo -U es la misma que con el distintivo -l , excepto por la adición de un carácter 11th interpretado como se indica a continuación:
Elemento Descripción
E Indica que un archivo tiene información de atributos ampliados (EA). El EA de un archivo se visualiza utilizando el mandato getea .
- Indica que un archivo no tiene información de atributos ampliados.
e Indica que un archivo está cifrado.

El cifrado tiene prioridad sobre la presencia de las listas de control de acceso (ACL) y otros EA.

La modalidad visualizada con los distintivos -e y -l se interpreta de la forma siguiente:

Si el primer carácter es:

Elemento Descripción
d La entrada es un directorio.
B La entrada es un archivo especial de bloque.
c La entrada es un archivo especial de caracteres.
l La entrada es un enlace simbólico y se ha especificado el distintivo -N o el enlace simbólico no apuntaba a un archivo existente.
p La entrada es un archivo especial FIFO (primero en entrar, primero en salir).
s La entrada es un socket local.
- La entrada es un archivo ordinario.

Los nueve caracteres siguientes se dividen en tres grupos de tres caracteres cada uno. El primer conjunto de tres caracteres muestra el permiso del propietario. El siguiente conjunto de tres caracteres muestra el permiso de los demás usuarios del grupo. El último conjunto de tres caracteres muestra el permiso de cualquier otra persona con acceso al archivo. Los tres caracteres de cada conjunto indican, respectivamente, el permiso de lectura, escritura y ejecución del archivo. El permiso de ejecución de un directorio le permite buscar un archivo especificado en un directorio.

Los permisos se indican así:

Elemento Descripción
:NONE. Leer
w Escribir (editar)
X Ejecutar (buscar)
- No se ha otorgado el permiso correspondiente

El carácter de permiso de ejecución de grupo es s si el archivo tiene la modalidad de ID de grupo establecido. El carácter de permiso de ejecución de usuario es s si el archivo tiene la modalidad de ID de usuario establecido. El último carácter de la modalidad (normalmente x o -) es E si se ha establecido el bit 01000 (octal) de la modalidad (consulte el mandato Chmod para conocer el significado de esta modalidad). Las indicaciones de set-ID y 01000 bits de la modalidad están en mayúsculas (S y T, respectivamente) si no se ha establecido el permiso de ejecución correspondiente. La modalidad t indica que el bit de permanencia está activado para el archivo o el directorio.

La modalidad visualizada con el distintivo -e es la misma que con el distintivo -l , excepto por la adición de un carácter 11th interpretado de la forma siguiente:

Elemento Descripción
+ Indica que un archivo tiene información de seguridad ampliada. Por ejemplo, el archivo puede tener atributos ACL, TCBo TP ampliados en la modalidad.

La información de control de acceso (ACL) de un archivo se visualiza utilizando el mandato aclget . El valor de los atributos TCB y TP se visualizan utilizando el mandato chtcb .

- Indica que un archivo no tiene información de seguridad ampliada.

Cuando se lista el tamaño de los archivos de un directorio, el mandato ls visualiza el total del número de bloques, incluidos los bloques indirectos.

Distintivos

Elemento Descripción
-A Lista todas las entradas excepto . (punto) y .. (punto).
-a Lista todas las entradas del directorio, incluidas las entradas que empiezan por un . (punto).
-b Muestra caracteres no imprimibles en una notación octal (\nnn).
-c Utiliza la hora de la última modificación del inodo para la ordenación (cuando se utiliza con el distintivo -t ) o para la visualización (cuando se utiliza con el distintivo -l ). Este distintivo no tiene ningún efecto si no se utiliza con el distintivo -t o -l , o ambos.
-C Ordena la salida verticalmente en un formato de varias columnas. Este es el método predeterminado cuando la salida es a un terminal.
-d Muestra sólo la información del directorio especificado. Los directorios se tratan como archivos, lo que resulta útil cuando se utiliza el distintivo -l para obtener el estado de un directorio.
-e Muestra la modalidad (incluida la información de seguridad), el número de enlaces, el propietario, el grupo, el tamaño (en bytes), la hora de la última modificación y el nombre de cada archivo. Si el archivo es un archivo especial, el campo de tamaño contiene los números de dispositivo mayor y menor. Si el archivo es un enlace simbólico, el nombre de vía de acceso del archivo enlazado se imprime precedido por un signo-> (menos, mayor que). Se visualizan los atributos del enlace simbólico.
-E Lista los atributos de extensión de un archivo que existe en los sistemas de archivos Vxfs, como la reserva de espacio, el tamaño de extensión fijo y la información de distintivo de asignación de extensión. Debe especificar el distintivo -l con este distintivo; de lo contrario, el mandato ls ignora el distintivo -E y completa la ejecución.
-f Lista el nombre de cada ranura para cada directorio especificado en el parámetro Directorio . Este distintivo desactiva los distintivos -l, -t, -sy -r y activa el distintivo -a . El orden del listado es el orden en el que aparecen las entradas en el directorio.
-F Coloca una/(barra inclinada) después de cada nombre de archivo si el archivo es un directorio, un * (asterisco) si el archivo se puede ejecutar, un = (signo igual) si el archivo es un socket, un | (barra vertical) signo si el archivo es un FIFO, y un @ para un enlace simbólico. Los enlaces simbólicos que se denominan como operandos no se siguen a menos que haya especificado el distintivo -H o -L .
-g Muestra la misma información que el distintivo -l , excepto que el distintivo -g suprime la visualización de la información del propietario y del enlace simbólico.
-h Si se especifica un enlace simbólico que hace referencia a un archivo de tipo directorio en la línea de mandatos, el mandato ls evaluará la información de archivo y el tipo de archivo para que sean los del archivo al que hace referencia el enlace, y no el propio enlace; sin embargo, el mandato ls escribirá el nombre del propio enlace y no el archivo al que hace referencia el enlace.
-i Muestra el número de inodo en la primera columna del informe para cada archivo. Si el sistema de archivos tiene una instantánea interna, el directorio .snapshot y todo su contenido no tienen números de inodo exclusivos.
-k Establece el tamaño de bloque para la opción -s y el recuento de bloques por directorio escritos para las opciones -l, -n, -gy -o en 1024 bytes.
-l Lista el contenido del archivo o directorio al que hace referencia el enlace. Se trata de la acción predeterminada. Se siguen los enlaces simbólicos. Si se utiliza la opción -l , la opción -N se convierte en el valor predeterminado y no se siguen enlaces simbólicos. Cuando se utiliza la opción -l , sólo la opción -L puede alterar temporalmente el valor predeterminado -N .
-l (L minúscula) Visualiza la modalidad, el número de enlaces, el propietario, el grupo, el tamaño (en bytes) y la hora de la última modificación para cada archivo. Si el archivo es un archivo especial, el campo de tamaño contiene los números de dispositivo mayor y menor. Si la hora de la última modificación es mayor que hace seis meses, el campo de hora se muestra con el formato año de fecha de mes , donde como archivos modificados en seis meses, el campo de hora se muestra con el formato hora de fecha de mes .

Si el archivo es un enlace simbólico, el nombre de vía de acceso del archivo enlazado se imprime precedido por un->. Se visualizan los atributos del enlace simbólico. El distintivo -n, -gy -o altera temporalmente el distintivo -l .

Notas:
  1. Un archivo enlazado simbólicamente va seguido de una flecha y el contenido del enlace simbólico.
  2. El rendimiento del mandato ls cuando se utiliza con la opción -l se puede mejorar ejecutando el mandato mkpasswd . Esto es útil cuando un directorio contiene archivos propiedad de distintos usuarios, como por ejemplo el directorio /tmp .
-m Utiliza el formato de salida de secuencia (una serie separada por comas).
-n Muestra la misma información que el distintivo -l , excepto que el distintivo -n muestra el usuario y los ID de grupo en lugar de los nombres de usuario y grupo.
-n No sigue los enlaces simbólicos al determinar el estado de un archivo.

Nota: Si se utilizan las opciones -L y -N , dominará la última. Además, cada vez que se proporciona un enlace simbólico que incluye una/(barra inclinada) como carácter final, el enlace se seguirá automáticamente independientemente de las opciones utilizadas.

-o Muestra la misma información que el distintivo -l , excepto que el distintivo -o suprime la visualización del grupo e información de enlace simbólico.
-p Coloca una barra inclinada después de cada nombre de archivo si ese archivo es un directorio. Esto es útil cuando intercambia la salida del mandato ls con el mandato pr , del modo siguiente:
ls  -p |  pr  -5  -t  -w80
-q Muestra caracteres no imprimibles en nombres de archivo como?(signo de interrogación).
-r Invierte el orden de la clasificación, dando alfabético inverso o el más antiguo primero, según corresponda.
-R Lista todos los subdirectorios de forma recursiva.
-s Proporciona el tamaño en kilobytes (incluidos los bloques indirectos) para cada entrada.
-S Ordena con la clave primaria que es el tamaño de archivo (en orden decreciente) y la clave secundaria que es el nombre de archivo en el orden de clasificación (en orden creciente).
-T Ordena por hora de la última modificación (última primera) en lugar de por nombre. Para un enlace simbólico, el tiempo utilizado como clave de clasificación es el del propio enlace simbólico.
-U Muestra información similar a la del distintivo -l . Muestra la modalidad (incluida la información de seguridad, la información de atributos ampliados con nombre y la información de cifrado), el número de enlaces, el propietario, el grupo, el tamaño (en bytes), la hora de la última modificación y el nombre de cada archivo. Si el archivo es un archivo especial, el campo de tamaño contiene los números de dispositivo mayor y menor. Si el archivo es un enlace simbólico, el nombre de vía de acceso del archivo enlazado se imprime precedido por un signo -> (menos, mayor que). Se visualizan los atributos del enlace simbólico.
-u Utiliza la hora del último acceso, en lugar de la hora de la última modificación, para la ordenación (cuando se utiliza con el distintivo -t ) o para la visualización (cuando se utiliza con el distintivo -l ). Este distintivo no tiene ningún efecto si no se utiliza con el distintivo -t o -l , o ambos.
-x Ordena la salida horizontalmente en un formato de varias columnas.
-X Imprime nombres de usuario largos cuando se utilizan con otros distintivos que muestran nombres de usuario. El límite superior viene determinado por el atributo max_logname ODM en las clases de objeto PdAt y CuAt . Si un nombre de usuario es mayor que el atributo max_logname , se truncará al número de caracteres especificado por el atributo max_logname , menos un carácter.
-1 Fuerza la salida en formato de una entrada por línea. Es el valor predeterminado cuando la salida no se dirige a un terminal.
Notas:
  • Si se especifica alguno de los distintivos -l, -n, -s, -go -o , cada archivo que está presente en el directorio va precedido de una línea de estado que indica el número de bloques de sistema de archivos ocupados por archivos.
  • Si el distintivo -k no se especifica junto con ninguno de los -l, -n, -s, -g, o -o , la línea de estado indica el número de bloques de sistema de archivos ocupados por archivos en unidades de 512 bytes.
  • Si se especifica el distintivo -k junto con cualquiera de los -l, -n, -s, -g, o -o , la línea de estado indica el número de bloques de sistema de archivos ocupados por archivos en unidades de 1024 bytes.
  • Además, si es necesario, el número de bloques del sistema de archivos ocupados por archivos en el directorio se redondea al siguiente número integral de unidades.
  • En el entorno local POSIX , el %u\n total es el formato de salida que representa el número de unidades del directorio.

Estado de salida

Este mandato devuelve los siguientes valores de salida:

Elemento Descripción
0 Todos los archivos se han grabado correctamente.
>0 Se ha producido un error.

Seguridad

Atención usuarios de RBAC y usuarios de Trusted AIX: Este comando puede realizar operaciones privilegiadas. Sólo los usuarios con privilegios pueden ejecutar operaciones con privilegios. Para obtener más información sobre autorizaciones y privilegios, consulte Base de datos de comandos privilegiados en Seguridad. Para obtener una lista de los privilegios y las autorizaciones asociadas a este mandato, consulte el mandato lssecattr o el submandato getcmdattr.

Ejemplos

  1. Para listar todos los archivos del directorio actual, escriba:
    ls -a
    Esto lista todos los archivos, incluido . (punto), .. (punto), y otros archivos con nombres que empiezan por un punto.
  2. Para visualizar información detallada, escriba:
    ls   -l chap1  .profile
    Muestra un listado largo con información detallada sobrechap1y.profile.
  3. Para visualizar información detallada sobre un directorio, escriba:
    ls   -d   -l  .  manual  manual/chap1
    Muestra un listado largo para los directorios.ymanualy para el archivomanual/chap1. Sin el distintivo -d , esto listaría los archivos en el.ymanualen lugar de la información detallada sobre los propios directorios.
  4. Para listar los archivos en orden de hora de modificación, escriba:
    ls   -l -t
    Esto muestra una lista larga de los archivos que se han modificado más recientemente, seguidos de los archivos más antiguos.
  5. Para visualizar información detallada con el nombre de usuario y grupo expandido, escriba:
    ls  -lX .profile
    Esto muestra un listado largo con información detallada sobre .profile.
  6. Para visualizar datos sobre si se han establecido atributos ampliados para los archivos en el directorio actual, escriba:
    ls -U
    • Para versiones AIX® 5.3 y anteriores:

      Salida de ejemplo:

        -rwSr-x---+   1 root     system           28 Apr 29 03:23 only_aixc
        -rwSr-x---E   1 root     system            4 Apr 29 03:23 only_aixc_ea
        -rw-r--r--E   1 root     system            4 Apr 29 03:23 only_ea
        ----------+   1 root     system          265 Apr 29 03:23 only_nfs4
        ----------E   1 root     system           64 Apr 29 03:23 only_nfs4_ea
        -rw-r--r---   1 root     system            4 Apr 29 03:23 only_regular
    • Para los releases AIX 6.1 y posteriores:

      Salida de ejemplo:

        -rwSr-x---+    1 root     system           28 Apr 29 03:23 only_aixc
        -rwSr-x---E    1 root     system            4 Apr 29 03:23 only_aixc_ea
        -rw-r--r--E    1 root     system            4 Apr 29 03:23 only_ea
        ----------+    1 root     system          265 Apr 29 03:23 only_nfs4
        ----------E    1 root     system           64 Apr 29 03:23 only_nfs4_ea
        -rw-r--r---    1 root     system            4 Apr 29 03:23 only_regular
        -rwxrwxr-xe    2 root     system          256 May 25 16:27 encry_ex 
  7. Para visualizar información sobre el número de bloques del sistema de archivos en unidades de 512 bytes para los archivos del directorio actual, escriba:
    ls -l
    Salida de ejemplo:
    total 16
    -rw-r--r--    1 root     system           22 Feb 05 05:29 sample1
    -rw-r--r--    1 root     system           12 Feb 05 05:29 sample2
  8. Para visualizar información sobre el número de bloques del sistema de archivos en unidades de 1024 bytes para los archivos del directorio actual, escriba:
     ls -lk
    Salida de ejemplo:
    total 8
    -rw-r--r--    1 root     system           22 Feb 05 05:29 sample1
    -rw-r--r--    1 root     system           12 Feb 05 05:29 sample2

Archivos

Elemento Descripción
/usr/bin/ls Contiene el mandato ls .
/etc/passwd Contiene ID de usuario.
/etc/group Contiene ID de grupo.
/usr/share/lib/terminfo/* Contiene información de terminal.