Por un lado, --help
no es un comando, es un argumento que a menudo se le da a to un comando para obtener ayuda para usarlo. Mientras tanto, man
es un comando, abreviatura de "manual". Muchos programas instalan páginas de manual y son una forma común de encontrar ayuda sobre comandos, así como llamadas al sistema (por ejemplo, fork()
).
Si un programa instala una página de manual, siempre se puede acceder a ella a través del man
comando, mientras que --help
es solo una convención común, pero no es necesario aplicarla; podría ser solo (y únicamente) -h
.
man
también suele utilizar un buscapersonas, como less
, automáticamente, lo que puede facilitar mucho la visualización y búsqueda de la información.
Finalmente, menciona la programación de Bash en su pregunta; nada de esto es exclusivo de Bash. A Bash no le importan los comandos en sí ni sus argumentos en su mayor parte.
En la mayoría de los escenarios man
es más detallado que --help
. help
da las opciones de línea de comando para un comando en particular. Pero man
es mucho más detallado.
Más man
es una herramienta de línea de comandos en sí misma, mientras que --help
es un argumento de línea de comandos para una herramienta. Pequeña diferencia.
En el primero, le pide al sistema que busque en las páginas del manual ayuda sobre el comando. En el segundo, le está pidiendo al comando que brinde su propia ayuda. Seguramente los dos diferirán; por lo general, el comando proporciona un recordatorio de sus opciones, mientras que la página del manual es una descripción detallada.