GNU/Linux >> Tutoriales Linux >  >> Linux

Los mejores comandos de Linux para administradores de sistemas

Los sistemas operativos Linux ofrecen innumerables comandos y utilidades de administrador de sistemas, que ayudan a los usuarios, desarrolladores e ingenieros con las tareas de administración del sistema. Por ejemplo, los comandos y paquetes de administrador de sistemas pueden ayudar a los usuarios a optimizar o administrar aplicaciones y proporcionar información valiosa para la solución de problemas a los administradores de red o de sistemas.

Estos comandos se aplican a entornos de desarrollo de Linux, máquinas virtuales, contenedores y bare metal.

Principales comandos de Linux para sysadmin

Este artículo revisa algunos comandos básicos de administrador de sistemas que se usan con frecuencia para la administración del sistema Linux con algunos ejemplos prácticos.

1. Rizo

Curl es una herramienta de línea de comandos para transferir datos desde o hacia un servidor. Admite protocolos como FTP, FTPS, HTTP, HTTPS, IMAP, POP3, POP3S, RTMP, SMBS, SMTP, SMTPS, TELNET, etc. Puede usarlo para probar la conectividad o un punto final a otro servicio, como una base de datos.

Solucionar un error HTTP 500:

$ curl -I -s my_app:5000

Incluya la opción -I para mostrar la información del encabezado y la opción -s para silenciar el cuerpo de la respuesta.

Verifique el punto final de la base de datos desde su servidor local:

$ curl -I -s my_database:27017
HTTP/1.0 200 OK

200 indican que su conexión parece estar bien.

$ curl my_database:27017
curl: (6) Couldn't resolve host 'database'

El error indica que su aplicación no puede resolver la base de datos porque la URL de la base de datos no está disponible o porque el sistema host, el contenedor o la VM no tienen un servidor de nombres para resolver el nombre de host.

2. ls

Ls enumera los archivos en un directorio, o puede ayudarlo a examinar sus permisos. También puede usarlo en una infraestructura de contenedores para determinar el directorio y los archivos de la imagen de su contenedor. Si no puede ejecutar su aplicación debido a un problema de permisos, verifique los permisos usando ls -l, luego emita los permisos de archivo apropiados usando chmod. También puede combinarlo con banderas como ls -a para enumerar todos los archivos o ls -R para enumerar archivos y directorios de forma recursiva.

[tuts@fosslinux dist]$ ls -l
-rwxr-xr-x. 1 tuts tuts 7292656 Jun 17 12:54 hello
[tuts@fosslinux hello]$ ls -R

3. chmod

Use el comando chmod para establecer permisos para una aplicación binaria o un archivo. Primero, use el comando ls para verificar los permisos de su archivo, luego emita los permisos apropiados.

Compruebe los permisos de archivo con ls -l:

[tuts@fosslinux ~]$ ls -l
-rw-rw-r--. 1 tuts tuts 6 Jun 24 18:05 dingdong.py

Emita permisos de ejecución para el archivo dingdong.py para que los usuarios puedan ejecutarlo.

[tuts@fosslinux ~]$ chmod +x dingdong.py
[tuts@fosslinux ~] ls -l
-rwxrwxr-x. 1 tuts tuts 6 Jun 24 18:05 dingdong.py

4. cola

Tail muestra el último contenido de un archivo. Es útil si desea verificar los registros de solicitudes recientes. Por ejemplo, sigue los registros más recientes a su servidor.

$ sudo tail -f /var/log/httpd/error_log

La opción -f genera las líneas de registro a medida que se escriben en el archivo. Tiene una secuencia de comandos en segundo plano que accede al punto final cada pocos segundos y el registro registra la solicitud. También puede seguir un número específico de líneas del archivo con la opción -n.

$ sudo tail -n 3 /var/log/httpd/error_log

5. grep

Puede usar grep para buscar archivos para buscar patrones específicos y resaltar las líneas relevantes en la salida de otro comando de Linux. Por ejemplo, para buscar la línea "CRÍTICA" en /var/log/dnf.log:

[tuts@fosslinux ~]$ grep CRITICAL Error /var/log/dnf.log

Utilice * para buscar en todos los archivos de un directorio y la marca -r (recursiva) para incluir la búsqueda en subdirectorios.

cd /var/log/
$ grep -r CRITICAL Error *

También puede aislar la salida del comando grep canalizando el resultado:

$ cat dnf.log | grep CRITICAL Error

6. pd

El comando ps se utiliza para investigar los ID de procesos y mostrar el estado de los procesos en ejecución. Puede usar este comando para determinar todas las aplicaciones en ejecución.

