| |

Utilidades Linux

Bat

batcat (a menudo conocido simplemente como bat) es una alternativa mejorada al comando cat en Linux. Es una herramienta que no solo permite mostrar el contenido de archivos, como cat, sino que añade características útiles como:

  • Resaltado de sintaxis para archivos de código fuente u otros tipos de archivo reconocidos.
  • Numeración de líneas, muy útil para revisar archivos largos.
  • Integración con Git, mostrando cambios en el archivo si forma parte de un repositorio.
  • Funcionalidades adicionales como dividir la salida en páginas cuando el archivo es muy largo (similar a less).

En resumen, batcat combina las funcionalidades de cat con mejoras visuales y de usabilidad que hacen más fácil trabajar con archivos en la terminal.

Cómo instalar batcat:

En sistemas basados en Debian/Ubuntu:

bash
sudo apt update
sudo apt install bat


En algunas distribuciones puede estar disponible como batcat. Si lo instalas así, el ejecutable será batcat en lugar de bat.

En sistemas basados en Fedora:

bash
sudo dnf install bat


En Arch Linux (y derivadas como Manjaro):

bash
sudo pacman -S bat


Usando Snap: Si tu sistema soporta Snap, también puedes instalarlo con:

bash
sudo snap install bat

Usando Homebrew: Si tienes instalado Homebrew en Linux:

bash
brew install bat

Una vez instalado, puedes comenzar a usarlo simplemente reemplazando cat por bat o batcat, por ejemplo:

bash
bat archivo.txt


Si quieres explorar más de sus funciones, puedes ejecutar:

bash
bat --help

Paginador de bat:

Por defecto, batcat utiliza un paginador como less para manejar archivos extensos. Este paginador es interactivo y te permite realizar varias acciones desde esos dos puntos (:) al estilo de Vim. Aquí te dejo las opciones principales que puedes usar:

Comandos básicos en el paginador:

  1. Moverse por el archivo:
    • Espacio: Avanzar una página.
    • Enter: Avanzar una línea.
    • b: Retroceder una página.
    • g: Ir al principio del archivo.
    • G: Ir al final del archivo.
  2. Buscar texto:
    • /: Iniciar una búsqueda (escribe el texto que quieres buscar y presiona Enter).
    • n: Ir a la siguiente coincidencia en la búsqueda.
    • N: Ir a la coincidencia anterior.
  3. Opciones adicionales:
    • q: Salir del paginador y regresar al terminal.
    • h: Mostrar ayuda sobre los comandos del paginador.
    • &: Filtrar líneas que coincidan con un patrón (similar al uso de grep).
  4. Cambiar modos de visualización:
    • F: Activar seguimiento en tiempo real, útil para ver cómo se actualiza el archivo en vivo (similar al comando tail -f).
    • v: Abrir el archivo en Vim directamente desde el paginador.

Configuración adicional:

Si prefieres que batcat muestre el contenido sin usar el paginador (especialmente útil para archivos pequeños), puedes desactivar esta función usando el siguiente comando:

bash

batcat --paging=never archivo.txt

Por otro lado, si quieres personalizar el paginador (por ejemplo, usar more en lugar de less), puedes configurar una variable de entorno en tu terminal:

bash

export BAT_PAGER="more"

Luego, agrega esta línea en tu archivo ~/.bashrc o ~/.zshrc para que sea permanente.

Xclip

¿Qué es xclip?


xclip es una utilidad de línea de comandos en Linux que permite interactuar con el portapapeles del sistema. Con xclip, puedes copiar y pegar texto desde la terminal hacia cualquier aplicación gráfica, o viceversa.

Desglose del comando xclip -selection clipboard
-selection: Este parámetro especifica qué «selección» del portapapeles se utilizará. En los sistemas gráficos de Linux (especialmente los basados en X11), existen diferentes «selecciones» para interactuar con el portapapeles:

