GNU/Linux >> Tutoriales Linux >  >> Linux

Comandos de Linux utilizados con frecuencia por los administradores de sistemas de Linux - Parte 3

La semana pasada y la semana anterior, publiqué la parte 1 y la parte 2 de esta serie de cinco partes titulada:Comandos de Linux utilizados con frecuencia por los administradores de sistemas de Linux . Esos dos artículos nos adentraron un poco más en lo que creo que son alrededor de 50 a 100 comandos que los administradores de sistemas Linux y los usuarios avanzados usan a menudo. Además, consulte la Parte 4 y la Parte 5.

Pasemos a la parte 3 con otro conjunto de comandos y herramientas de línea de comandos que se utilizan a menudo para la transferencia de archivos, la manipulación de archivos, la resolución de problemas de red y otras tareas administrativas realizadas por los sistemas Linux. En esta y futuras series, agruparé los comandos relacionados tanto como sea posible y también agregaré una tabla de contenido para interconectar las cinco partes de esta serie.

1. rsync – transferencias remotas de archivos y sincronización.

Rsync (sincronización remota) es una herramienta de código abierto para la sincronización de archivos entre sistemas locales y remotos. En 2016, se me encomendó la tarea de configurar un espejo respaldado por CDN global para distribuciones de Linux y otros repositorios: Evowise CDN (https://mirros.evowise.com). Este proyecto se basa en gran medida en rsync para garantizar que cientos de terabytes de archivos estén siempre sincronizados. Con el tiempo, más distribuciones han ofrecido sus propios espejos respaldados por CDN globales; sin embargo, todavía hay solo un puñado de réplicas multidistribución y multisoftware. Este es un ejemplo del uso de rsync comando para hacer una copia de seguridad de los archivos de forma remota:

rsync -avze ssh /path/to/directory1/ user@IP_or_hostname:/remote/backup/directory1/

Para descargar desde el directorio remoto, invierta el orden del comando:

rsync -avze ssh user@IP_or_hostname:/remote/backup/directory1/ /path/to/directory1/

Rsync es un tema completo en sí mismo. Como tal, revisemos este comando con más detalle en una fecha posterior. Mientras tanto, el mejor lugar para comenzar sería leer la documentación y las hojas de trucos.

2. tar , gzip , b2zipzip manipulación de archivos.

tar (archivo de cinta) es una utilidad de archivo.

Para extraer de un archivo, use:(con opciones x =extraer, v =detallado, f =archivo):

tar - xvf archive.tar

Para crear un archivo a partir de archivos o un directorio, use:(con la opción c =crear)

tar -cvf archive.tar file1 file2 file3

Para crear archivos comprimidos, use:(con la opción z para comprimir con gzip)

tar -cvzf archive.tar file1 file2 file3

Para mostrar todos los archivos contenidos en un uso de archivo (con la opción t =lista):

tar -tvf archive.tar

gzip significa GNU zip. Se utiliza para la compresión y descompresión de archivos.

Para crear un archivo comprimido, use:

gzip file1

Para descomprimir un archivo, use:

gunzip file1.gz

Como un archivo creado con  tar no se comprimirá sin opciones adicionales; esto se puede hacer usando gzip .

Para combinar archivos en un uso de archivo comprimido (con la opción z =gzip):

tar -cvzf archive.tar.gz file1 file2

Lo que resultará en archive.tar.gz

Para descomprimir y extraer archivos de un archivo gzip, use:

tar -xvzf archive.tar.gz

bzip2 es similar a gzip. Simplemente usa un algoritmo de compresión diferente.

Para crear un archivo comprimido, use:

bzip2 file1

Para descomprimir un archivo, use:

bunzip2 file1.bz2

Para combinar archivos en un uso de archivo comprimido (con la opción j =bzip2):

tar -cvjf archive.tar.bz2 file1 file2

Lo que resultará en archive.tar.bz2

Top descomprimir y extraer archivos de un archivo bzip2 use:

tar -xvjf archive.tar.bz2

zip se utiliza para empaquetar y comprimir (para archivar) archivos.

Para combinar archivos individuales en un archivo comprimido, use:

zip archive.zip file1 file2

Para combinar directorios completos en un archivo comprimido:

zip -r archive.zip directory1 directory2 directory3

Para descomprimir y extraer archivos o directorios de un archivo zip, use:

unzip archive.zip

Para mostrar todos los archivos almacenados en un archivo, use:

unzip -l archive.zip

3. locate – buscar archivos en Linux.

En la parte 1, mencionamos el uso de find y grep . Locate utiliza un proceso en segundo plano que se ejecuta periódicamente para buscar y almacenar los archivos de su sistema en su propia base de datos. Ahí radica su única ventaja... ¡velocidad!

En algunas distribuciones, Ubuntu, por ejemplo, debe instalar manualmente:

sudo apt-get install locate

Para buscar un uso de archivo (con la opción i =ignorar caso):

locate -i filename

Por ejemplo:

hydn@ubuntu:~$ sudo locate -i firewall
/etc/fail2ban/action.d/firewallcmd-allports.conf
/etc/fail2ban/action.d/firewallcmd-common.conf
/etc/fail2ban/action.d/firewallcmd-ipset.conf
/etc/fail2ban/action.d/firewallcmd-multiport.conf
...

La base de datos se actualizará diariamente a través de cron. Sin embargo, si necesita actualizarlo manualmente, puede usar:

sudo updatedb

4. ps – información sobre los procesos actualmente en ejecución.

En la parte 1, analizamos pstree , una alternativa más visual al comando ps. Una forma de usar ps para obtener más información sobre los procesos en ejecución es utilizar lo siguiente:

ps aux | less

El a La opción enumerará todos los procesos de los usuarios excepto los líderes de grupo y los procesos que no están asociados con una terminal.

El u opción proporciona información detallada sobre cada proceso.

El x La opción enumerará todos los procesos cuando se use junto con a opción.

Para mostrar un árbol de procesos:

ps axjf | less

Para mostrar información sobre hilos, use:

ps -eLf | less
ps axms | less

Para ver todos los procesos que se ejecutan como root en formato de usuario, use:

ps -U root -u root u

Para mostrar solo los ID de proceso de syslogd, use:

ps -C syslogd -o pid=

Para mostrar solo el nombre del PID 411, use:

ps -q 411 -o comm=

Los ejemplos anteriores son de man ps .

5. Haciendo uso de scripts Bash.

Un script Bash es un archivo de texto sin formato que contiene una serie de comandos. Estos son comandos que normalmente escribiríamos en la línea de comandos (es decir, rsync ... o cp ... ), pero nos gustaría ahorrar tiempo al no tener que escribir comandos manualmente cada vez, o nos gustaría programar esos comandos para que se ejecuten más tarde, usando cron.

Para crear un script bash, coloque #!/bin/bash en la parte superior del archivo. Aquí hay un script bash simple para ejecutar copias de seguridad:

#!/bin/bash
rsync -avze ssh /path/to/directory1/ user@IP_or_hostname:/remote/backup/directory1/
echo "Remote backup for $(date) " | mail -s "backup complete" user@youremail

Una vez que escriba o pegue esto en un nuevo archivo, puede guardarlo como scriptname.sh. En este caso, remotebackup.sh. Luego, cambia los permisos del archivo para hacerlo ejecutable:

chmod +x remotebackup.sh

Para ejecutar/ejecutar el script desde el directorio actual, escriba:

./remotebackup.sh

O puede programar la secuencia de comandos de Bash para que se ejecute con maíz, como se explica en la siguiente sección.

Además, consulte BashScripting para principiantes de Ubuntu.

6. cron – Configurar tareas programadas para ejecutar.

El cron daemon es una herramienta integrada de Linux que ejecuta tareas programadas (comandos o scripts de shell) periódicamente en horas, fechas o intervalos fijos. Los administradores de sistemas suelen utilizar cron para automatizar las tareas de administración y mantenimiento del sistema. Por ejemplo, usando cron para ejecutar rsync todas las noches.

Aquí hay un ejemplo de un cron entrada de una sola línea utilizada para ejecutar un script de copia de seguridad todas las noches a las 2 am:

0 2 * * * ~/myscripts/remotebackup.sh

Para comenzar, lea el cron guías de configuración creadas por Ubuntu y Red Hat y hacer referencia a la página de manual de cron. También hay generadores de expresiones cron en línea.

7. nmcli – gestión de red.

NetworkManager es un conjunto de herramientas para administrar la conectividad de red en su sistema Linux. Funciona para conexiones por cable, inalámbricas e incluso Bluetooth.

Para mostrar todos los dispositivos de red disponibles, utilice:

nmcli d

Por ejemplo:

Red Hat ha publicado una excelente guía de redes para nmcli .

8. ping – enviar ICMP ECHO_REQUEST a los hosts de la red.

El ping El comando (Packet Internet Groper) se usa para verificar la conectividad de red entre servidores y otros hosts. Puede ingresar la dirección IP o la URL, y el comando ping luego envía un paquete de datos a la dirección especificada con el mensaje "PING" y espera una respuesta del servidor/host de destino. Se informa el tiempo que lleva recibir este paquete de respuesta. Este tiempo se llama latencia. Baja latencia =respuesta de conexión más rápida.

ping [hostname/ip]

Por ejemplo:

Utilice el -c bandera para especificar el número de paquetes de ping a enviar. Por ejemplo:

ping -c 5 IP_ADDRESS

9. traceroute – verifique la ruta que toman los paquetes a un host específico.

traceroute comprueba la ruta que toman los paquetes para llegar a un host específico. Utiliza el campo de tiempo de vida (TTL) del protocolo IP e intenta obtener una respuesta ICMP TIME_EXCEEDED de cada puerta de enlace a lo largo de la ruta al host. (Fuente:man traceroute) Traceroute puede ayudar a encontrar el origen de los retrasos en la latencia de la red, las interrupciones y otros problemas de enrutamiento de la red.

Además, eche un vistazo a mtr (Mi Traceroute).

10. nslookup – consultar servidores de nombres de Internet (NS) de forma interactiva.

nslookup (Búsqueda del servidor de nombres) es un comando que se utiliza para recopilar información de los sistemas de nombres de dominio (DNS). Con nslookup , los administradores de sistemas pueden consultar el nombre de dominio o la información de la dirección IP.

Para buscar el registro A de un dominio, use:

nslookup haydenjames.io

Para buscar los registros NS de un dominio para averiguar sus servidores autorizados, utilice:

nslookup -type=ns ubuntu.com

Para buscar los registros MX de un dominio, use:

nslookup -query=mx redhat.com

Para buscar el SOA (inicio de autoridad) de un dominio, utilice:

nslookup -query=soa debian.com

Para mostrar la lista de registros DNS de un dominio, use:

nslookup -type=any mysql.com

Para buscar el rDNS (DNS inverso) de un dominio, use:

nslookup [domain_IP]

Véase también, el host y dig comandos.

Consejo adicional: Visite explainshell.com para hacer coincidir los argumentos de la línea de comandos con su texto de ayuda.

Eso es todo por ahora. Espero que hayas disfrutado la parte 3. Comparte, suscríbete, marca y deja cualquier comentario o sugerencia que puedas tener.

Siguiente: Comandos de Linux utilizados con frecuencia por los administradores de sistemas de Linux:Parte 4 >


Linux
  1. 16 comandos Tar para comprimir y extraer archivos en Linux

  2. 40 comandos básicos de Linux utilizados con frecuencia

  3. Cómo archivar archivos y directorios en Linux [Parte 1]

  4. Comando tar de Linux

  5. nohup múltiples comandos secuenciales

40 comandos de red Linux útiles para administradores de sistemas modernos

90 comandos de Linux utilizados con frecuencia por los administradores de sistemas de Linux

Comandos de Linux utilizados con frecuencia por los administradores de sistemas de Linux - Parte 5

Comandos de Linux utilizados con frecuencia por los administradores de sistemas de Linux - Parte 4

Comandos de Linux utilizados con frecuencia por los administradores de sistemas de Linux - Parte 2

Comandos de Linux utilizados con frecuencia por los administradores de sistemas de Linux - Parte 1