Está en la página 1de 35

Fundamentos de

Linux
Subtemas
1. Definición: ¿Qué es GUI?
2. Definición: ¿Qué es CLI?
3. Casos de uso de las CLI
4. Comandos
Definición: ¿qué es una GUI?
La Interfaz Gráfica de Usuario (GUI-Graphic User Interface) en Linux se refiere
a la representación visual de las aplicaciones y del sistema operativo en
general, permite a los usuarios interactuar con el sistema mediante
elementos gráficos como ventanas, iconos, botones, y menús en lugar de
utilizar comandos de texto en la línea de comandos.

En Linux, hay varias interfaces gráficas de usuario (GUI) disponibles:

 GNOME es una de las interfaces gráficas de usuario más populares en el


mundo Linux. Ofrece una experiencia simple y elegante con un diseño
intuitivo. GNOME se centra en la usabilidad y en proporcionar un entorno
de escritorio limpio
Definición: ¿qué es una GUI?
 KDE Plasma es otro entorno de escritorio popular. Proporciona una
interfaz rica y altamente personalizable con un enfoque en la flexibilidad.
Ofrece una variedad de aplicaciones y herramientas integradas.

 Xfce es conocido por ser ligero y rápido, siendo una excelente opción
para sistemas con recursos limitados. Aunque es ligero, aún ofrece una
interfaz gráfica atractiva y funcional con un diseño modular.

 zl es una interfaz de usuario ligera construida sobre el framework Qt. Está


diseñada para ser eficiente en cuanto a recursos, lo que la hace ideal para
sistemas más antiguos o con hardware limitado
Definición: ¿qué es una GUI?
 Cinnamon es el entorno de escritorio predeterminado para Linux Mint.
Ofrece una experiencia similar a la de entornos tradicionales, haciendo que sea
fácil para los usuarios de otros sistemas operativos adaptarse a Linux Mint.

 MATE es una continuación del entorno de escritorio GNOME 2, que fue muy
popular. Está diseñado para ser fácil de usar y proporciona una experiencia de
usuario tradicional con menús clásicos y una disposición familiar

 Pantheon es el entorno de escritorio utilizado por el sistema operativo


elementary OS. Ofrece una interfaz limpia y moderna con una atención
particular a los detalles de diseño. Es conocido por su aspecto estilizado y su
enfoque en la simplicidad
¿Para qué sirven las Interfaces gráficas de usuario?
Su función principal es simplificar la comunicación entre una máquina o un
sistema operativo y un usuario. Antes de que se desarrollaran y popularizaron
las GUI, solo las personas con conocimientos profundos de informática
podían usar un computador, pero las interfaces gráficas sustituyeron la
complejidad de los comandos por acciones predeterminadas simbolizadas por
elementos visuales muy sencillos de comprender.

Una GUI bien diseñada contribuye a una experiencia del usuario más
agradable y atractiva. Esto es importante para que los usuarios se sientan
cómodos y satisfechos con el sistema operativo y las aplicaciones que están
utilizando.
Características de las GUI
 Ser sencilla de comprender y usar
 La curva de aprendizaje es acelerada y es fácil recordar su funcionamiento
 Los elementos principales son muy identificables
 Facilitar y predecir las acciones más comunes del usuario
 La información está adecuadamente ordenada mediante menús, iconos,
barras, etc.
 Las operaciones son rápidas, intuitivas y reversibles
 La interfaz expresa claramente el estado del sistema o las operaciones, y
brinda elementos de ayuda.
 La navegabilidad y la usabilidad son óptimas.
 Contiene herramientas de ayuda que orientan al usuario.
Desventajas de las GUI
Aunque las interfaces gráficas de usuario (GUI) en Linux ofrecen numerosas
ventajas, también tienen algunas desventajas. Aquí hay algunas de las
desventajas potenciales:

 Las GUI suelen consumir más recursos del sistema en comparación con
interfaces basadas en texto. Esto puede afectar el rendimiento en sistemas
con recursos limitados, especialmente en máquinas más antiguas o con
hardware menos potente.
 En entornos de servidor, donde el rendimiento y la eficiencia son críticos,
las GUI pueden considerarse innecesarias y consumir recursos valiosos que
podrían asignarse a otras tareas
Desventajas de las GUI
 Algunos usuarios más experimentados prefieren interfaces de línea de
comandos por su eficiencia y la capacidad de realizar tareas complejas
mediante la introducción de comandos. Las GUI, al ser visualmente
intuitivas, pueden considerarse menos eficientes para ciertos usuarios
avanzados.
 Las GUI dependen del hardware gráfico del sistema. En entornos que
carecen de hardware gráfico potente o controladores adecuados, la
experiencia de usuario puede verse afectada negativamente.
 Las actualizaciones de las GUI a veces pueden llevar a cambios
significativos en la apariencia y el funcionamiento, lo que puede ser
desconcertante para algunos usuarios que ya están acostumbrados a una
interfaz específica.
¿Qué es una CLI? (Interfaz de línea de comandos)
La interfaz de línea de comandos o interfaz de línea de órdenes (en inglés:
command-line interface, CLI). Es un programa que permite a los usuarios escribir
comandos de texto instruyendo a la computadora para que realice tareas
específicas.

