0 votos

Ls -g: 'man ls' dice que la opción -g no tiene efecto, pero funciona

MacOS 14.3, zsh 5.9 (x86_64-apple-darwin23.0). man ls:

-g: Esta opción no tiene efecto. Solo está disponible por compatibilidad con 4.3BSD, donde se usaba para mostrar el nombre del grupo en la salida en formato largo (-l).

Pero definitivamente funciona.

ls -l:

-rw-r--r--@ 1 john  staff   0 Mar 13 09:06 file1.txt
-rw-r--r--@ 1 john  staff   0 Mar 13 09:06 file2.txt
drwxr-xr-x  2 john  staff  64 Mar 13 09:06 folder1
drwxr-xr-x  2 john  staff  64 Mar 13 09:06 folder2

ls -g:

-rw-r--r--@ 1 staff   0 Mar 13 09:06 file1.txt
-rw-r--r--@ 1 staff   0 Mar 13 09:06 file2.txt
drwxr-xr-x  2 staff  64 Mar 13 09:06 folder1
drwxr-xr-x  2 staff  64 Mar 13 09:06 folder2

y ls -go:

-rw-r--r--@ 1    0 Mar 13 09:06 file1.txt
-rw-r--r--@ 1    0 Mar 13 09:06 file2.txt
drwxr-xr-x  2   64 Mar 13 09:06 folder1
drwxr-xr-x  2   64 Mar 13 09:06 folder2

¿Cómo es posible esto? ¿Y es seguro utilizar ls -g en scripts en el futuro?

3voto

David Anderson Puntos 2189

Mientras que la salida de man ls para la opción -g ha cambiado con el lanzamiento de Monterey, el comportamiento con respecto a las opciones -g y -o no ha cambiado desde al menos Snow Leopard. Básicamente, la descripción anterior probablemente sea mejor que la descripción actual. Como Allan ya mencionó en un comentario: nada es "a prueba de futuro". Algunos detalles se proporcionan a continuación.

El OP ofreció una descripción parcial. La descripción completa se muestra a continuación.

     -g      Esta opción no tiene efecto. Solo está disponible por
             compatibilidad con 4.3BSD, donde se utilizaba para mostrar el nombre del grupo
             en la salida en formato largo (-l). Esta opción es incompatible
             con IEEE Std 1003.1-2008 (“POSIX.1”).

La descripción completa desde Leopard 10.5 hasta Big Sur 13.5 se muestra a continuación.

     -g      Esta opción solo está disponible por compatibilidad con POSIX; se
             utiliza para mostrar el nombre del grupo en la salida en formato largo
             (el nombre del propietario se suprime).

A pesar de no ser parte de IEEE Std 1003.1-2008, lo siguiente se muestra en las ls especificaciones.

ls

El actual IEEE Std 1003.1-2017 (Revisión de IEEE Std 1003.1-2008) tiene lo siguiente para las ls especificaciones.

current ls

El comportamiento mostrado en la pregunta del OP ha sido probado (por mí) y es el mismo en las siguientes versiones de OS X/macOS:

  • Ventura 13.3.1 (a)
  • Monterey 12.5
  • Catalina 10.15.7
  • High Sierra 10.13.6
  • Snow Leopard 10.6

Por cierto, la salida de man ls para la opción -o tampoco ha cambiado desde Leopard 10.5.

     -o      Lista en formato largo, pero omite el id del grupo.

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X