Comprensión de los comandos de Shell fácilmente mediante el script "Explicar Shell" en Linux


Mientras trabajamos en la plataforma Linux, todos necesitamos ayuda con los comandos de shell, en algún momento. Aunque la ayuda incorporada como las páginas de manual, el comando whatis es útil, pero la salida de las páginas de manual es demasiado larga y hasta que uno tenga alguna experiencia con Linux, es muy difícil obtener ayuda de páginas de manual masivas. La salida del comando whatis rara vez es de más de una línea, lo que no es suficiente para los principiantes.

Hay aplicaciones de terceros como "trampa", que hemos cubierto aquí "Hoja de referencia de la línea de comandos para usuarios de Linux". Aunque Cheat es una aplicación excepcionalmente buena que muestra ayuda en el comando de shell incluso cuando la computadora no está conectada a Internet, muestra ayuda solo en comandos predefinidos.

Hay un pequeño fragmento de código escrito por Jackson que es capaz de explicar los comandos de shell dentro del shell bash de manera muy efectiva y adivina cuál es la mejor parte: no necesitas instalar ningún paquete de terceros. Llamó al archivo que contiene este fragmento de código como explica.sh .

  1. Fácil incrustación de código.
  2. No es necesario instalar ninguna utilidad de terceros.
  3. Muestra solo la información suficiente en el curso de la explicación.
  4. Requiere conexión a Internet para funcionar.
  5. Utilidad de línea de comandos pura.
  6. Capaz de explicar la mayoría de los comandos de shell en bash shell.
  7. No se requiere la participación de la cuenta raíz.

El único requisito es el paquete curl . En la mayoría de las distribuciones de Linux más recientes, el paquete curl viene preinstalado, si no, puede instalarlo usando el administrador de paquetes como se muestra a continuación.

# apt-get install curl 	[On Debian systems]
# yum install curl 		[On CentOS systems]

Instalación de la utilidad explica.sh en Linux

Tenemos que insertar el siguiente fragmento de código tal como está en el archivo ~/.bashrc . El código debe insertarse para cada usuario y cada archivo .bashrc . Se sugiere insertar el código en el archivo .bashrc del usuario únicamente y no en el .bashrc del usuario root.

Observe que la primera línea de código que comienza con hash (#) es opcional y se agrega solo para diferenciar el resto de los códigos de .bashrc.

#explica.sh marca el comienzo de los códigos, estamos insertando en el archivo .bashrc en la parte inferior de este archivo.

# explain.sh begins
explain () {
  if [ "$#" -eq 0 ]; then
    while read  -p "Command: " cmd; do
      curl -Gs "https://www.mankier.com/api/explain/?cols="$(tput cols) --data-urlencode "q=$cmd"
    done
    echo "Bye!"
  elif [ "$#" -eq 1 ]; then
    curl -Gs "https://www.mankier.com/api/explain/?cols="$(tput cols) --data-urlencode "q=$1"
  else
    echo "Usage"
    echo "explain                  interactive mode."
    echo "explain 'cmd -o | ...'   one quoted command to explain it."
  fi
}

Funcionamiento de la utilidad explica.sh

Después de insertar el código y guardarlo, debe cerrar la sesión actual y volver a iniciar sesión para que los cambios surtan efecto. El comando "curl" se encarga de todo y transfiere el comando de entrada y el indicador que necesitan explicación al servidor mankier y luego imprime solo la información necesaria en la línea de comandos de Linux. Sin mencionar que para usar esta utilidad debes estar siempre conectado a internet.

Probemos algunos ejemplos de comandos cuyo significado no conozco con el guión explica.sh.

1. Olvidé lo que hace "du -h". Todo lo que necesito hacer es:

$ explain 'du -h'

2. Si olvidó lo que hace "tar -zxvf", simplemente haga lo siguiente:

$ explain 'tar -zxvf'

3. Uno de mis amigos a menudo confunde el uso del comando "qué es" y "dónde está", así que le aconsejé.

Vaya al modo interactivo simplemente escribiendo el comando explicar en el terminal.

$ explain

y luego escriba los comandos uno tras otro para ver lo que hacen en una ventana, como:

Command: whatis
Command: whereis

Para salir del modo interactivo, solo necesita hacer Ctrl + c.

4. Puede solicitar una explicación de más de un comando encadenado por canalización.

$ explain 'ls -l | grep -i Desktop'

De manera similar, puede pedirle a su shell que explique cualquier comando de shell. Todo lo que necesita es una conexión a Internet que funcione. La salida se genera en función de la explicación necesaria del servidor y, por lo tanto, el resultado de la salida no se puede personalizar.

Para mí, esta utilidad es realmente útil y ha sido un honor agregarla a mi .bashrc. Déjame saber cuál es tu opinión sobre este proyecto. ¿Cómo te puede resultar útil? ¿Es satisfactoria la explicación?

Envíenos sus valiosos comentarios en los comentarios a continuación. Me gusta y comparte con nosotros y ayúdanos a difundir.