Comandos Esenciales de Linux para Administración del Sistema

Comendos Esenciales de Linux para Administración del Sistema

Este artículo está orientado a Ubuntu 22.04 LTS.

Verificar la versión del sistema Linux

En sistemas Linux, existen varios métodos para verificar la versión del sistema. Aquí presentamos dos enfoques comunes:

Utilizando el comando lsb_release

lsb_release -a

Este comando mostrará información detallada sobre la distribución del sistema en múltiples líneas.

Inspeccionando archivos de versión

cat /etc/os-release

Para algunas versiones más antiguas de Linux:

cat /etc/lsb-release

Listar contenido del directorio actual

ls

Para listar con detalles incluyendo permisos:

ls -al

Gestión de permisos en arcihvos y directorios

sudo chmod -R 777 directorio_datos

Creación de directorios

mkdir nombre_directorio

Copia recursiva de directorios

cp -r origen destino

Transferencia de archivos mediante SSH

scp -r

En entornos Linux, el comando scp es la herramienta estándar para transferir archivos a través de SSH.

1. Descargar archivos del servidor remoto

scp usuario@servidor:/ruta/archivo /directorio_local

Ejemplo: scp admin@192.168.1.100:/var/www/documento.txt descarga el archivo /var/www/documento.txt del servidor 192.168.1.100 al directorio local /directorio_local

2. Subir archivos locales al servidor remoto

scp /ruta/archivo_local usuario@servidor:/ruta_remota

Ejemplo: scp /var/www/script.php admin@192.168.1.100:/var/www/ envía el archivo script.php desde el directorio local /var/www/ al servidor 192.168.1.100 en el directorio /var/www/

3. Descargar un directorio completo

scp -r usuario@servidor:/directorio_remoto /directorio_local

Ejemplo: scp -r admin@192.168.1.100:/var/www/proyecto /var/www/ copia el directorio completo 'proyecto' del servidor al directorio local /var/www/

4. Subir un directorio al servidor remoto

scp -r directorio_local usuario@servidor:directorio_remoto

Ejemplo: scp -r proyecto admin@192.168.1.100:/var/www/ envía el directorio 'proyecto' al servidor remoto en /var/www/

Sincronización remota con rsync

El comando rsync es más potente que scp, especialmente para sincronizar directorios sin sobreescribir archivos existentes:

rsync -avz --progress /origen/ usuario@servidor:/destino/

Este comando sincroniza el directorio local /origen/ con el directorio remoto /destino/, mostrando el progreso de la operación.

Para evitar sobreescribir archivos en el destino:

rsync -avzu --progress /origen/ usuario@servidor:/destino/

La opción 'u' garantiza que solo se copien archivos más recientes o inexistentes en el destino.

Ejecución de scripts Shell

Tomando como ejemplo el script 'configurar.sh':

Otorgar permisos de ejecución

Si el script no tiene permisos de ejecución:

chmod +x configurar.sh

Ejecutar el script

./configurar.sh

Gestión del firewall UFW

Abrir el puerto 22

sudo ufw allow 22

Recargar el firewall

sudo ufw reload

Verificar el estado del firewall

sudo ufw status

Abrir el puerto TCP 80

ufw allow 80/tcp

Supervisión de procesos con ps

Listar todos los procesos

ps -aux

Buscar un proceso específico

ps -aux | grep 'nombre_proceso'

El comando ps -ef muestra relaciones entre procesos padre-hijo, mientras que top muestra los procesos más activos dinámicamente. El comando pgrep 'nombre' busca procesos por nombre. Los estados de proceso incluyen: Ejecutando (R), Listo (S), Pausado (T) y Zombie (Z). Para ejecutar un proceso en segundo plano: vi documento.c &. Con Ctrl+Z se pausa el proceso, y con [bg ID_trabajo] se lleva al fondo. El comando jobs muestra tareas en segundo plano, y fg 1 trae la tarea con ID 1 al primer plano.

Para terminar procesos:

kill -9 ID_proceso

Esto envía la señal 9 al proceso especificado, terminándolo forzosamente.

pkill nombre_proceso

Termina todos los procesos con el nombre especificado.

Configuración de interfaces de red con ifconfig

Listar interfaces de red y su información

ifconfig

Para activar/desactivar interfaces:

ifconfig eth0 down
ifconfig eth0 up

Estos comandos son equivalentes a ipconfig /renew en Windows.

Monitorización del espacio en disco con df

Verificar el uso del espacio en disco

df -h

Para cambiar al directorio raíz y ver el tamaño de cada subdirectorio:

cd /
du -sh *

Identificar archivos abiertos en el sistema

lsof | grep delete

Si el comando lsof no está disponible:

apt install lsof

Para buscar archivos grandes:

find ./ -name "*.log" -size +10M

Para ver el tamaño total de un directorio específico:

du -sh nombre_directorio

Compresión y descompresión de archivos

1. Comprimir un directorio

zip -r respaldo.zip directorio

2. Descomprimir en un directorio específico

unzip respaldo.zip -d destino

3. Comprimir múltiples archivos y directorios

zip -r paquete.zip carpeta1 archivo1.txt

4. Descomprimir directamente en el directorio actual

unzip paquete.zip

5. Descomprimir varios archivos a la vez

unzip paquete*.zip

6. Ver contenido de un archivo comprimido

unzip -v paquete.zip

7. Verificar integridad de un archivo comprimido

unzip -t paquete.zip

8. Extraer archivos al directorio actual (sin mantener estructura)

unzip -j paquete.zip

Gestión de usuarios

Crear un nuevo usuario

useradd nuevo_usuario

Establecer contraseña para el usuario

sudo passwd nuevo_usuario

Agregar usuario a un grupo

Para agregar el usuario al grupo sudo:

sudo usermod -aG sudo nuevo_usuario

Solución para comando systemctl no encontrado

apt install systemd

Visualización detallada del uso de memoria

free -h

Ejemplo de salida:

total used free shared buff/cache available
Mem: 64G 50G 1.4G 2G 12G 10G
Swap: 8G 0G 8G

La columna 'available' indica la memoria realmente disponible (10G en este caso), mientras que 'free' muestra memoria no utilizada (1.4G).

Herramienta para identificar directorios grandes

ncdu

Esta herramienta proporciona una interfaz interactiva para explorar el uso del espacio en disco, mostrando los directorios más grandes primero.

Truncar archivos de texto

truncate -s 0 archivo.log

Este comando vacía el contenido del archivo sin eliminarlo.

Etiquetas: comandos-linux administracion-de-sistemas terminal-ubuntu gestion-de-permisos transferencia-de-archivos

Publicado el 6-27 02:37