¿Cómo uso las páginas man para aprender a usar comandos?


92

Mientras investigaba otro problema, me encontré con un comando ,

locate something | xargs -I {} bash -c "if [ -d "{}" ]; then echo {}; fi"

sobre el que quería aprender más. Así que corrí man xargsy obtuve el siguiente resultado:

XARGS(1)                    General Commands Manual                   XARGS(1)

NAME
       xargs - build and execute command lines from standard input

SYNOPSIS
       xargs  [-0prtx]  [-E  eof-str] [-e[eof-str]] [--eof[=eof-str]] [--null]
       [-d delimiter] [--delimiter delimiter]  [-I  replace-str]  [-i[replace-
       str]]    [--replace[=replace-str]]   [-l[max-lines]]   [-L   max-lines]
       [--max-lines[=max-lines]] [-n max-args] [--max-args=max-args] [-s  max-
       chars]  [--max-chars=max-chars]  [-P max-procs] [--max-procs=max-procs]
       [--interactive]      [--verbose]      [--exit]      [--no-run-if-empty]
       [--arg-file=file]   [--show-limits]   [--version]   [--help]   [command
       [initial-arguments]]

DESCRIPTION
       This manual page documents the GNU version of xargs...

Estoy tratando de mejorar el uso de la documentación para aprender sobre los programas de Linux, pero esa sección "Sinopsis" es intimidante para los nuevos usuarios. Literalmente parece galimatías en comparación con man locateo man free.

Hasta ahora, entiendo que los corchetes significan opcionales y los corchetes anidados significan opciones en opcionales. Pero, ¿cómo se supone que debo inducir un comando válido con eso?

No estoy pidiendo ayuda con xargs aquí. Estoy buscando ayuda para interpretar una página de manual para comprender comandos complicados. Quiero dejar de hacer de los blogs web indexados por Google y la ayuda personal de otros mi primer enfoque para aprender los comandos de Linux.


17
Continúa leyendo la página del manual. La sección "OPCIONES" explica todas las opciones disponibles en la sección "SINOPSIS".
Juan

77
comenzar conman man
mikeserv

14
La mayoría de las veces, vaya directamente al final y busque una sección de ejemplos.
teppic

99
Y no solo escanee la página del manual en busca de palabras clave. ¡Realmente léelo! Supuestos comportamientos extraños a menudo se explican bien.
FloHelf

66
Después de man manleer man intro.
mikeserv 01 de

Respuestas:


102

Bueno, esta es mi forma muy personal de leer páginas de manual:

El manpager

Cuando se abre una página de manual utilizando el mancomando, se mostrará la salida / prestados por el lesso morelos comandos, o cualquier otro comando que se establece como su buscapersonas (manpager).

Si está utilizando Linux, probablemente se le sirva con su infraestructura de hombre ya configurada para usar /usr/bin/less -is(a menos que haya instalado alguna distribución mínima) como man(1), explique en su sección Opciones:

-P pager
Specify which pager to use. This option overrides the MANPAGER environment variable, 
which in turn overrides the PAGER variable. By default, man uses /usr/bin/less -is.

En FreeBSD y OpenBSD es solo cuestión de editar la MANPAGERvariable de entorno, ya que se utilizarán principalmente more, y podrían faltar algunas características como la búsqueda y el resaltado de texto.

Hay una buena respuesta a la pregunta de qué diferencias more, lessy mosttenemos aquí (nunca utilizada most). La capacidad de desplazarse hacia atrás y hacia adelante por página con Spaceo en ambos sentidos por línea con o (también, mediante vienlaces jy k) es esencial durante la exploración de páginas de manual. Presione hmientras usa lesspara ver el resumen de los comandos disponibles.

Y es por eso que te sugiero que uses lesscomo buscapersonas. lesstiene algunas características esenciales que se utilizarán durante esta respuesta.

¿Cómo se formatea un comando?

Convenciones de utilidad : las especificaciones de Open Group Base Issue 7 - IEEE Std 1003.1, edición 2013. Debe visitar ese enlace antes de intentar comprender una página de manual. Esta referencia en línea describe la sintaxis de argumentos de las utilidades estándar e introduce la terminología utilizada en POSIX.1-2017 para describir los argumentos procesados ​​por las utilidades. Esto también lo mantendrá indirectamente actualizado sobre el significado real de palabras como parámetros, argumentos, opción de argumento ...

El encabezado de cualquier página de manual le parecerá menos críptico después de comprender la notación de las convenciones de utilidad:

