La terminal permite trabajar de un modo más directo con el sistema operativo, por lo que nos da más posibilidades que ciertos programas. E incluso es una herramienta fundamental para desarrolladores, ya que hay herramientas que requieren de un uso básico de terminal para instalarse o funcionar.
Suele espantar a los que no están acostumbrados a usarla porque carece de interfaz gráfica, que es lo que solemos utilizar a diario, resulta “poco amigable”. A pesar esto, su uso es más sencillo de lo que parece, y cuando lo empieces a hacer verás que soluciona o facilita muchísimas cuestiones.
Tabla de Contenidos
- Usuarios de Windows
- ¿Y ahora qué hago?
- Comandos básicos
- 3. Listar contenido de una carpeta (List)
- 4. Ver contenido de un archivo
- 5. Trabajo con archivos y carpetas (Copy)
- Ayuda en terminal
Usuarios de Windows
A pesar de que Windows trae una consola por defecto, los comandos allí suelen diferir de Linux o Mac. Para unificar esto, lo que vamos a hacer es instalar la terminal de Ubuntu (una distribución de Linux).
Instalar terminal Ubuntu en Windows
- Accedes a la tienda, desde el menú inicio tipeá “store”.
- Buscar “Ubuntu“, puede que aparezcan varias versiones, elegir una.
- Hacer click en obtener y proceder con la instalación.
En el caso de que no puedas hacerlo, te recomiendo que visites el blog oficial de Windows para checkear que te está faltando: https://devblogs.microsoft.com/commandline/bash-on-ubuntu-on-windows-download-now-3/
¿Y ahora qué hago?
Bien, ya tenemos la terminal instalada y abierta. Sólo se ve una pantalla negra con unas letras y un cursor que tititla, no hay menú, ni nada aparente por hacer.
Las letras que estamos viendo hacen referencia al usuario / máquina que está ejecutando la consola. Luego vemos 2 puntos “:” seguido de más letras, que indican dónde estoy ubicado. Luego de esto se vé el signo dolar “$” y el cursor titilando, que indica que está esperando que le indiquemos que hacer.
Lo que sigue es entender que al no tener interfaz gráfica, llámese botones o paneles con los que interactuar, la forma de utilizar una terminal es a través de comandos, no queda otra que recordarlos de memoria, aunque con esta guía entenderás algunas reglas que te permitirás hacerlo. Vamos a ello!
Comandos básicos
La regla para recordar comandos es que suelen ser las primeras letras de cada palabra en ingles de lo que se supone que hagan, o bien las letras sin vocales de una palabra. Una vez que escribamos un comando, damos a enter y se ejecuta.
Algunos comandos funcionan solos, otros necesitan unas ordenes más llamadas parámetros. Que se especifica escribiendo lo que corresponda, espacio por medio y en otros deberemos escribir “guiones medio”. Sigamos y vas a ver que todo esto empieza a cobrar sentido.
1. Conocer dónde estoy ubicado (Print Working Directory)
pwd
Este comando funciona “solo”, es decir, no requiere parámetros y al usarlo nos mostrará en pantalla la ruta en la que nos encontramos.
2. Moverme a otra carpeta (Change Directory)
cd
Este comando requiere de un parámetro, y es hacia dónde nos queremos mover. Y acá hago un parate para explicar algo relacionado con las rutas.
2.1 Rutas absolutas
Se refiere a escribir toda la ruta o path, por ejemplo D:\xampp\htdocs\ en Windows o /var/www/html/ en Linux.
2.2 Rutas relativas
Se refiere a escribir la ruta a partir desde dónde estamos ubicados (de acá el uso del comando pwd). Entonces podemos navegar “hacia arriba”, es decir salir de la carpeta donde estamos, o bien navegar “hacia adentro” o seguir entrando en subcarpetas.
Para navegar “hacia arriba” se usan los 2 puntos, entonces, si estamos en /var/www/html/ y escribimos en consola “cd ..“, terminaremos ubicados en /var/www/
Imaginemos que allí hay una carpeta llamada “portfolio”, volvamos a suponer que estamos nuevamente en /var/www/html/ y queremos llegar a “portfolio”, entonces escribimos “cd ../portfolio“, es decir, subimos un nivel, y allí entramos a la carpeta que necesitamos.
Para navegar “hacia adentro” o subcarpetas, supongamos que estamos en /var/www/ y queremos entrar a la carpeta de “imagenes” dentro de la carpeta “portfolio“, para eso escribimos “cd portfolio/imagenes/“.
3. Listar contenido de una carpeta (List)
ls
Este es un ejemplo de comando en el que su regla mnemotécnica es la palabra sin vocales.
El comando “ls” funciona sólo o con parámetros. Si lo usamos solo, listará el contenido del directorio actual. Si le pasamos como parámetro una ruta (relativa o absoluta) listará el contenido de dicha carpeta. Entonces podríamos usarlo de cualquiera de estas 2 formas:
ls ls /var/www/html/
3.1 Parámetros flag o bandera
Este comando tiene una característica muy importante en el uso de terminal, se trata de otro tipo de parámetro conocido como flag, y se usa para especificar opciones. La forma de escribirlos es con “-” (guión medio) o “–” (doble guión medio), la primera es para la versión corta y la segunda para la versión extendida.
El uso dependerá de cada comando, pero sigamos con “ls”. Al usarlo podremos ver que es un poco complicado de leer, ya que aparece ordenado en una especie de columnas. Si usamos el flag “l” (ele), convertimos la salida en listado extendido, los archivos y carpetas aparecerán apilados verticalmente y con info extra como permisos, tamaños, fechas de modificación, etc.
ls -l
Otro flag que podríamos usar es uno que muestre archivos y carpetas ocultos, este es el flag “a”. Y acá incorporo otro concepto, y es que podemos usar más de 1 flag, para eso escribimos un “-” seguido de los flags que necesitemos.
ls -la
4. Ver contenido de un archivo
Los comandos para esto son 2, “cat” muestra contenido reducido, hasta cierta cantidad de líneas y “less” muestra contenido con paginado, en caso que no entre en la pantalla actualmente.
Ambos comandos requieren como parámetro el nombre del archivo:
cat index.html less /var/www/html/historia.txt
5. Trabajo con archivos y carpetas (Copy)
5.1 Copiar
cp
Requiere 2 parámetros, el primero el archivo / carpeta de orígen, y el segundo el archivo / carpeta de destino, por ejemplo:
cp /var/www/html/logo.png /var/www/html/images/logo.png
Tiene varios parámetros, uno de los principales es “r” (recursivo), y es usado para carpetas, lo que hace es copiar todo el contenido de subcarpetas, entonces podríamos hacer:
cp -r /var/www/directorio_temporal/ /var/www/html/
5.2 Mover (Move)
mv
Es similar a cortar, y de la misma forma que copiar, requiere 2 parámetros, el orígen y el destino.
mv /var/www/html/ /var/www/tmp/
5.3 Borrar (Remove)
rm
Requiere que se indique el archivo o carpeta a eliminar y tiene parámetros flag, como por ejemplo:
- r: Recursivo. Para borrar directorios y subdirectorios.
- i: Pedirá confirmación antes de borrar.
5.4 Crear directorio (Make Dir)
mkdir
Requiere que se indique el directorio a crear. Admite indicar subcarpetas y admite algunos parámetros flag, siendo el más importante “p“, que crea subdirectoros que no existan.
mkdir /var/www/html2/ mkdir -p /var/www/html2/no-existe/test/
Ayuda en terminal
En el caso de que nos olvidemos como usar un comando, o bien querramos saber que opciones tiene, debemos escribir el comando seguido de “–help“, por ejemplo:
ls --help