primary: Es la selección primaria, que se genera automáticamente cuando seleccionas texto con el ratón. Puedes pegar el texto seleccionado presionando el botón central del ratón.

secondary: Se utiliza raramente, ya que no tiene un propósito claro en la mayoría de los sistemas.

clipboard: Es la selección más común y la que usamos cuando copiamos texto con Ctrl+C y lo pegamos con Ctrl+V. Este es el portapapeles tradicional.

En el comando que diste (-selection clipboard), estás especificando que el texto debe copiarse al portapapeles estándar del sistema.

clipboard: Es el valor que se pasa al parámetro -selection para indicar que quieres trabajar con el portapapeles convencional (el que usas con Ctrl+C y Ctrl+V).

Cómo usar xclip una vez instalado


Aquí te explico los usos más comunes de xclip:

  1. Copiar texto al portapapeles
    Puedes usar xclip para copiar texto desde la terminal. Por ejemplo:
bash
echo "Hola, mundo" | xclip -selection clipboard

Esto copia la cadena «Hola, mundo» al portapapeles. Luego puedes pegarla en cualquier aplicación gráfica con Ctrl+V.

  1. Pegar texto desde el portapapeles al terminal
    Si tienes algo copiado en el portapapeles, puedes pegarlo en la terminal utilizando este comando:
bash
xclip -selection clipboard -o


El parámetro -o indica que quieres «output» (salida) del texto almacenado en el portapapeles.

  1. Copiar contenido de un archivo
    Si quieres copiar el contenido completo de un archivo al portapapeles:
bash
xclip -selection clipboard < archivo.txt
  1. Guardar contenido del portapapeles en un archivo
    Puedes guardar el contenido del portapapeles en un archivo así:
bash
xclip -selection clipboard -o > salida.txt

Comandos prácticos
Ver ayuda completa de xclip:

bash
xclip --help

Consultar más ejemplos:

bash
man xclip

Comando tr


tr significa translate (traducir). Es una utilidad para traducir, eliminar o comprimir caracteres en un texto o flujo de datos de entrada (usualmente canalizado). Trabaja solo sobre la entrada estándar (stdin) y envía el resultado a la salida estándar (stdout).

Sintaxis básica


bash
tr [opciones] SET1 [SET2]


SET1: El conjunto de caracteres que se quiere buscar.

SET2: El conjunto de caracteres a los que se quiere traducir.

Opciones comunes
-d: Elimina caracteres especificados en SET1.

-s: Suprime (comprime) múltiples ocurrencias de un carácter consecutivo en uno solo.

-c: Utiliza el complemento de SET1 (todos los caracteres que no están en SET1).

Ejemplos prácticos:
Reemplazar caracteres: Cambiar todas las letras minúsculas por mayúsculas:

bash
echo "hola mundo" | tr 'a-z' 'A-Z'

Resultado: HOLA MUNDO

Eliminar caracteres: Eliminar todas las vocales:

bash
echo "hola mundo" | tr -d 'aeiou'

Resultado: hl mnd

Comprimir repeticiones: Comprimir múltiples espacios en uno solo:

bash
echo "hola mundo" | tr -s ' '

Resultado: hola mundo

Trabajar con el complemento: Eliminar todo excepto dígitos (0-9):

bash
echo "hola 123 mundo" | tr -cd '0-9'

Resultado: 123

El comando xargs

xargs es una herramienta que toma un flujo de datos de entrada (por ejemplo, líneas, palabras o cualquier texto) y lo pasa como argumentos a otro comando. Se utiliza cuando necesitas procesar un conjunto de elementos con un comando que no acepta entrada estándar directamente.

Sintaxis básica

bash

xargs [opciones] [comando]

Por defecto, xargs usa echo como comando si no se especifica otro.

Opciones comunes

  • -n N: Procesa un máximo de N elementos por cada ejecución del comando.
  • -d DELIM: Especifica un delimitador personalizado para dividir la entrada.
  • -p: Pregunta antes de ejecutar cada comando.
  • -I REPLACE_STRING: Reemplaza una cadena en el comando con cada elemento de entrada.
  • --null o -0: Procesa entradas delimitadas por un carácter nulo (útil con find -print0).