utility_name[-a][-b][-c option_argument]
    [-d|-e][-f[option_argument]][operand...]

Ten en cuenta lo que quieres hacer.

Cuando investigaste sobre xargsti lo hiciste con un propósito, ¿verdad? Tenía una necesidad específica que era leer la salida estándar y ejecutar comandos basados ​​en esa salida.

Pero, cuando no sé qué comando quiero?

Uso man -ko apropos(son equivalentes). Si no sé cómo encontrar un archivo: man -k file | grep search. Lea las descripciones y encuentre una que se ajuste mejor a sus necesidades. Ejemplo:

apropos -r '^report'
bashbug (1)          - report a bug in bash
df (1)               - report file system disk space usage
e2freefrag (8)       - report free space fragmentation information
filefrag (8)         - report on file fragmentation
iwgetid (8)          - Report ESSID, NWID or AP/Cell Address of wireless network
kbd_mode (1)         - report or set the keyboard mode
lastlog (8)          - reports the most recent login of all users or of a given user
pmap (1)             - report memory map of a process
ps (1)               - report a snapshot of the current processes.
pwdx (1)             - report current working directory of a process
uniq (1)             - report or omit repeated lines
vmstat (8)           - Report virtual memory statistics

Apropos trabaja con expresiones regulares de forma predeterminada ( man aproposlea la descripción y descubra lo que -rhace), y en este ejemplo busco cada página de manual donde la descripción comienza con "informe".

Para buscar información relacionada con la lectura del procesamiento de entrada / salida estándar y llegar xargscomo una opción posible:

man -k command| grep input
xargs (1)            - build and execute command lines from standard input

Siempre lea el DESCRIPTIONantes de comenzar

Tómese un tiempo y lea la descripción. Simplemente leyendo la descripción del xargscomando aprenderemos que:

  • xargslee desde STDIN y ejecuta el comando necesario. Esto también significa que necesitará tener algún conocimiento de cómo funciona la entrada estándar y cómo manipularla a través de tuberías para encadenar comandos
  • El comportamiento predeterminado es actuar como /bin/echo. Esto le da un pequeño consejo de que si necesita encadenar más de uno xargs, no necesita usar echo para imprimir.
  • También hemos aprendido que los nombres de archivo Unix pueden contener líneas en blanco y nuevas líneas, que esto podría ser un problema y el argumento -0es una forma de evitar que las cosas exploten utilizando separadores de caracteres nulos. La descripción le advierte que el comando que se usa como entrada también debe ser compatible con esta característica, y que GNU lo findes. Excelente. Usamos muchos hallazgos con xargs.
  • xargs se detendrá si se alcanza el estado de salida 255.

Algunas descripciones son muy cortas y generalmente se debe a que el software funciona de una manera muy simple. Ni siquiera pienses en saltarte esta parte de la página de manual ;)

Otras cosas a las que prestar atención ...

Sabes que puedes buscar archivos usando find. Hay un montón de opciones y si solo mira las SYNOPSIS, se sentirá abrumado por ellas. Es solo la punta del iceberg. Excluyendo NAME, SYNOPSISy DESCRIPTION, tendrá las siguientes secciones:

  • AUTHORS: las personas que crearon o ayudaron en la creación del comando.

  • BUGS: enumera cualquier defecto conocido. Podrían ser solo limitaciones de implementación.

  • ENVIRONMENT: Aspectos de su shell que podrían verse afectados por el comando, o variables que se utilizarán.

  • EXAMPLESo NOTES: se explica por sí mismo.

  • REPORTING BUGS: Con quién tendrá que contactar si encuentra errores en esta herramienta o en su documentación.

  • COPYRIGHT: Persona que creó y renuncia de responsabilidad sobre el software. Todo relacionado con la licencia del software en sí.

  • SEE ALSO: Otros comandos, herramientas o aspectos de trabajo que están relacionados con este comando y que no caben en ninguna de las otras secciones.

Probablemente encontrará información interesante sobre los aspectos que desea de una herramienta en la sección de ejemplos / notas.

Ejemplo

En los siguientes pasos tomaré findcomo ejemplo, ya que sus conceptos son "más simples" que xargsexplicar (un comando busca archivos y el otro trata con la ejecución estándar y canalizada de la salida de otro comando). Supongamos que no sabemos nada (o muy poco) sobre este comando.

