Línea de Comando
la terminal
☝ Los usuarios de Windows no tienen la misma línea de comando, pero igual deberías aprenderlos, ya que son muy utilizados en los servidores cuando publiques tu página y también en Gitpod, Codespaces, Cloud9, etc. Puedes utilizar Git SCM para probar los comandos.
Al principio, todos odiaban la línea de comando. Tras años de experiencia, se convirtió en un gusto adquirido.
Pero ¿por qué les gusta a los desarrolladores? Bueno, la lista es infinita, pero aquí hay algunas razones importantes:
Si no dominas la línea de comandos, no podrás usar ninguno de estos: GIT, MySQL, Webpack, Node.js, Grunt, Vagrant, Babel, React, Angular, Apache, etc.
Como desarrollador, es lo único que necesitas tener disponible. Las computadoras no vienen con Atom, Sublime text (o cualquier otro IDE de alta calidad). A veces como los servidores de producción no puedes instalar nada (y el sistema ni siquiera tiene una interfaz visual), sólo la línea de comandos.
Es superpoderosa. Puedes hacer mucho más en mucho menos tiempo, por ejemplo: eliminar de forma masiva, cambiar nombres, buscar archivos, editar archivos, etc.
Te obliga a usar el teclado. Como no puedes usar el ratón, te hace más rápido, cometes menos errores y el entorno es exactamente el mismo en todas las computadoras.
La consola es realmente simple: es una pantalla negra que siempre está esperando un comando. Después de escribir el comando deseado y de haber presionado la tecla enter
, la computadora lo ejecuta y muestra algún feedback con el resultado en la pantalla. Una simple interfaz de Pregunta <> Respuesta.
Pero, ¿qué es un comando?
Es algo así como "imprimir", "mostrar", o "eliminar", pero abreviado. Por ejemplo, si quieres decirle a la consola que enliste todos los archivos en un directorio en particular, tienes que usar el comando ls
así:
1ls -l /path/to/directory
Todos los comandos tienen tres partes: la utilidad, los marcadores y los argumentos. La utilidad siempre es lo primero. Las otras dos partes tienen reglas diferentes y, dependiendo del comando que estés utilizando, es posible que no tengas que usar ningún marcador o argumento.
En este caso particular, usamos el "marcador" -l
para especificar que queremos una versión "larga" de la lista de archivos (con más detalles).
Lo último que tenemos que agregar es el "argumento". En este caso, el "argumento" será la ruta del directorio del cual queremos listar los archivos.
Tu computadora tiene archivos, directorios y aplicaciones. Tu línea de comando es capaz de lidiar con los tres. Usa comandos para moverte dentro de los archivos y directorios (como el comando cd
que es el acrónimo de change directory). Cada aplicación que instales viene con un conjunto de comandos que están disponibles a partir del momento en que instales la aplicación (como el comando GIT).
Hay 4 cosas importantes que notar aquí:
.
para referirte a todos los archivos y carpetas en la jerarquía...
para referirte al directorio padre./
para navegar más hacia abajo en la jerarquía de directorios.Aquí hay una pequeña selección de los comandos más utilizados por un desarrollador de software.
El comando de lista
El comando ls
se usa para listar todos los archivos y directorios que forman la posición actual.
1ls -l ./applications 2# Muestra los archivos y carpetas dentro de "applications" 3# El -l es para recibir una información más detallada sobre los archivos
El comando para cambiar de directorio
1cd /path/to/directory
El comando mover
Mueve un archivo a otra carpeta o directorio, como por ejemplo arrastrar un archivo ubicado en el escritorio de una PC a una carpeta almacenada dentro de la carpeta "Documentos".
1mv /path/to/file.txt /math/to/destination/file.txt
El comando eliminar
Borra archivos (no directorios).
1rm file1.txt file2.txt file3.txt file4.txt 2# Elimina estos cuatro archivos 3 4rm -r dbstore/ 5# Elimina todos los archivos y subdirectorios recursivamente dentro del directorio "dbstore"
El comando crear directorio
Crea un nuevo directorio. Al igual que para crear un nuevo directorio en un escritorio de PC o Mac, el comando mkdir
crea nuevos directorios en un entorno Linux.
1mkdir newdirectoryname 2# Crear newdirectoryname en el directorio actual 3 4mkdir path/of/new/newdirectoryname 5# Crear newdirectoryname dentro de /path/of/new/
El comando eliminar directorio
Elimina un directorio (no archivos).
1rmdir mydirectory 2# Eliminar mydirectory si está en el directorio actual 3 4rmdir path/of/targetdirectory/mydirectory 5# Eliminar mydirectory de "targetdirectory"
☝ Solo eliminará los directorios vacíos, para vaciar todos los archivos del directorio usa el comando
rm
. Pro-tip: puedes usarrm *
para borrar todos los archivos dentro de un directorio simultáneamente; utilízalo con precaución.
El comando copiar archivo
No confundas este comando con la funcionalidad de copiar del portapapeles, no tiene nada que ver con eso.
cp
copiará un archivo completo y creará uno nuevo con el nombre que decidas que deba tener.
1cp path/to/file.txt path/to/new/file_copy.txt 2# Copia "file.txt" y crea un nuevo "file_copy.txt" con el mismo contenido
El comando encontrar
Encuentra un archivo en el directorio dado y con las especificaciones dadas.
1find / -name game 2# Encuentra todos los archivos que contengan el nombre exacto "game" que se encuentran dentro de la carpeta raíz. 3 4find . -name *.mp3 5# Encuentra todos los archivos que contengan la extensión "mp3" dentro del directorio actual y en el de su padre.
Esto te ayudará a ahorrar tiempo y a cometer menos errores al escribir:
ctrl + c
.tab
.↑
y te mostrará cada comando, uno por uno.~
, así: cd ~
.clear
para "limpiar" la consola actual (es solo un desplazamiento, pero muy útil).Esta es una de las cosas que no puedes evitar hacer en la terminal. Como desarrollador, tendrás que editar archivos en la terminal con más frecuencia de lo que crees. Por eso es mejor que estés preparado para usar la Aplicación VIM o la Aplicación Nano. Hablaremos sobre Nano y sus comandos (sí, aquí el editor de texto se abre dentro de la línea de comandos y se ejecuta usando comandos).
No es realmente un comando, sino una aplicación de edición de texto con el nombre de "Nano".
Cuando trabajes con la línea de comandos, a veces tendrás que abrir un archivo para revisarlo e incluso para cambiarlo. Para eso, usamos el comando nano
. Nano básicamente abre un editor de texto dentro de la línea de comando.
1nano path/to/the/textfile.txt 2# Abre un editor de texto para comenzar a editar el contenido de textfile.txt 3# Si textfile.txt no existe ¡lo creará!
Cuando nano se abra, verás una barra superior con la versión actual de la aplicación nano, el nombre del archivo que se está editando, y un estado indicándote si los archivos fueron modificados o no.
En la parte inferior verás los comandos más utilizados para usar nano, tales como: exit, where is, get help, etc.
☝ Este sitio web tiene un montón de pequeños mini desafíos para ayudarte a practicar la línea de comandos: https://cmdchallenge.com/