GNU/Linux >> Tutoriales Linux >  >> Linux

¿Cómo saber si la página de manual que estoy viendo es la correcta?

Por ejemplo,

[fakename]$ type echo
echo is a shell builtin

Pero man echo me da la versión GNU coreutils de echo . ¿Cuál es la forma más fácil de saber si la página de manual que estoy viendo es la correcta, es decir, la de la utilidad que obtendría si la invocara directamente?

Respuesta aceptada:

No lo haces, de verdad. No sin conocimientos externos a la página de manual.

En el caso de echo (y printf y test , …), a menudo es un shell integrado, por lo que deberá saberlo y leer la documentación del shell. (Y echo es notoriamente diferente en diferentes implementaciones, use printf en su lugar.)

En la mayoría, si no en todos los shells, puede encontrar si algo está integrado con type command , p.ej. type echo imprimirá echo is a shell builtin . (type está especificado por POSIX pero p. fish también lo admite, aunque no sea POSIXy). En Bash, entonces leería man bash , la documentación en línea, o use el comando incorporado help (que es específico de Bash y que necesita saber que existe).

Incluso si el comando es no un incorporado, es posible que haya varios comandos con el mismo nombre, rename siendo un ejemplo famoso (consulte ¿Por qué la utilidad de cambio de nombre en Debian/Ubuntu es diferente a la de otras distribuciones, como CentOS?). Ahora, su sistema operativo debe tener la página de manual correcta para la utilidad realmente instalada y, p. en Debian, el sistema de "alternativas" actualiza las correspondientes páginas man también cuando se cambian las alternativas de comando. Pero si lee una página de manual en línea, deberá conocerla.

Muchas utilidades tienen una opción de línea de comando como --version lo que podría decirle qué implementación es ese comando. (Pero no casi todas las utilidades lo tienen. Creo que originalmente es un GNUismo, por lo que las utilidades de GNU lo tienen, así como aquellas que copiaron la costumbre). En el caso de rename , funciona al diferenciar dos implementaciones diferentes:

debian$ rename --version
/usr/bin/rename using File::Rename version 0.20
centos$ rename --version
rename (util-linux-ng 2.17.2)

Además de eso, su sistema puede tener un alias o una función con el mismo nombre de una utilidad, generalmente para modificar el comportamiento de la utilidad. En ese caso, es posible que no se apliquen los valores predeterminados presentados en una página de manual. Alias ​​para ls son comunes, al igual que los alias que agregan -i a rm o mv . Pero type foo también te diría si foo es un alias o función.

Relacionado:¿Por qué no puedo obtener la salida pgrep directamente a la variable en el script bash?
Linux
  1. ¿Qué significan los números en una página man?

  2. ¿Cómo duplicar la salida estándar de una terminal a otra?

  3. ¿Cómo saber si estoy arrancando usando Uefi?

  4. Cómo agregar una entrada en la base de datos de la página del manual de Linux

  5. ¿Cómo mostrar el contenido del archivo de forma recursiva?

Cómo encontrar la página man más larga en Linux

Cómo cambiar el color de salida de 'Echo' en Linux

¿Cómo agregar entradas a la página de manual para las propias herramientas eléctricas?

Debian vs Ubuntu:15 cosas que debe saber antes de elegir la mejor

Cómo saber los grupos de un usuario de Linux

Cómo agregar navegación personalizada a la página de inicio de ONLYOFFICE