Tengo un problema específico que es: tengo que buscar cada archivo con la .jpgextensión, y con 500 KB (KiB = 1024 byte, comúnmente llamado kibibyte), o más de tamaño dentro de una carpeta de servidor ftp.

En primer lugar, abrir el manual: man find. El SYNOPSISes delgado. Busquemos cosas dentro del manual: escriba /más la palabra que desee ( size). Indexará muchas entradas -sizeque contarán tamaños específicos. Quedó atascado. No sé cómo buscar con "más que" o "menos que" un tamaño determinado, y el hombre no me lo muestra.

Intentemos y busquemos la siguiente entrada encontrada al presionar n. OKAY. Encontrado algo interesante: find \( -size +100M -fprintf /root/big.txt %-10s %p\n \). Tal vez este ejemplo nos muestra que con -size +100Mél encontrará archivos con 100 MB o más. ¿Cómo podría confirmarlo? Ir a la cabeza de la página de manual y buscar otras palabras.

De nuevo, intentemos la palabra greater. Presionar gnos llevará a la cabeza de la página de manual. /greater, y la primera entrada es:

 Numeric arguments can be specified as

    +n     for **greater** than n,

    -n     for less than n,

     n      for exactly n.

Suena genial. Parece que este bloque del manual confirmó lo que sospechábamos. Sin embargo, esto no solo se aplicará a los tamaños de archivo. Se aplicará a cualquiera nque se encuentre en esta página de manual (como dice la frase: "Los argumentos numéricos se pueden especificar como").

Bueno. Vamos a encontrar una manera de filtrar por nombre: g /insensitive. ¿Por qué? ¿Insensible? Wtf? Tenemos un servidor ftp hipotética, donde la gente que "Otro sistema operativo" podría dar un nombre de archivo con extensiones como .jpg, .JPG, .JpG. Esto nos llevará a:

-ilname pattern
              Like  -lname,  but  the  match  is  case insensitive.  If the -L
              option or the -follow option is in  effect,  this  test  returns
              false unless the symbolic link is broken.

Sin embargo, después de buscar lname, verá que esto solo buscará enlaces simbólicos. Queremos archivos reales. La siguiente entrada:

   -iname pattern
          Like -name, but the match is case insensitive.  For example, the
          patterns `fo*' and `F??' match  the  file  names  `Foo',  `FOO',
          `foo',  `fOo',  etc.   In these patterns, unlike filename expan‐
          sion by the shell, an initial '.' can be matched by  `*'.   That
          is, find -name *bar will match the file `.foobar'.   Please note
          that you should quote patterns as a matter of course,  otherwise
          the shell will expand any wildcard characters in them.

Excelente. Ni siquiera necesito leer -namepara ver si esa -inamees la versión insensible de este argumento. Vamos a armar el comando:

Mando: find /ftp/dir/ -size +500k -iname "*.jpg"

Lo que está implícito aquí: El conocimiento de que el comodín ?representa "cualquier carácter en una sola posición" y *representa "cero o más de cualquier carácter". El -nameparámetro le dará un resumen de este conocimiento.

Consejos que se aplican a todos los comandos

Algunas opciones, mnemotécnicos y "estilo de sintaxis" viajan a través de todos los comandos, lo que le hace ganar algo de tiempo al no tener que abrir la página de manual. Estos se aprenden mediante la práctica y los más comunes son:

  • En general, -vsignifica detallado. -vvves una variación "muy muy detallada" en algunos programas.
  • Siguiendo el estándar POSIX, generalmente se pueden apilar argumentos de un guión. Ejemplo: tar -xzvf, cp -Rv.
  • Generalmente -Ry / o -rsignifica recursivo.
  • Casi todos los comandos tienen una breve ayuda con la --helpopción.
  • --version muestra la versión de un software.
  • -p, en las utilidades de copiar o mover significa "preservar permisos".
  • -y significa SÍ, o "proceder sin confirmación" en la mayoría de los casos.

Tenga en cuenta que lo anterior no siempre es cierto. Por ejemplo, el -rcambio puede significar cosas muy diferentes para un software diferente. Siempre es una buena idea verificar y asegurarse de que un comando pueda ser peligroso, pero estos son valores predeterminados comunes.

Valores predeterminados de los comandos.

En el bloque de buscapersonas de esta respuesta, vimos que less -ises el buscapersonas man. El comportamiento predeterminado de los comandos no siempre se muestra en una sección separada en las páginas de manual, o en la sección que está más arriba.