Ejemplos prácticos:

  1. Pasar entrada estándar como argumentos: Imagina que tienes una lista de archivos y quieres eliminarlos:bashecho "archivo1 archivo2 archivo3" | xargs rm # Se ejecuta como: rm archivo1 archivo2 archivo3
  2. Controlar la cantidad de argumentos por ejecución: Imprime dos palabras por ejecución del comando echo:bashecho "uno dos tres cuatro" | xargs -n 2 echo # Resultado: # uno dos # tres cuatro
  3. Reemplazar en un comando: Utilizar curl para descargar URLs de una lista:bashcat urls.txt | xargs -I {} curl -O {}
  4. Trabajar con delimitadores nulos: Procesar archivos con nombres complejos (que contienen espacios):bashfind . -type f -print0 | xargs -0 rm

Comando Find

El comando find de Linux es una herramienta poderosa para buscar archivos y directorios en el sistema basado en criterios específicos. Con él, puedes realizar búsquedas complejas y combinarlas con otros comandos para maximizar su utilidad. Aquí tienes una explicación exhaustiva de todas sus posibilidades, con ejemplos.

Sintaxis básica

bash

find [ruta] [condiciones] [acciones]
  • ruta: Especifica el directorio en el que realizar la búsqueda. Puede ser un directorio específico o el actual (.).
  • condiciones: Define los criterios para filtrar resultados (nombre, tamaño, tipo, etc.).
  • acciones: Indica qué hacer con los resultados encontrados (como imprimirlos, eliminarlos o ejecutarlos).

Parámetros principales

1. Buscar por nombre

  • Exacto:bashfind /ruta -name "archivo.txt" Busca archivos con el nombre exacto «archivo.txt».
  • Ignorar mayúsculas/minúsculas:bashfind /ruta -iname "archivo.txt"

2. Buscar por tipo

  • Archivos normales:bashfind /ruta -type f
  • Directorios:bashfind /ruta -type d
  • Enlaces simbólicos:bashfind /ruta -type l

3. Buscar por tamaño

  • Mayor que:bashfind /ruta -size +100M Archivos mayores a 100 MB.
  • Menor que:bashfind /ruta -size -1k Archivos menores a 1 KB.

4. Buscar por tiempo

  • Archivos modificados hace X días:bashfind /ruta -mtime -7 Archivos modificados en los últimos 7 días.
  • Archivos creados hace X minutos:bashfind /ruta -mmin -30 Archivos modificados en los últimos 30 minutos.

5. Buscar por permisos

  • Archivos con permisos específicos:bashfind /ruta -perm 644
  • Archivos que cumplen parcialmente los permisos:bashfind /ruta -perm /u=w Archivos donde el usuario tiene permiso de escritura.

6. Buscar por propietario o grupo

  • Por usuario:bashfind /ruta -user nombre_usuario
  • Por grupo:bashfind /ruta -group nombre_grupo

7. Buscar por contenido

  • Buscar archivos que contengan texto específico dentro:bashfind /ruta -type f -exec grep -l "texto" {} + Encuentra archivos que contienen «texto».

Acciones

1. Imprimir resultados

Por defecto, find imprime los resultados, pero puedes usar:

bash

find /ruta -name "archivo.txt" -print

2. Ejecutar comandos sobre los resultados

  • Eliminar archivos:bashfind /ruta -name "*.log" -exec rm {} \;
  • Mover archivos:bashfind /ruta -name "*.txt" -exec mv {} /nuevo/directorio/ \;
  • Cambiar permisos:bashfind /ruta -type f -exec chmod 644 {} \;

3. Acciones múltiples

Puedes combinar acciones con -exec o usar -ok para confirmarlas:

bash

find /ruta -name "*.bak" -ok rm {} \;

