Para mis amigos que están empezando en el mundo de la programación, la terminal o consola puede ser un poco intimidante al principio. Sin embargo, una vez que te familiarices con algunos comandos básicos, verás que la terminal es una herramienta poderosa y eficiente para interactuar con tu sistema operativo.
¿Qué es una terminal o Shell?
En términos más simples, la terminal o shell es donde puedes escribir comandos de texto para realizar diversas tareas en tu computadora, como navegar por archivos y directorios, ejecutar programas, administrar procesos y configurar el sistema.
Existen diferentes tipos de terminales y shells, como por ejemplo:
-
Terminal de línea de comandos (CLI): Este tipo de terminal muestra solo texto y espera a que el usuario ingrese comandos de texto. Ejemplos de terminales CLI incluyen la terminal de Unix/Linux (como la terminal de GNOME en sistemas Ubuntu) y la Command Prompt en Windows.
-
Terminal gráfica: Aunque técnicamente es diferente de una terminal de línea de comandos, una terminal gráfica también puede ser considerada una interfaz de usuario que permite interactuar con el sistema operativo a través de comandos, pero con elementos gráficos adicionales. Un ejemplo común es el Terminal en sistemas operativos basados en Unix/Linux.
-
Shell: El término "shell" se refiere al intérprete de comandos que corre dentro de la terminal. Los shells pueden variar en funcionalidades y sintaxis de comandos. Ejemplos comunes de shells incluyen Bash (Bourne Again Shell), Zsh (Z Shell), y PowerShell (en sistemas Windows).
En resumen, una terminal o shell es una herramienta poderosa que permite a los usuarios interactuar con un sistema operativo mediante la entrada y ejecución de comandos de texto. Esto puede ser especialmente útil para usuarios avanzados y programadores que prefieren la eficiencia y la flexibilidad de la línea de comandos.
CMD vs PowerShell vs Unix/Linux
Aunque los sistemas operativos Windows y Unix/Linux (esto incluye a iOS) tienen terminales y shells similares, existen algunas diferencias clave entre ellos. Aquí hay algunas diferencias notables entre CMD, PowerShell y Unix/Linux:
-
CMD: La Command Prompt (CMD) es la terminal predeterminada en sistemas Windows. CMD es un shell de línea de comandos relativamente simple que admite una variedad de comandos básicos y funciones de scripting. Sin embargo, CMD carece de muchas de las características avanzadas y la flexibilidad de otros shells más modernos.
-
PowerShell: PowerShell es un shell de línea de comandos más avanzado y potente que CMD. PowerShell está diseñado para ser más fácil de usar y más flexible que CMD, y admite una amplia gama de comandos y funciones avanzadas. PowerShell es especialmente popular entre los administradores de sistemas y los desarrolladores de scripts en entornos Windows.
-
Unix/Linux: Los sistemas Unix/Linux utilizan una variedad de shells de línea de comandos, como Bash, Zsh y otros. Estos shells son conocidos por su potencia y flexibilidad, y ofrecen una amplia gama de comandos y funciones avanzadas para interactuar con el sistema operativo. Los shells de Unix/Linux son especialmente populares entre los usuarios avanzados y los programadores debido a su capacidad de personalización y automatización.
Comandos básicos para empezar con la consola o terminal
Ahora que sabemos qué es una terminal o shell, veamos algunos comandos básicos que pueden ayudarte a empezar a trabajar con la consola:
ls
: Este comando se utiliza para listar los archivos y directorios en el directorio actual. Por ejemplo,ls
mostrará una lista de los archivos y directorios en el directorio en el que te encuentras.cd
: Este comando se utiliza para cambiar de directorio. Por ejemplo,cd Documents
te llevará al directorio "Documents" si existe en el directorio actual.pwd
: Este comando muestra la ruta completa del directorio en el que te encuentras actualmente. Por ejemplo,pwd
mostrará la ruta completa del directorio actual.mkdir
: Este comando se utiliza para crear un nuevo directorio. Por ejemplo,mkdir NewFolder
creará un nuevo directorio llamado "NewFolder" en el directorio actual.touch
: Este comando se utiliza para crear un nuevo archivo vacío. Por ejemplo,touch newfile.txt
creará un nuevo archivo llamado "newfile.txt" en el directorio actual.rm
: Este comando se utiliza para eliminar archivos o directorios. Por ejemplo,rm file.txt
eliminará el archivo "file.txt" en el directorio actual.