Tendrá que leer las opciones para averiguar los valores predeterminados, o si tiene suerte, escribir /pagerle llevará a esa información. Esto también requiere que conozca el concepto del localizador (software que desplaza la página de manual), y esto es algo que solo adquirirá después de leer muchas páginas de manual.

¿Por qué es eso importante? Esto abrirá su percepción si encuentra diferencias en el comportamiento de desplazamiento y color mientras lee man(1)en Linux ( less -islocalizador) o FreeBSD, man(1)por ejemplo.

¿Y qué hay de la SYNOPSISsintaxis?

Después de obtener toda la información necesaria para ejecutar el comando, puede combinar opciones, argumentos de opción y operandos en línea para hacer su trabajo. Resumen de conceptos:

  • Las opciones son los interruptores que dictan un comportamiento de comando. " Haz esto ", " no hagas esto " o " actúa de esta manera ". A menudo se llama interruptores.
  • Los argumentos de opción se usan en la mayoría de los casos cuando una opción no es binaria (activar / desactivar) como -ten el montaje, que especifica el tipo de un sistema de archivos ( -t iso9660, -t ext2). " Haz esto con los ojos cerrados " o " alimenta a los animales, pero solo a los leones ". También se llama argumentos.
  • Los operandos son cosas sobre las que desea que actúe ese comando. Si lo usa cat file.txt, el operando es un archivo dentro de su directorio actual, y su contenido se mostrará en STDOUT. lses un comando donde un operando es opcional. Los tres puntos después del operando implícitamente le dicen que catpuede actuar en múltiples operandos (archivos) al mismo tiempo. Puede notar que algunos comandos han establecido qué tipo de operando usará. Ejemplo:cat [OPTION] [FILE]...

Sinopsis relacionada:

¿Cuándo no funcionará este método?

  • Páginas de manual que no tienen ejemplos
  • Páginas de manual donde las opciones tienen una breve explicación
  • Cuando se utiliza como palabras clave genéricas and, to, fordentro de las páginas de manual
  • Páginas de manual que no están instaladas. Parece obvio, pero si no tiene lftp(y sus páginas de manual) instaladas, no puede saber que es una opción adecuada como cliente ftp más sofisticado ejecutandoman -k ftp

En algunos casos, los ejemplos serán bastante simples, y tendrá que hacer algunas ejecuciones de su comando para probar, o en el peor de los casos, buscarlo en Google.

Otros: lenguajes de programación y sus módulos:

Si está programando o simplemente creando scripts, tenga en cuenta que algunos lenguajes tienen sus propios sistemas de páginas de manual, como perl( perldocs), python ( pydocs), etc., que contienen información específica sobre métodos / funciones, variables, comportamiento y otra información importante sobre el módulo Estás tratando de usar y aprender. Esto fue útil para mí cuando estaba creando un script para descargar correos electrónicos IMAP no leídos usando el perl Mail::IMAPClientmódulo.

Tendrá que descubrir esas páginas de manual específicas mediante el uso man -ko la búsqueda en línea. Ejemplos:

[root@host ~]# man -k doc | grep perl
perldoc              (1)  - Look up Perl documentation in Pod format


[root@host ~]# perldoc Mail::IMAPClient
IMAPCLIENT(1)         User Contributed Perl Documentation        IMAPCLIENT(1)

NAME
       Mail::IMAPClient - An IMAP Client API

SYNOPSIS
         use Mail::IMAPClient;

         my $imap = Mail::IMAPClient->new(
           Server   => ’localhost’,
           User     => ’username’,
           Password => ’password’,
           Ssl      => 1,
           Uid      => 1,
         );

... toneladas de otras cosas aquí, con secciones como una página de manual normal ...

Con python:

[root@host ~]# pydoc sys
Help on built-in module sys:

NAME
    sys

FILE
    (built-in)

MODULE DOCS
    http://www.python.org/doc/current/lib/module-sys.html

DESCRIPTION
    This module provides access to some objects used or maintained by the
    interpreter and to functions that interact strongly with the interpreter.
...again, another full-featured manpage with interesting info...

O bien, la función help()dentro de Python Shell si desea leer más detalles de algún objeto:

nwildner@host:~$ python3.6
Python 3.6.7 (default, Oct 21 2018, 08:08:16)
[GCC 8.2.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> help(round)

Help on built-in function round in module builtins:

round(...)
    round(number[, ndigits]) -> number

    Round a number to a given precision in decimal digits (default 0 digits).
    This returns an int when called with one argument, otherwise the
    same type as the number. ndigits may be negative.

Bonificación: el wtfcomando puede ayudarlo con las siglas y funciona como whatissi no se encontraran siglas en su base de datos, pero lo que está buscando es parte de la base de datos man. En Debian, este comando es parte del bsdgamespaquete. Ejemplos:

nwildner@host:~$ wtf rtfm
RTFM: read the fine/fucking manual
nwildner@host:~$ wtf afaik
AFAIK: as far as I know
nwildner@host:~$ wtf afak
Gee...  I don't know what afak means...
nwildner@host:~$ wtf tcp
tcp: tcp (7)              - TCP protocol.
nwildner@host:~$ wtf systemd
systemd: systemd (1)          - systemd system and service manager

También puedes hacer man find | grep .... Me gustaman command | sed -n '/^[[:space:]]*-/,/^$/p'
mikeserv 01 de

66
Sip. Usted puede. Solo estaba asumiendo que el operador es "novato" e intentando comenzar con las páginas de manual :)

3
Esta respuesta debe ser el resultado principal de "¿Cómo uso efectivamente man?" Gracias y bien hecho.
user1717828

8
@nwildner, te mereces un dulce después de una respuesta tan enorme y bien formateada. ¡Buen trabajo!
Willian Paixao

66
Creo que esto debería agregarse a Linux. Como una manpágina por supuesto.
myaut

38

Esto se explica muy bien en man man:

   The following conventions apply to the SYNOPSIS section and can be used
   as a guide in other sections.

   bold text          type exactly as shown.
   italic text        replace with appropriate argument.
   [-abc]             any or all arguments within [ ] are optional.
   -a|-b              options delimited by | cannot be used together.

   argument ...       argument is repeatable.
   [expression] ...   entire expression within [ ] is repeatable.

En cuanto a cómo se supone que debes escribir un comando válido a partir de eso, bueno, no lo eres. La sinopsis es útil una vez que sabes cómo funciona un comando. Puede ayudarte a refrescar tu memoria. Para entender cómo funciona el comando, debe leer la página del manual. Especialmente las descripciones de las opciones y la sección de ejemplos.

A veces la sinopsis es suficiente. Por ejemplo, en man ls:

SYNOPSIS
       ls [OPTION]... [FILE]...

Otras veces, es inútil a menos que ya sepa cómo usar el comando en cuestión. Por ejemplo man dd:

   dd [OPERAND]...
   dd OPTION

En conclusión, no se preocupe si no obtiene la sinopsis. Eso es normal. Lea la página del manual en sí.


Gracias por el consejo, especialmente el párrafo "En cuanto a cómo ...".
user1717828

21

Algunos conceptos básicos para comprender la sinopsis.

  • cada uno [foo]representa un argumento o parámetro opcional.
  • cuando [foo [ bar ] ]se usa la sintaxis, puede usar foo, y puede agregar barra.
  • El parámetro de opción obligatoria se utiliza de esta manera [ -S size ], lo que indica que el argumento -S está esperando un tamaño obligatorio.

Por ejemplo : foo [-S size ] filename ...

medio

  • el comando es foo
  • -Sse puede usar el parámetro opcional , tienes que decirlo size(el nombre te da una pista)
  • argumento obligatorio es filename(esto también le da una pista, ver man mkdir)
  • elipsis ...te dice que puedes usar múltiples archivos.

Todavía tiene que ir en profundidad a la página del manual para comprender la opción (en mi caso de muestra anterior, de qué -S sizese trata)


14

manpáginas normalmente se muestran con lesshoy en día. Eso hace posible buscar a través de ellos. No me molestaría con la sinopsis, especialmente no porque tengas una línea de comando particular que quieras entender.

Presiona /y comienza a escribir -Iy luego Enter. El primer golpe estará en la sinopsis, el segundo (uso npara el siguiente) le proporciona la explicación detallada -I.


11

Una cosa clave para recordar es que no solo puede mirar el manual para un comando, en el caso de comandos que ejecutan otros comandos.

Para su comando de ejemplo

locate something | xargs -I {} bash -c "if [ -d "{}" ]; then echo {}; fi"