Conceptos clave relacionados con las interfaces de línea de comandos:

Terminal: Es el programa que proporciona la interfaz para ingresar comandos.


Puede ser una aplicación independiente o una ventana dentro de un entorno de
escritorio.

Intérprete de comandos (shell): Es el programa que interpreta los comandos


ingresados por el usuario y los ejecuta.
¿Qué es una CLI? (Interfaz de línea de comandos)
Comandos: Son instrucciones que el usuario ingresa para realizar tareas
específicas. Los comandos suelen constar de una palabra clave seguida de
opciones y argumentos.

Argumentos: Son valores o datos que se proporcionan junto con un comando


para que este se ejecute de manera específica. Los argumentos pueden ser
obligatorios u opcionales, según el comando.

Opciones: Son modificadores que se agregan a un comando para cambiar su


comportamiento. Las opciones suelen comenzar con un guion, como "-h" o "-
-help", y a menudo proporcionan información adicional sobre el comando.
¿Qué ventajas ofrece una CLI?
 Eficiencia: Suelen ser más eficientes para realizar tareas repetitivas o
secuencias de comandos. Los usuarios experimentados pueden ejecutar
múltiples comandos de manera rápida sin la necesidad de navegar a través
de menús gráficos.
 Automatización: Ideales para la automatización de tareas mediante
scripts. Los usuarios pueden crear scripts que ejecuten secuencias de
comandos automáticamente, lo que es especialmente útil para tareas
repetitivas o procesos complejos.
 Recursos: Requieren menos recursos del sistema en comparación con las
interfaces gráficas de usuario. Esto las hace útiles en entornos donde los
recursos son limitados, como servidores o sistemas integrados.
¿Qué ventajas ofrece una CLI?
 Control preciso: Los usuarios tienen un control preciso sobre los comandos
que ejecutan y cómo se ejecutan. Pueden especificar opciones y argumentos
de manera detallada, lo que proporciona un nivel de precisión que a veces es
más difícil de lograr con interfaces gráficas.
 Acceso remoto: Las interfaces de línea de comandos son fáciles de usar a
través de conexiones remotas, como SSH (Secure Shell). Esto permite a los
usuarios administrar sistemas de forma remota sin necesidad de una
interfaz gráfica.
 Historial de comandos: La mayoría de las CLI mantienen un historial de
comandos utilizados, lo que facilita la repetición de comandos anteriores
sin tener que volver a escribirlos por completo.
¿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.
¿Cuáles son los casos de uso de las CLI?
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.
¿Cuáles son los casos de uso de las CLI?
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.
Comandos más comunes de la interfaz de la línea de comandos
 ls: Lista el contenido de una carpeta
Este comando te permite ver qué archivos y carpetas hay en tu carpeta actual. Puede
utilizar la opción de listado largo ls -l para ver detalles como el tamaño del archivo, el
permiso, la hora de modificación, etc. Puedes ordenar y controlar estas opciones si lo
deseas.
Comandos más comunes de la interfaz de la línea de comandos
 cat: Leer un archivo de texto
Si quieres ver rápidamente el contenido de un
archivo de texto en Linux, cat es el comando que
debes utilizar. Muestra el contenido en la
pantalla.

 less: Leer un archivo de texto grande

 touch: Crear nuevos archivos


Crea un archivo vacío o genera y modifica la
información de marca de tiempo.

Para cambiar su fecha de modificación a la hora


actual, touch -m old_file
Comandos más comunes de la interfaz de la línea de comandos
 nano: Editar archivos
Permite editar y gestionar archivos mediante un
editor de texto, como nano, vi o jed. nano y vi
vienen con el sistema operativo, mientras que
jed hay que instalarlo.
nano nombre_de_archivo

 Pwd: Imprime el directorio de trabajo


Utiliza el comando pwd para encontrar la ruta de
tu directorio de trabajo actual.

 chmod: Cambiar permisos de archivos


es un comando común que modifica los
permisos de lectura, escritura y ejecución de un
archivo o directorio.
Comandos más comunes de la interfaz de la línea de comandos
 apt-get: Gestiona paquetes resolviendo dependencias.
Gestiona las bibliotecas de Advanced Package Tool (APT) en Linux. Permite recuperar
información y paquetes de fuentes autenticadas para gestionar, actualizar, eliminar e
instalar software y sus dependencias. Para ejecutar el comando apt-get es necesario utilizar
privilegios sudo o de root.

Esta es la sintaxis principal:

apt-get [opciones] (comando)

Estos son los comandos más comunes que puedes añadir a apt-get:

 update sincroniza los archivos del paquete desde sus fuentes.


 upgrade instala la última versión de todos los paquetes instalados.
 check actualiza la caché de paquetes y comprueba las dependencias rotas.
Comandos más comunes de la interfaz de la línea de comandos
 ps: Comprobar y manejar procesos