Buscar en múltiples directorios

bash

find /dir1 /dir2 -name "*.txt"

Busca archivos .txt en dos directorios.

Buscar y excluir elementos

Excluir directorios específicos:

bash

find /ruta -name "*.log" -not -path "/ruta/excluida/*"

Excluir archivos por condiciones:

bash

find /ruta -type f ! -name "*.txt"

Encuentra todos los archivos excepto los .txt.

Optimización con búsqueda paralela

Con find puedes mejorar el rendimiento combinándolo con xargs:

bash

find /ruta -name "*.log" | xargs rm

Esto elimina archivos más rápido que con -exec.

Uso avanzado: buscar en sistemas grandes

Buscar archivos y copiar:

bash

find /ruta -type f -name "*.jpg" -exec cp {} /backup/ \;

Crear un listado de archivos:

bash

find /ruta -type f > lista_archivos.txt

Buscar y comprimir archivos grandes:

bash

find /ruta -size +500M -exec gzip {} \;

Ejemplos específicos

  1. Buscar y contar archivos de texto:bashfind /ruta -name "*.txt" | wc -l
  2. Encontrar archivos duplicados por nombre:bashfind /ruta -type f -printf "%f\n" | sort | uniq -d
  3. Buscar archivos antiguos y eliminarlos:bashfind /ruta -type f -mtime +30 -exec rm {} \;

Integración con scripts

Puedes usar find en scripts para automatizar tareas. Ejemplo:

bash

#!/bin/bash
find /ruta -name "*.log" -mtime +7 -exec rm {} \;
echo "Archivos antiguos eliminados."

find es una herramienta extremadamente versátil y poderosa, ideal para administrar sistemas, limpiar archivos antiguos, y mucho más.

Comando Grep

El comando grep es una poderosa herramienta en Linux/Unix que se utiliza para buscar patrones de texto dentro de archivos o en la entrada estándar. Su nombre viene de «Global Regular Expression Print». A continuación, te explico cómo funciona y cuáles son sus parámetros más útiles.

Sintaxis básica

bash

grep [opciones] 'patrón' archivo(s)
  • patrón: Es el texto o expresión regular que deseas buscar.
  • archivo(s): Son los archivos donde deseas realizar la búsqueda. Si no se especifica, grep buscará en la entrada estándar.

Opciones comunes de grep

  1. -i: Ignora mayúsculas y minúsculas durante la búsqueda.bashgrep -i 'hola' archivo.txt # Encuentra "hola", "Hola", "HOLA", etc.
  2. **-r o -R: Realiza una búsqueda recursiva en subdirectorios.bashgrep -r 'error' /var/log
  3. -v: Muestra las líneas que no coinciden con el patrón.bashgrep -v 'fallo' archivo.txt
  4. -c: Muestra el número de líneas que coinciden con el patrón en lugar del contenido de las líneas.bashgrep -c 'usuario' archivo.txt
  5. -l: Lista los nombres de los archivos que contienen el patrón, sin mostrar el contenido.bashgrep -l 'main' *.c
  6. -n: Muestra el número de línea de cada coincidencia.bashgrep -n 'import' script.py
  7. -w: Busca coincidencias exactas de palabras (no como parte de otras).bashgrep -w 'echo' archivo.txt
  8. -A N y -B N: Muestra líneas adicionales antes o después de una coincidencia:
    • -A N: Muestra N líneas después de la coincidencia.
    • -B N: Muestra N líneas antes de la coincidencia.
    • -C N: Muestra N líneas antes y después de la coincidencia.
    bashgrep -A 2 'error' archivo.log
  9. -e: Permite especificar múltiples patrones de búsqueda.bashgrep -e 'error' -e 'warning' archivo.txt
  10. -f: Permite leer los patrones de un archivo.bashgrep -f patrones.txt archivo.txt
  11. --color: Resalta las coincidencias del patrón en el resultado (en muchos sistemas ya es la opción predeterminada).bashgrep --color 'error' archivo.txt
  12. -P: Activa el uso de expresiones regulares de Perl (Perl-Compatible Regular Expressions, PCREs).bashgrep -P '\d{3}-\d{2}-\d{4}' archivo.txt # Busca patrones como números de teléfono o formatos específicos.