Necesita información no solo xargssino también bashy [(esto puede estar en la página de testmanual). También puede necesitar información en su shell (probablemente también bash) para las reglas de comillas, ya que su comando incluye una cadena de comillas compleja. Ya puedo decirle que el argumento citado es incorrecto (y erróneo de una manera que solo aparecerá cuando encuentre un archivo con espacios en el nombre); lo interno "{}"probablemente debería ser '{}'.

Entonces, primero debe consultar la página de manual de xargs y ver [-I replace-str]qué -I {}significa, y [command [initial-arguments]]qué bashy todo lo que significa después. Luego, se referirá a la página de bashmanual para saber qué -chace, etc.


6

Agregando a las excelentes respuestas ya dadas:

1) Si está interesado en una utilidad gnu, especialmente las que le gustan sedy grep, a veces, usar el infocomando le mostrará una versión muy ampliada de la información del comando. sed, por ejemplo, tiene una sección detallada sobre cómo escribir expresiones regulares y otra sección con algunos ejemplos de uso muy complejos.

2) Es un "manual". Un manual está diseñado principalmente para ayudarlo a recordar los detalles de algo que ya comprende. Está diseñado para que pueda obtener los detalles que necesita rápidamente y salir. (Y demasiados no tienen ejemplos de uso o solo triviales).

Cuando tengo que aprender algo nuevo, incluso una pequeña función de un comando que no está claro para mí, voy a la web y búsqueda usando las mejores palabras clave que se me ocurre (por ejemplo Linux xargs) y añadir la palabra howto, exampleso tutorial. Esto a menudo es bastante productivo.

Usualmente uso duckduckgo porque mantiene mi privacidad, pero si necesito un mayor control de mis búsquedas, uso Google porque puedo decirle que solo busque dentro de un sitio web o que solo devuelva resultados del último año. (Tiene muchas otras opciones de Búsqueda avanzada. Puedes buscarlas en Google.))

Otro consejo:

Para los comandos a los que hago referencia a menudo, guardo la página de manual en un archivo de texto

man bash > bashman.txt

y cargar ese archivo en otra ventana en mi editor de texto para que pueda voltear hacia adelante y hacia atrás, copiar y pegar, etc. Por lo general, hago que el archivo sea de solo lectura, por lo que no termino destrozándolo por accidente, pero como es mi copia personal, podría editarlo de la forma que desee, agregando etiquetas para poder encontrar una sección más fácilmente o incluso agregar mis propias notas o ejemplos.

El único inconveniente de esto es que la página de manual original puede actualizarse y mi copia es estática.


4

Para obtener una ayuda rápida con su comando específico, puede usar Explain Shell . Por ejemplo, tu orden . Después de obtener la primera comprensión de alto nivel de cómo funciona esto, debe continuar con las páginas de manual como recomiendan otras respuestas.


2

Hay herramientas útiles para aprender más sobre los comandos de Linux:

  1. cheatmostrará la opción de uso frecuente para una línea de comando. También puede agregar el suyo command + optionpara mostrarlo mediante cheatun comando específico.
  2. bropagesla herramienta proporciona algún ejemplo para una línea de comando, es posible agregar su propio ejemplo o votar a favor o en contra el ejemplo dado después de obtener el código de verificación bro thanks. El comando debe votarse aparecerá en la parte superior de la bropágina.

1

Sugiero tldruna herramienta integral similar al hombre. Páginas man simplificadas y dirigidas por la comunidad. En Ubuntu puedes instalarlo a través de snap, pero también tiene versiones para otras distribuciones. También le proporciona varios usos de ejemplo comunes. 100% recomendado


0

> Estoy buscando ayuda para interpretar una página de manual para comprender comandos complicados.

Creo que ese es el malentendido aquí. Lo que hace que Linux / UNIX sea tan poderoso es que puede construir comandos muy largos y efectivos, por ejemplo, redirigiendo el stdout de un comando (aquí locate) al stdin de otro (aquí, xargs) a través de una tubería ( |). Por lo tanto, como Random832 dijo correctamente, no encontrará una sola página de manual que explique lo que hace su comando de ejemplo.

Le recomiendo que lea una guía de scripts de shell de Linux; La Guía avanzada de secuencias de comandos Bash es un documento excelente. Por favor, no te dejes intimidar por ello; dominar Linux requiere años y es un proceso interminable, pero puedes aprender los conceptos básicos en un tiempo razonable.

Luego, consulte las páginas de manual cuando necesite conocer los detalles de un comando específico.

Una vez que hayas entendido, vale la pena leer Commandlinefu y Bash One-Liners para obtener buenos ejemplos.


-1

Para buscar algo en particular en los comandos de una página de manual, puede usar:

man echo | grep output.

Pero para buscar interruptores (por ejemplo -n), debe usarlo de esta manera:

man echo | grep -- -n
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.