Sirve para manejar los procesos que se
están ejecutando en tu sistema. Cada
proceso tiene un ID asociado llamado
PID, que puede ser usado para varios
propósitos, como terminar un proceso.

Para ver todos los procesos ejecutados


por todos los usuarios, utilice:
ps aux

Para encontrar el que nos interesa,


tendremos que hacer un «grep».
ps aux | grep nombre
Comandos más comunes de la interfaz de la línea de comandos
 top: Monitor del sistema

Mientras que el comando ps le proporciona todos los procesos en ejecución, el comando


top le ofrece una vista en tiempo real de los procesos y del consumo de recursos del
sistema.
Comandos más comunes de la interfaz de la línea de comandos
 htop: Monitor del sistema

Es una versión mejorada de TOP pero


mucho más completa, cuidada
gráficamente para ser más intuitiva y
repleta de funciones y características
para controlar los procesos. Esta
herramienta también se debe utilizar
desde un terminal. Además, no viene
por defecto instalado en las distros, por
lo que para usarlo tendremos que
instalarlo manualmente en nuestro
ordenador.

sudo apt install htop


htop
Comandos más comunes de la interfaz de la línea de comandos
 kill: Terminar procesos
Si tienes un proceso que se porta mal y consume demasiados recursos del sistema, puedes
encontrarlo y terminarlo usando el comando kill.

sudo kill -9 id_del_proceso_o_nombre

Como puedes ver en el comando anterior, necesitas saber el ID del proceso (PID) o el
nombre para terminarlo. Puede utilizar el comando ps o top para obtener el PID o el nombre
exacto del proceso.
ps aux | grep -i “nombre_del_programa_deseado”
Comandos de red
 Ifconfig : Muestra y configura una interfaz de red

Podemos usar este comando para obtener la dirección IP, la dirección MAC y la MTU de las
redes disponibles. $ ifconfig

Para obtener detalles de una red específica, usaremos el comando 'ifconfig' con parámetros
adicionales. $ ifconfig etho

Este comando también se puede utilizar para establecer configuraciones como direcciones
IP o puerta de enlace a una interfaz. $ ifconfig eth0 <address> netmask <address>

ifconfig eth0 193.144.84.77 netmask 255.255.255.0 broadcast 193.144.84.255 up


Comandos de red
 ip: Muestra y configura una interfaz de red

 ip route: comandos de  Agregar una ruta simple a la red 192.168.1.0/24 a través de la


puerta de enlace 192.168.1.254 : Para enrutar todo el tráfico a
administración de la través de la puerta de enlace 192.168.1.254 conectada a través
tabla de enrutamiento de la interfaz de red eth0
Comandos de red
 Traceroute
Se usa comúnmente para solucionar problemas de la red. Averigua el retraso y el camino
hacia su destino. Determina e informa de dónde proviene la latencia de la red.
sudo apt-get install inetutils-traceroute
Comandos de red
 Netstat
Utilizado para revisar cada conexión de red y abrir sockets en el dispositivo Linux.
Proporciona información sobre conexiones, sockets abiertos, tablas de enrutamiento.

Sintaxis:

$ netstat <option>

Donde puede ser:

-p muestra todos los programas con sockets abiertos


-s obtiene todos los detalles sobre los puertos
-r obtener detalles de la tabla de enrutamiento
Comandos de red
 Nslookup
Utilizado para consultar DNS para obtener un nombre de dominio, asignación de dirección
IP o registros DNS.

nslookup <domainName>
Comandos de red
 Nslookup
Utilizado para consultar DNS para obtener un nombre de dominio, asignación de dirección
IP o registros DNS.

nslookup <domainName>
Comandos de red
 curl
Se utiliza para transferir datos desde y hacia un servidor sin la interacción del usuario. Puede
comunicarse mediante los protocolos HTTP, HTTPS, FTP, SFTP y SCP. Puede usarse para
cargar o descargar datos usando cualquiera de los protocolos anteriores.

curl fosslinux.com
curl -O https://cdn.jsdelivr.net/npm/vue/dist/vue.js
Comandos de red
 wget
Se utiliza para descargar archivos mediante protocolos HTTP, HTTPS, FTP. Ofrece la
posibilidad de descargar varios archivos, reanudar las descargas, descargar en segundo
plano, etc.

$ wget https://cdn.kernel.org/pub/linux/kernel/v4.x/linux-4.17.2.tar.xz

 telnet
Utiliza el protocolo Telnet para comunicarse con el host de destino. Debe especificar el host
con el puerto (principalmente el puerto 443).
Comandos de red
 Whois
Se usa para obtener toda la información sobre un sitio web. Puede obtener todos los
detalles de registro y propiedad usándolo. Debe instalar el paquete whois antes de usarlo.

sudo apt install whois


Comandos de red
 mail
Se usa para enviar correo electrónico desde la terminal. Puede enviar correo electrónico a
varios destinatarios. Debe instalar el paquete mailutil para usar el comando.

sudo apt-get install mailutils

mail -s "Test Subject" admin@fosslinux.com <<< 'This is a test email'

También podría gustarte