Ejemplos prácticos

  1. Buscar un texto específico dentro de un archivo:bashgrep 'error' /var/log/syslog
  2. Buscar un texto en varios archivos al mismo tiempo:bashgrep 'TODO' *.py
  3. Hacer una búsqueda insensible a mayúsculas/minúsculas:bashgrep -i 'usuario' usuarios.txt
  4. Contar líneas que coincidan con un patrón:bashgrep -c 'DEBUG' log.txt
  5. Ver nombres de archivos con coincidencias:bashgrep -l 'password' *.conf

Expresiones regulares en grep

grep admite expresiones regulares básicas y extendidas (con la opción -E). Algunos ejemplos:

  • Patrón simple: grep 'abc' archivo.txt busca la cadena «abc».
  • Comodín: grep 'a.c' archivo.txt busca «a*c», donde . puede ser cualquier carácter.
  • Inicio de línea: grep '^abc' archivo.txt busca líneas que comiencen con «abc».
  • Fin de línea: grep 'abc$' archivo.txt busca líneas que terminen con «abc».

Entender las expresiones regulares (regex) te abrirá un universo de posibilidades para trabajar con texto en Bash y en muchas otras herramientas. Primero, te explicaré qué son las expresiones regulares básicas y extendidas, luego cuándo usar la opción -E y, finalmente, una guía completa sobre las expresiones regulares en general.

Expresiones Regulares Básicas y Extendidas

Las expresiones regulares son patrones que se usan para buscar, coincidir y manipular texto. En Bash, los comandos como grep, sed y awk pueden usar expresiones regulares.

  1. Expresiones Regulares Básicas (BRE – Basic Regular Expressions):
    • Son compatibles por defecto con herramientas como grep (sin la opción -E).
    • Para usar caracteres especiales (metacaracteres), a menudo necesitas escaparlos con una barra invertida (\).
    • Ejemplo de metacaracteres básicos en BRE:
      • .: Representa cualquier carácter.
      • *: Cero o más repeticiones del carácter anterior.
      • ^: Coincide con el inicio de una línea.
      • $: Coincide con el final de una línea.
    Ejemplo en grep:bashecho "abc" | grep "a.c" # Coincide con "abc" porque "." representa cualquier carácter. Para buscar, por ejemplo, «a\*» literalmente (en lugar de «cero o más a»):bashecho "a*" | grep "a\*"
  2. Expresiones Regulares Extendidas (ERE – Extended Regular Expressions):
    • Son más potentes y fáciles de usar porque no necesitas escapar muchos caracteres especiales.
    • Para habilitar ERE en grep, necesitas usar la opción -E (o usar el comando egrep, que es equivalente a grep -E).
    • Incluyen más metacaracteres:
      • +: Una o más repeticiones del carácter anterior.
      • ?: Cero o una repetición del carácter anterior.
      • |: Operador «o» (OR).
      • (): Agrupación (no es necesario escaparlos como en BRE).
    Ejemplo en grep -E:bashecho "abc" | grep -E "a(b|c)" # Coincide con "ab" o "ac". Sin -E tendrías que escapar ciertos metacaracteres:bashecho "abc" | grep "a\(b\|c\)"

¿Cuándo usar grep -E (ERE)?

  • Usa -E cuando trabajes con patrones más complejos que incluyan metacaracteres como +, ?, | o agrupaciones con ().
  • Si necesitas escribir patrones simples, las expresiones regulares básicas (BRE) pueden ser suficientes.
  • En resumen:
    • BRE: Búsquedas simples (menos necesidad de metacaracteres avanzados).
    • ERE: Cuando necesitas patrones avanzados y quieres evitar escapar demasiados metacaracteres.

