¿Qué es una CLI?
Una interfaz de la línea de comandos (CLI) es un mecanismo de software que se utiliza para interactuar con el sistema operativo mediante el teclado. Otro mecanismo disponible es la interfaz de usuario gráfica (GUI), la cual se utiliza mucho en la actualidad en todas las aplicaciones y los sistemas de software. Puede usar una GUI para navegar visualmente y hacer clic en íconos e imágenes a fin de poner actividades en funcionamiento. Sin embargo, las GUI resultan ineficientes para las tareas de administración del sistema, en especial cuando se trata de entornos virtuales o remotos. Con una interfaz de línea de comandos, puede escribir comandos de texto para configurar, explorar o ejecutar programas en cualquier servidor o sistema informático. Todos los sistemas operativos, incluidos Linux, macOS y Windows, proporcionan una CLI para agilizar la interacción con el sistema.
¿Qué ventajas ofrece una CLI?
Una interfaz de línea de comandos ofrece varias ventajas.
Eficiencia
En lugar de perder tiempo buscando y seleccionando archivos individuales, puede realizar acciones en varios archivos con un solo comando de texto con la CLI. Si está familiarizado con los comandos, podrá navegar por el sistema e interactuar con él a gran velocidad. También es posible crear scripts que ejecuten varios de ellos en la CLI a fin de automatizar las tareas repetitivas o monótonas.
Acceso remoto
En comparación con las aplicaciones gráficas, aquellas con CLI suelen utilizar menos recursos de red. Esto hace que sean ideales para los sistemas con funciones de hardware limitadas o entornos de servidores remotos.
Para administrar los servidores de forma remota, puede enviar comandos mediante un shell seguro, incluso cuando utilice conexiones de bajo ancho de banda. Es el método más adecuado para administrar servidores e instancias en la nube, en especial en los entornos headless, que no disponen de una interfaz gráfica.
Resolución de problemas
Para los desarrolladores y los administradores de sistemas, el uso de interfaces de la línea de comandos es una habilidad valiosa que les permite entender en mayor profundidad el sistema subyacente. Al utilizar una CLI, logrará desarrollar un mayor dominio de las diversas herramientas y servicios y mejorar el control de los errores.
Por ejemplo, puede usar una CLI para ver los registros del sistema y encontrar mensajes de error e información de depuración completos con rapidez. También es posible documentar los comandos basados en texto de manera sencilla. De esta manera, se garantiza la reproducción de las tareas y se facilita la resolución de problemas en el futuro.
¿Cuáles son los casos de uso de las CLI?
Las interfaces de la línea de comandos pueden servir en muchos casos de uso debido a la versatilidad que presentan. Por ejemplo, si es administrador de sistemas, ingeniero de software, científico de datos o, incluso, un usuario técnico que desea tener mayor control, puede sacar provecho de las CLI. A continuación, presentamos algunos ejemplos.
Administración del sistema
Los administradores del sistema utilizan las CLI para solucionar problemas relacionados con este, comprobar los ajustes del sistema operativo y cambiar o actualizar las configuraciones de los equipos remotos. Pueden ejecutar comandos y controlar los sistemas a escala.
Desarrollo de software
Los desarrolladores de software utilizan a menudo las herramientas de la CLI para ahorrar tiempo y agilizar los flujos de trabajo. Por ejemplo, muchas veces acceden a bibliotecas de terceros mientras trabajan. Si usan una CLI, pueden agregar referencias a ellas mediante un comando insertado en lugar de dejar instrucciones en la GUI para buscar la biblioteca. Con este enfoque, tanto el desarrollador como los futuros usuarios que interactúen con el sistema ahorran tiempo.
Computación en la nube
En los entornos de nube, las CLI son esenciales para administrar las máquinas virtuales, los contenedores, los servicios en la nube y las configuraciones de servidores. Los desarrolladores y los administradores las utilizan para interactuar con las API de los proveedores de nube, automatizar el aprovisionamiento de recursos e implementar las aplicaciones.
Administración de redes
Los administradores de red usan las CLI para configurar enrutadores, conmutadores, firewalls y otros dispositivos de red. Las herramientas de la CLI son útiles para monitorear el tráfico de la red, solucionar los problemas de conectividad e implementar políticas de seguridad. También se utilizan para el análisis de vulnerabilidades e incidentes y el reconocimiento de redes cuando se realizan pruebas de penetración.
¿Cómo funciona una CLI?
Una interfaz de línea de comandos es una interfaz basada en texto en la que puede escribir comandos que interactúan con el sistema operativo de un equipo. La CLI funciona con la ayuda del shell predeterminado, que se encuentra entre el sistema operativo y el usuario.
Shell de la CLI
Un shell es un programa que actúa como intermediario entre el usuario y el sistema operativo. Algunos ejemplos son Bash, cmd.exe y PowerShell, además de otros que se utilizan para funciones más específicas.
El shell se encarga de gestionar diversas tareas, como el análisis de comandos, la gestión de entornos y la ejecución de procesos. También es compatible con funciones como las siguientes:
- Historial de comandos, que permite acceder a los comandos ingresados anteriormente mediante las teclas de flecha u otros atajos
- Redirección de la entrada y la salida
- Canalización (donde se conectan la salida de un comando con la entrada de otro) y administración de variables de entornos
Además, puede personalizar el entorno del shell. Para ello, configure variables de entorno, defina alias (atajos para comandos más largos) y cree scripts de shell para automatizar o repetir tareas.
Funcionamiento de los comandos
Los pasos que tienen lugar al escribir un comando en la CLI son los siguientes:
- El intérprete de línea de comandos del shell analiza el comando que se escribió para comprender su estructura y separar el nombre, las opciones y los argumentos.
- El shell busca el nombre del comando en su lista de comandos disponibles. El nombre representa la acción que el usuario quiere que realice el sistema operativo.
- Busca en la variable PATH del sistema (una lista de directorios donde están los archivos del sistema) el archivo correspondiente asociado al comando.
- El shell de la CLI llama al archivo adecuado y utiliza las opciones y argumentos especificados como elementos de entrada.
- El sistema operativo realiza las acciones necesarias.
- Es posible que produzca elementos de salida, como mensajes informativos o de error, datos que se solicitaron o resultados de la operación.
- El shell de la CLI los muestra para que usted pueda ver lo que produjo comando.
El shell de la CLI trabaja en bucle y espera que escriba otro comando. El proceso de entrada, análisis, ejecución y visualización de resultados de comandos se repite durante la interacción con el shell de la CLI. Así, se obtiene una interfaz continua para las interacciones basadas en comandos.
¿Cómo se abre la interfaz de la línea de comandos de su sistema?
Cada sistema operativo principal accede de una forma algo diferente a la interfaz de la línea de comandos.
Windows
Esta es la manera de abrir la CLI en Windows 8 o una versión posterior:
- Presione las teclas Windows y “S”.
- Escriba “cmd” en el campo de búsqueda.
- Haga clic con el botón derecho en “Símbolo del sistema” y seleccione “Ejecutar como administrador”.
- Escriba una línea de comandos.
Mac
Esta es la manera de abrir la CLI en Mac:
- Busque la aplicación Finder, que suele encontrarse en la barra de herramientas.
- Vaya a /Aplicaciones/Utilidades.
- Seleccione “Terminal”.
- Escriba una línea de comandos.
Linux
El acceso a la CLI en Linux es sencillo: utilice el atajo CTRL + ALT + T.
Otra opción es presionar las teclas ALT + F2 y, a continuación, escribir “gnome-terminal”.
¿Cuáles son algunos de los comandos más comunes de la interfaz de la línea de comandos?
En las interfaces de la línea de comandos, existen muchos comandos diferentes para diversos tipos de tareas. Estos comandos varían un poco entre los distintos sistemas operativos. A continuación, le mostramos varios ejemplos.
Comandos del sistema de archivos
Comando de la CLI |
Windows |
Linux |
Cambiar directorio |
cd |
cd |
Últimos archivos |
dir |
ls |
Crear directorio |
mkdir |
mkdir |
Eliminar directorio |
rmdir |
rmdir |
Copiar archivos |
copy |
cp |
Mover archivos |
movimiento |
mv |
Renombrar archivos |
ren |
mv |
Mostrar archivos |
type |
cat |
Eliminar archivos |
del |
rm |
Cambiar permisos |
cacls/chmod |
chmod |
Comandos de red
Comando de la CLI |
Windows |
Linux |
Ping |
ping |
ping |
Traceroute |
tracert |
traceroute |
Configuración de red |
ipconfig |
ifconfig |
Tabla de enrutamiento |
route |
route |
Búsqueda de DNS |
nslookup |
nslookup |
Diagnóstico de red |
netsh |
netstat |
Comandos de información
Comando de la CLI |
Windows |
Linux |
Enumerar procesos |
tasklist |
ps |
Finalizar proceso |
taskkill |
kill |
Información del sistema |
systeminfo |
uname -a |
Uso del disco |
wmic/fsutil |
df |
Monitoreo del sistema |
perfmon |
top/htop |
¿Cuáles son las prácticas recomendadas de la CLI?
Si bien una interfaz de la línea de comandos es útil y proporciona acceso remoto, para su correcto funcionamiento usted debe ser preciso y conocer los comandos adecuados. Tiene que conocer cada uno que ingresa para obtener el resultado deseado. Si no es así, obtenga más información sobre ellos antes de ingresarlos en la CLI. Asimismo, es necesario que se asegure de escribirlos sin ninguna variación ni error ortográfico.
Otra recomendación es evitar que accedan a la CLI aquellos usuarios que no tengan los privilegios adecuados. Si concede los derechos de administrador solo a personas de confianza, evita las interacciones innecesarias con el sistema. Puede restringir el acceso no autorizado a los recursos importantes.
Otra medida de seguridad importante es mantener el sistema actualizado. Obtenga correcciones de errores, mejoras de rendimiento y parches de seguridad en las actualizaciones. Mantener la CLI actualizada garantiza que el sistema sea lo más seguro posible. Por último, es una buena idea registrar todas las actividades de la CLI para detectar cambios y comportamientos sospechosos y solucionar problemas si ocurre algo inesperado.
¿Qué es la Interfaz de la línea de comandos de AWS?
La Interfaz de la línea de comandos de AWS (AWS CLI) es una herramienta de código abierto de Amazon Web Services (AWS). Puede utilizarla para interactuar con los servicios de AWS mediante comandos en su shell de la línea de comandos.
Tan solo con configurar algunos pocos parámetros, puede usar la AWS CLI para ejecutar comandos que implementen una funcionalidad equivalente a la proporcionada por la Consola de administración de AWS basada en el navegador. Esto es lo que puede hacer desde la línea de comandos de su programa de terminal:
- Use programas shell comunes de Linux como Bash, zsh y tcsh para ejecutar comandos en Linux o macOS.
- Ejecute los comandos en Windows en el símbolo del sistema de Windows o en PowerShell.
- Ejecute comandos en instancias de Amazon Elastic Compute Cloud (Amazon EC2) de forma remota mediante un programa de terminal remoto como PuTTY, SSH o AWS Systems Manager.
Al utilizar AWS CloudShell, un shell basado en el navegador, puede ejecutar scripts rápidamente con la AWS CLI, experimentar con las API de servicios y utilizar otras herramientas para aumentar su productividad. El ícono de CloudShell aparece en las regiones de AWS donde CloudShell está disponible.
Cree una cuenta para comenzar a utilizar la AWS CLI hoy mismo.
Siguientes pasos en AWS
Obtenga acceso instantáneo al nivel Gratuito de AWS.
Comience a crear en la consola de administración de AWS.