Cómo leer el uso de Unix

16

Hice algunas búsquedas, pero no puedo encontrar documentación sobre cómo funciona el uso de Unix . Sé algo (principalmente a través de prueba y error) pero, por ejemplo, ¿cómo sé que

/usr/bin/ls  [-aAbcCdeEfFghHilLmnopqrRstuvVx1@] [file]...

significa que puedes incluir más de una opción? Es decir,

ls -la

¿Dónde hay documentación sobre cuál es la sintaxis de uso?

Sixtyfootersdude
fuente
POSIX tiene algo que decir sobre cómo deberían formatearse las pantallas de uso / ayuda, pero más allá de las utilidades principales (GNU), pocos lo siguen de manera consistente.
Tim Post
@Tim, no tengo nada de uso allí.
sixtyfootersdude
(por favor, no tome esto como una publicación RTFM, es más un comentario divertido) en realidad puede ejecutar 'man man' y desplazarse hacia abajo para encontrar las directrices de sintaxis.
ThinkBonobo

Respuestas:

34

Es cierto que no hay RFC ni nada, pero no se aleja demasiado si sigue estas pautas:

  1. Cualquier cosa entre corchetes < >significa que se requiere la opción:
    <foo>

  2. Cualquier cosa entre corchetes [ ]significa que la opción es opcional:
    [bar]

  3. Las opciones separadas por una tubería |significan que esos son los valores válidos:
    --baz=one|two|three

  4. Las opciones de una letra comienzan con un guión:
    -a

  5. Las opciones de varias letras comienzan con dos guiones:
    --foo-bar

  6. (basado en el n. ° 4) Un solo guión con varias letras generalmente significa la unión de esas opciones individuales de una letra en lugar de una opción de varias letras. No todos los comandos admiten ese tipo de unión. Ejemplo:
    -aAbBcCes lo mismo que-a -A -b -B -c -C

frankc
fuente
1
hombre hombre o hombre 5 hombre
mpez0
1
No hay RFC, pero existen las especificaciones POSIX , que incluyen Convenciones de utilidad
Comodín
6

No existe una estructura estricta para las páginas man, pero lo siguiente cubre la mayoría de los comandos.

De PÁGINAS MANUALES (5), Manual de Formatos de Archivo BSD , sección "Sintaxis de página manual"

En la sintaxis de la página manual, cualquier cosa en una fuente de texto normal es texto obligatorio. Cualquier cosa en una fuente en negrita es una bandera o un subcomando. Cualquier cosa subrayada es un argumento especificado por el usuario, como un nombre de archivo.

Cualquier argumento entre paréntesis se considera opcional. Por ejemplo, [nombre de archivo] indicaría un argumento opcional de nombre de archivo.

Los indicadores, argumentos o subcomandos separados por un separador vertical (|) son mutuamente excluyentes. Por ejemplo, si -a activa una opción y -b desactiva la opción, la sintaxis de este comando podría ser -a | -si.

En algunos casos, incluso puede ver grupos enteros de argumentos entre paréntesis y separados por un separador vertical. Esta es una forma de mostrar que un comando tiene más de una sintaxis válida. En otras páginas del manual, esto se expresa al tener varias líneas en la sinopsis, cada una de las cuales comienza con el nombre del comando. El formato separado es más común (y más legible), pero no siempre es posible para comandos con una sintaxis particularmente compleja.

Finalmente, la convención de notación más importante es el uso de puntos suspensivos (...). Esto indica que se pueden agregar argumentos adicionales en este punto.

Peter Mortensen
fuente
5

Las líneas de uso no siguen nada consistente.

Debe usar man lso info lspara obtener un nivel de información más consistente.

clahey
fuente