Guía Completa de Expresiones Regulares

Aquí tienes un desglose de los principales metacaracteres y cómo utilizarlos:

1. Caracteres básicos

  • .: Coincide con cualquier carácter (excepto saltos de línea).bashecho "cat" | grep "c.t" # Coincide con "cat", "cot", "cut", etc.
  • [ ]: Coincide con cualquier carácter dentro del rango especificado.bashecho "cat" | grep "c[aou]t" # Coincide con "cat", "cot" o "cut".
  • [^ ]: Coincide con cualquier carácter que NO esté en el rango.bashecho "cat" | grep "c[^aeiou]t" # No coincidiría con "cat".
  • ^: Coincide con el inicio de una línea.bashecho "hello world" | grep "^hello" # Coincide porque "hello" está al inicio de la línea.
  • $: Coincide con el final de una línea.bashecho "hello world" | grep "world$" # Coincide porque "world" está al final de la línea.

2. Cuantificadores

  • *: Cero o más repeticiones del carácter anterior.bashecho "aaa" | grep "a*" # Coincide con "aaa", "aa", "a" o incluso una línea vacía.
  • + (ERE): Una o más repeticiones.bashecho "aaa" | grep -E "a+" # Coincide con "aaa", "aa", "a".
  • ? (ERE): Cero o una repetición.bashecho "color" | grep -E "colou?r" # Coincide con "color" y "colour".
  • {n,m}: Entre n y m repeticiones.bashecho "aaa" | grep -E "a{2,3}" # Coincide con "aa" o "aaa".

3. Agrupación y alternativas

  • () (ERE): Agrupa expresiones.bashecho "cat" | grep -E "(cat|dog)" # Coincide con "cat" o "dog".
  • | (ERE): Operador OR.bashecho "cat" | grep -E "cat|dog" # Coincide con "cat" o "dog".

4. Escapado (\)

Escapa metacaracteres para tratarlos como texto literal.

bash

echo "1+1=2" | grep "1\+1"
# Coincide con "1+1".

Ejemplos prácticos en otros comandos

  • sed (Stream Editor): Reemplaza «foo» por «bar»:bashecho "foo" | sed 's/foo/bar/'
  • awk: Imprime líneas que contienen un número:bashecho "line 1\nline 2" | awk '/[0-9]/'

Las expresiones regulares son fundamentales en Bash y muchas otras herramientas.

Comando Sed

El comando sed (Stream Editor) en Linux es una herramienta poderosa para procesar y transformar texto. Se utiliza para buscar, reemplazar, insertar o eliminar texto en archivos o flujos de datos sin necesidad de abrirlos en un editor. Aquí tienes una explicación detallada:

Sintaxis básica

bash

sed [opciones] 'comando' archivo
  • opciones: Modifican el comportamiento de sed.
  • comando: Define la operación a realizar.
  • archivo: Es el archivo de texto sobre el que se aplicará el comando.

Opciones comunes

  1. -n: Suprime la salida estándar, mostrando solo lo que se especifica con el comando p.
  2. -e: Permite ejecutar múltiples comandos.
  3. -f: Lee comandos desde un archivo.
  4. -i: Edita el archivo original directamente (modo in-place).

Comandos básicos

  • s/patrón/reemplazo/: Sustituye el patrón por el reemplazo.
  • d: Elimina líneas.
  • p: Imprime líneas.
  • a\ texto: Añade texto después de una línea.
  • i\ texto: Inserta texto antes de una línea.
  • c\ texto: Reemplaza una línea completa con texto.
  • q: Finaliza la ejecución después de una línea específica.

