Aprendiendo Bash

Publicado el 08.05.2021 a las 16:45

Aprendiendo Bash

Aprendiendo Bash


Comandos Bash más importantes para moverte por la terminal de Unix con soltura

He tenido que ponerme las pilas con Bash por necesidad, y es que he tenido que conectarme a un servidor que tengo en Azure por SSH porque no había manera de entrar por RDP (escritorio remoto).


SSH (Secure SHell) es un protocolo parecido a Telnet con la gran diferencia que el canal empleado es seguro. Ya hablaré en otro artículo sobre SSH.


El tema es que necesitaba gestionar un servidor en Azure y como no podía por RDP lo hice con SSH que no es otra cosa que gestionar el servidor con la consola o terminal.

¿Qué programa de consola utilizo?

Utilizo Windows y la consola de comandos que uso es la de Git, Git Bash. Además, como todo desarrollador de software debería de tener Git pues me ahorro de instalar ninguna consola Unix.

Comandos

Aquí tienes los comandos más comunes:

  • Con pwd verás el directorio actual. Equivale al comando cd de la consola de Windows.

  • Con ls verás el contenido del directorio de trabajo actual. Equivale a ejecutar dir en un terminal de host de consola de Windows. Con el flag -a verás todas las carpetas y archivos ocultos.

  • Con ll verás más detalles de los fichero del directorio actual. Con el flag -a verás todas las carpetas y archivos ocultos.

  • Con cd nombre-directorio (cambiar directorio) podrás navegar al directorio deseado.

  • Con cd .. navegarás al directorio inmediatamente superior.

  • Con cd d: navegarás al disco d.

  • Con nano nombre-archivo abrirás el archivo nombre-archivo con el editor nano.

  • Con mkdir nombre-directorio creas un nuevo directorio.

  • Con touch nombre-archivo creas un nuevo archivo.

  • Con rm nombre-archivo borras el archivo nombre-archivo. Ten cuidado con este comando porque el archivo no irá a la papelera, lo borras del disco y ya está.

  • Con rm -r nombre-directorio borras el directorio nombre-directorio y todo su contenido. El flag -r hace referencia a recursivo (para eliminar todos los elementos del interior del directorio).Ten cuidado con este comando porque el archivo no irá a la papelera, lo borras del disco y ya está.

  • Con clear limpias la termina. Equivale al comando cls de la consola de Windows.

  • Para ejecutar un programa en windows, por ejemplo un .bat tendrás que usar ./file.bat limpias la termina. Equivale al comando ./.

  • Con la flecha de dirección arriba accedes a los comandos anteriormente escrito, es decir, accedes a tu histórico de comandos.

  • Para saber dónde está un programa escribes where calc y la consola te devolverá el directorio donde está.

  • Con find buscas archivos, si quieres buscar en la carpeta actual escribes find . y si quieres buscar en la carpeta actual un nombre de archivo en concreto escribes

                find . -name nombre-a-buscar
              

Autocompletado de ficheros y directorios en git-bash

Uso git-bash como consola porque es muy común que en casi todo los equipos esté instalado git.


Para aumentar mi productividad he buscado la forma de que git-bash me autocomplete el nombre de los directorios y ficheros cuando estoy navegando, no ha sido fácil pero aquí está.


Abre tu fichero inputrc que está en tu carpeta de git-bash

Añade lo siguiente al final del archivo 👇

# mappings to have up and down arrow searching through history:
"\e[A": history-search-backward
"\e[B": history-search-forward
# mappings to have left and right arrow go left and right: 
"\e[C": forward-char
"\e[D": backward-char

# mapping to have [Tab] and [Shift]+[Tab] to cycle through all the possible completions:
"\t": menu-complete
"\e[Z": menu-complete-backward
        

Si tenías una instancia abierta de git-bash ciérrala y vuélvela a abrir


Si estás en un directorio y escribes cd n y pulsas tab, te irá mostrando todos los ficheros y carpetas que empiencen por n. Si quieres volver atrás en la lista pulsa shift tab


Si escribes un-comando-muy-complicado-con-muchas-opciones, la próxima vez que quieras usarlo tan solo escribes un-c y pulsa la tecla de dirección arriba y te lo autocompletará 🤯


Esto me ahorra muchísimo tiempo en la consola 🤓


Hasta luego 🖖

fjmduran.com v 17.0.1