[tuts@fosslinux log]$ ps -ef

También puede combinarlo con los comandos pipe y grep

[tuts@fosslinux log]$ ps -ef | grep httpd

Use el indicador -u para ver todos los procesos propiedad del nombre de usuario:

[tuts@fosslinux log]$ ps -u username

Utilice el indicador auxiliar para ver todos los procesos con información detallada, como PID, porcentaje de tiempo de CPU que utiliza el proceso (%CPU), porcentaje de RAM (%MEM), memoria virtual en uso (VSZ), memoria física (RSS), y así sucesivamente.

7. parte superior

El comando superior muestra una lista continuamente actualizada de los procesos del sistema en orden de actividad del proceso. Puede usarlo para determinar qué procesos se están ejecutando y cuánta memoria y CPU consumen.

La información de la pantalla consta de un resumen del sistema y la tabla de procesos ordenados por actividad de la CPU. Parte de la información incluye el tiempo de actividad del sistema, el promedio de carga, el propietario del proceso (USUARIO), el porcentaje de tiempo de CPU que utiliza el proceso (%CPU), el porcentaje de RAM que utiliza el proceso (%MEM), el tiempo total de CPU utilizado por el proceso (TIME[+ ]), etc.

También puede emitir varios comandos mientras se ejecuta el comando superior. Por ejemplo, presione h o ? para ver qué comandos puede ejecutar, k para finalizar un proceso, z para colores globales o q para salir de la parte superior.

8. ambiente

El comando env se usa para establecer o mostrar sus variables de entorno. Use env para verificar si un entorno incorrecto impide que su aplicación se ejecute.

$ env
PYTHON_PIP_VERSION=20.2.2
HOME=/root
DB_NAME=my_database
PATH=/usr/local/bin:/usr/local/sbin
LANG=C.UTF-8
PYTHON_VERSION=3.9.5

9. netstat

netstat muestra el estado de la red de su sistema o infraestructura. Puede usarlo para mostrar los puertos de red y las conexiones entrantes. Puede combinarlo con otras opciones como protocolo, puerto o proceso para demostrar los puertos actuales que utilizan las aplicaciones de su sistema.

# netstat -tulpn

10. ip/ifconfig

El comando ip reemplaza a ifconfig en algunas distribuciones de Linux y puede configurar o mostrar interfaces de red y modificar direcciones IP, objetos vecinos y rutas. También puede usarlo para verificar la dirección IP de su host o contenedor.

Use 'ip a' (dirección) para mostrar información sobre todas las interfaces de red:

[tuts@fosslinux]$ ip a

Utilice el comando 'ip link set device_name' para activar o desactivar una interfaz:

[tuts@fosslinux]$ ip link set eth0 up #bring up
[tuts@fosslinux]$ ip link set eth0 down #bring down

11. df

Use el comando df (mostrar espacio libre en disco) para verificar el tamaño del sistema de archivos y solucionar problemas de espacio en disco. Es útil en situaciones en las que recibe un mensaje de error que indica la falta de espacio libre en su sistema en un host contenedor.

[tuts@fosslinux ~]$ df -h

El indicador -h muestra la información en un formato legible por humanos (es decir, MB y GB). De forma predeterminada, el comando df muestra los resultados de cada usuario en el directorio raíz. Sin embargo, puede limitar la visualización a un directorio específico (es decir, df -h/tmp)

Use el indicador -x para ignorar cualquier sistema de archivos:

[tuts@fosslinux ]$ df -h -x tmpfs

Use el indicador -t para enumerar solo el tipo de sistema de archivos específico. Por ejemplo, sistema de archivos btrfs de solo lectura:

[tuts@fosslinux ]$ df -h -t btrfs

Utilice la marca –total para mostrar los totales generales:

[tuts@fosslinux ]$ df -h -t btrfs --total

12. du

Use el comando du para mostrar información detallada sobre qué archivos usan el espacio en disco en un directorio. Lo encuentro útil para determinar qué registros ocupan más espacio. Por ejemplo, ejecute el comando du con el indicador -h (legible por humanos) y -s (resumen):

[tuts@fosslinux ~]$ sudo du -h /var/log
[tuts@fosslinux ~]$ sudo du -hs /var/log
1.5G /var/log

13. excavar/ nslookup

dig es una excelente herramienta de línea de comandos para realizar consultas de DNS. Se utiliza en el siguiente formato:

dig <DNS server> <domain> <query-type>

El representa el nombre del servidor DNS, es el nombre de dominio y es el nombre del registro (A, MX, NS SOA) que desea conocer. También puede usar el indicador +corto para suprimir la salida detallada.
Para ver el registro A de bing.com:

[tuts@fosslinux ~]$ dig bing.com +short
13.107.21.200
204.79.197.200

Para ver el registro MX de bing.com:

[tuts@fosslinux ~]$ dig bing.com MX +short
10 bing-com.mail.protection.outlook.com.

14. cortafuegos-cmd

Firewall-cmd es un front-end fácil de usar para nftables y barcos con muchas distribuciones. Permite a los usuarios configurar reglas para controlar el tráfico de red entrante y saliente a su computadora. Estas reglas se pueden agrupar en zonas que definen los niveles de confianza de seguridad de la red de las interfaces, los servicios o las conexiones de la red. Funciona con IPv4, IPv6, conjuntos de IP y puentes ethernet y cuenta con una sintaxis de comandos sencilla e intuitiva.

Para ver la zona cortafuegos actual:

[tuts@fosslinux ~]$ sudo firewall-cmd --get-active-zones
libvirt
interfaces: virbr0

Agregue el indicador –list-all para ver lo que permite cada zona:

[tuts@fosslinux ~]$ sudo firewall-cmd --zone libvirt --list-all

Para agregar un servicio:

$ sudo firewall-cmd --add-service http --permanent
$ sudo firewall-cmd –reload

Si está comenzando con la seguridad de la red, puede leer nuestra guía completa sobre cómo administrar la seguridad de la red con firewalld para obtener más ejemplos y trucos.

15. sistemactl

systemd está disponible en la mayoría de las distribuciones de Linux, lo que hace que el comando systemctl esté disponible para administrar los servicios y las unidades de systemd.

Para iniciar un servicio:

[tuts@fosslinux ~]$ sudo systemctl start httpd

Para detener un servicio:

[tuts@fosslinux ~]$ sudo systemctl stop httpd

Para comprobar el estado del servicio.

16. matar y matar a todos

Puede utilizar los comandos kill y killall para finalizar un proceso fuera de control o liberar algunos recursos del sistema. Puede enviar la señal SIGTERM (-15) o SIGKILL (-9) a un proceso para finalizar el proceso. SIGTERM (cierre suave) permite que un proceso del sistema se complete antes de que finalice. SIGKILL termina el proceso inmediatamente.

Use kill con el indicador -l para mostrar todas las señales que puede enviar a un proceso.

[tuts@fosslinux ~]$ kill -l

Para eliminar un proceso, determine su ID de proceso y, a continuación, emita el comando de eliminación.

[tuts@fosslinux ~]$ ps aux|grep httpd

Para eliminar el proceso httpd con ID de proceso 1525:

[tuts@fosslinux ~]$ sudo kill -9 1525

Use killall para matar un programa por su nombre. Elimina el proceso principal y todos los procesos secundarios.

[tuts@fosslinux ~]$ sudo killall httpd

Nota:use los comandos kill y killall con precaución, ya que podrían dañar o dejar su sistema en un estado inestable.

17. historia

El comando de historial muestra un historial de todos los comandos que ha utilizado en una sesión. Por ejemplo, puede usarlo para registrar los comandos que ha usado para solucionar problemas de una aplicación o su sistema.

[tuts@fosslinux ~]$ history
790 sudo firewall-cmd --get-active-zones
791 sudo firewall-cmd --zone libvirt --list-all
792 history

Usar ! con un número de comando para volver a ejecutarlo sin tener que volver a escribirlo.

[tuts@fosslinux ~]$ !790
sudo firewall-cmd --get-active-zones
libvirt
interfaces: virbr0

Conclusión

Comprender algunos comandos básicos de administrador de sistemas puede ayudarlo a solucionar problemas de aplicaciones, resolver problemas, mantener los sistemas funcionando de manera óptima, garantizar la seguridad del sistema o incluso ayudarlo a comunicarse de manera efectiva con los administradores de sistemas para resolver problemas en su infraestructura.
¡Espero que estos comandos sean útiles!


Linux
  1. 10 comandos de Linux para diagnóstico de red

  2. Capacitación y certificación para administradores de sistemas Linux

  3. Los 10 mejores tutoriales para administradores de Linux

  4. 3 comandos útiles de Linux para administradores de sistemas

  5. Los mejores comandos básicos de Linux para principiantes

Las 15 mejores herramientas químicas para el sistema Linux

Las 15 mejores herramientas de biología para el sistema Linux

Los 15 mejores software de traducción para el sistema Linux

Las 10 mejores herramientas de selección de color para el sistema Linux

Las 10 mejores herramientas de escaneo para el sistema Linux

Las 10 mejores herramientas meteorológicas para el sistema Linux