Ejemplos prácticos

  1. Reemplazar texto en un archivo:bashsed 's/hola/adiós/' archivo.txt Cambia la primera aparición de «hola» por «adiós» en cada línea.
  2. Reemplazo global:bashsed 's/hola/adiós/g' archivo.txt Cambia todas las apariciones de «hola» por «adiós».
  3. Eliminar líneas específicas:bashsed '3d' archivo.txt Elimina la línea 3 del archivo.
  4. Imprimir líneas específicas:bashsed -n '2,4p' archivo.txt Muestra solo las líneas 2 a 4.
  5. Insertar texto:bashsed '2a\ Este es un texto nuevo' archivo.txt Añade «Este es un texto nuevo» después de la línea 2.
  6. Editar directamente el archivo:bashsed -i 's/hola/adiós/' archivo.txt Realiza los cambios directamente en el archivo.
  7. Eliminar líneas vacías:bashsed '/^$/d' archivo.txt Borra todas las líneas vacías.

Uso avanzado

  • Expresiones regulares: sed soporta patrones complejos para búsquedas avanzadas.
  • Combinación con tuberías:bashcat archivo.txt | sed 's/hola/adiós/' Procesa la salida de un comando anterior.

Comando awk

  1. Sumar valores de una columna:bashawk '{suma += $2} END {print suma}' archivo.txt Calcula la suma de los valores de la columna 2.
  2. Imprimir el número de campos por línea:bashawk '{print "Línea:", NR, "Campos:", NF}' archivo.txt
  3. Reemplazar el separador de salida:bashawk 'BEGIN {OFS="|"} {print $1, $2}' archivo.txt Cambia el separador de salida a |.
  4. Usar variables definidas por el usuario:bashawk -v umbral=50 '$2 > umbral {print $1, $2}' archivo.txt Solo imprime líneas donde la columna 2 sea mayor a 50.
  5. Ejecutar múltiples comandos:bashawk '{print $1; print $2}' archivo.txt

Funciones integradas útiles

  • length($N): Calcula la longitud de un campo.
  • tolower($N) / toupper($N): Convierte texto a minúsculas o mayúsculas.
  • substr($N, inicio, longitud): Extrae una subcadena.

Por ejemplo:

bash

awk '{print substr($1, 1, 3)}' archivo.txt

Imprime los tres primeros caracteres del primer campo.

awk es increíblemente flexible y poderoso.

Otras herramientas

    • uptime
  1. top y htop
    • Monitorean el uso de recursos del sistema en tiempo real.
    • top es más básico, mientras que htop es más interactivo.
  2. netstat / ss
    • Monitorean conexiones de red activas, puertos abiertos y estadísticas.
    • Ejemplo:bashnetstat -tuln
  3. cron
    • Administra tareas programadas.
    • Ejemplo: Editar el archivo crontab.bashcrontab -e
  4. systemctl
    • Administra servicios en sistemas basados en systemd.
    • Ejemplo:bashsystemctl status nginx

Comandos para seguridad

  1. chmod y chown
    • chmod: Cambia los permisos de archivos.bashchmod 755 archivo.sh
    • chown: Cambia el propietario de archivos.bashchown usuario:grupo archivo.txt
  2. iptables / ufw
    • Configuran reglas de cortafuegos.
    • Ejemplo (ufw):bashufw allow 22
  3. fail2ban
    • Detecta y bloquea direcciones IP sospechosas automáticamente.
  4. **hash y sha256sum
    • Generan valores hash de archivos.
    • Ejemplo:bashsha256sum archivo.iso
    • Verifica la integridad de archivos descargados.
  5. nmap
    • Escanea puertos abiertos y detecta servicios en redes.
    • Ejemplo:bashnmap -sV localhost
  6. tcpdump
    • Captura tráfico de red para análisis.
    • Ejemplo:bashtcpdump -i eth0
  7. auditd
    • Monitorea eventos y cambios en el sistema para auditorías.
  8. gpg
    • Encripta y firma archivos.
    • Ejemplo:bashgpg --encrypt --recipient usuario archivo.txt

Estos son solo algunos ejemplos de comandos útiles. Linux es un universo lleno de herramientas para optimizar tareas, proteger sistemas y automatizar procesos.

Publicaciones Similares

3 comentarios

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *