Linux ofrece innumerables comandos y utilidades que lo ayudan a realizar sus tareas de administración del sistema de manera rápida y eficiente.
Su trabajo como administrador del sistema incluye la instalación y ejecución de software, control de acceso, monitoreo, garantía de disponibilidad, copias de seguridad, restauración de copias de seguridad y, por supuesto, extinción de incendios. 😜
En este artículo repasamos algunos de los comandos más utilizados por los administradores de sistemas Linux en su día a día.
Tabla de contenido
tu nombre
Use el comando uname con el indicador -a para imprimir la información del sistema. Este comando le mostrará el nombre del kernel, la versión del kernel, la versión del kernel, el nombre de host, el tipo de procesador y la información de su plataforma de hardware.
[email protected]:~$ uname -a Linux ubuntu18 5.3.0-1028-azure #29~18.04.1-Ubuntu SMP Fri Jun 5 14:32:34 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux
Esto es lo que esto significa:
kernel name:Linux hostname: ubuntu18 kernel release: 5.3.0-1028-azure kernel version: #29~18.04.1-Ubuntu SMP Fri Jun 5 14:32:34 UTC 2020 machine hardware name: x86_64 processor: x86_64 hardware-platform: x86_64 operating system: GNU/Linux
d.f.
Use el comando df para verificar el tamaño del sistema de archivos y el espacio disponible. Este comando usado por sí mismo muestra la salida en bloques de 1K.
[email protected]:~$ df Filesystem 1K-blocks Used Available Use% Mounted on udev 437208 0 437208 0% /dev tmpfs 91100 692 90408 1% /run /dev/sda1 30309264 2383952 27908928 8% / ....
La opción -h muestra la salida en un formato legible por humanos, es decir, en MB y GB.
[email protected]:~$ df -h Filesystem Size Used Avail Use% Mounted on udev 427M 0 427M 0% /dev tmpfs 89M 692K 89M 1% /run /dev/sda1 29G 2.3G 27G 8% / tmpfs 445M 0 445M 0% /dev/shm tmpfs 5.0M 0 5.0M 0% /run/lock tmpfs 445M 0 445M 0% /sys/fs/cgroup /dev/sda15 105M 3.6M 101M 4% /boot/efi /dev/sdb1 3.9G 16M 3.7G 1% /mnt tmpfs 89M 0 89M 0% /run/user/1001
Para ignorar cualquier sistema de archivos, por ejemplo, tmpfs, que es para una salida más limpia, use flag -x
[email protected]:~$ df -h -x tmpfs Filesystem Size Used Avail Use% Mounted on udev 427M 0 427M 0% /dev /dev/sda1 29G 2.3G 27G 8% / /dev/sda15 105M 3.6M 101M 4% /boot/efi /dev/sdb1 3.9G 16M 3.7G 1% /mnt
Para enumerar solo un tipo de sistema de archivos específico, use el indicador -t. por ejemplo, para ver solo el sistema de archivos ext4:
[email protected]:~$ df -h -t ext4 Filesystem Size Used Avail Use% Mounted on /dev/sda1 29G 2.3G 27G 8% / /dev/sdb1 3.9G 16M 3.7G 1% /mnt
El uso de la bandera total agregará una línea que muestra los totales generales:
[email protected]:~$ df -h -t ext4 --total Filesystem Size Used Avail Use% Mounted on /dev/sda1 29G 2.3G 27G 8% / /dev/sdb1 3.9G 16M 3.7G 1% /mnt <b>total 33G 2.3G 31G 8% -</b>
du
Para verificar el uso del espacio en disco en un directorio, use el comando du. Por ejemplo, para ver el uso del espacio en disco en el directorio /var/log. Utilice la marca -h para el formato legible por humanos.
[email protected]:~$ sudo du -h /var/log 24K /var/log/Microsoft/Azure/NetworkWatcherAgent/Logs 28K /var/log/Microsoft/Azure/NetworkWatcherAgent 32K /var/log/Microsoft/Azure 36K /var/log/Microsoft 60K /var/log/apt 4.0K /var/log/samba 177M /var/log/journal/0f4f926f583b4691af7de11025b19ff6 177M /var/log/journal ... 204M /var/log
Para ver solo el uso total, use el indicador -s (resumen).
[email protected]:~$ sudo du -hs /var/log 204M /var/log
libre
Use el comando libre para ver la memoria total, usada y libre del sistema. Utilice la marca -h para el formato legible por humanos.
[email protected]:~$ free -h total used free shared buff/cache available Mem: 889M 272M 100M 712K 517M 443M Swap: 0B 0B 0B
total - Total installed memory (memtotal + swaptotal) used - used memory free - unused memory (memfree + swapfree) buffers - memory used by kernel buffers cache - memory used by page caches buff/cache - sum of buffers and cache available - Estimated memory available for starting new applications, without swapping
PD
Use ps para mostrar información de estado sobre los procesos que se ejecutan en el sistema. Para ver todos los procesos propiedad del usuario ubuntu, use el indicador -u con el nombre de usuario:
[email protected]:~$ ps -u ubuntu PID TTY TIME CMD 7804 ? 00:00:00 systemd 7805 ? 00:00:00 (sd-pam) 7940 ? 00:00:00 sshd 7941 pts/0 00:00:00 bash 8111 ? 00:00:00 sshd 8112 pts/1 00:00:00 bash 13868 ? 00:00:00 sshd 13869 pts/2 00:00:00 bash 13885 pts/0 00:00:00 man 13895 pts/0 00:00:00 pager 18111 pts/2 00:00:00 man 18121 pts/2 00:00:00 pager 18485 pts/1 00:00:00 ps
Para ver todos los procesos, ejecute ps con banderas auxiliares:
[email protected]:~$ ps aux USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND root 1 0.0 0.7 160076 7020 ? Ss Jun29 0:34 /sbin/init root 2 0.0 0.0 0 0 ? S Jun29 0:00 [kthreadd] root 3 0.0 0.0 0 0 ? I< Jun29 0:00 [rcu_gp] root 4 0.0 0.0 0 0 ? I< Jun29 0:00 [rcu_par_gp] root 6 0.0 0.0 0 0 ? I< Jun29 0:00 [kworker/0:0H-kb] ....
dónde
Bóveda
Sentido
PID
Número de identificación del proceso
%UPC
Porcentaje de tiempo de CPU que utiliza el proceso
%MEM
El porcentaje de proceso de RAM está utilizando
VSZ
Memoria virtual en uso en KB
RSS
Memoria física que utiliza el proceso en KB
TTY
Terminal asociado al proceso
ESTADO
R: en ejecución o listo para ejecutarse, S: en espera, I: inactivo, T: detenido, Z: zombi, D: en espera de E/S de disco, X: inactivo, W: intercambiado, N: proceso de prioridad baja, <: proceso de alta prioridad
parte superior
Mientras que el comando ps muestra una instantánea del estado de los procesos en cualquier momento, top muestra una lista de procesos del sistema que se actualiza continuamente (cada tres segundos, de manera predeterminada) en orden de actividad.
La salida del comando superior consta de dos partes principales: el resumen del sistema en la parte superior y la tabla de procesos ordenados por actividad de la CPU.
top - 14:25:32 up 44 days, 11:37, 1 user, load average: 0.00, 0.00, 0.00 Tasks: 114 total, 1 running, 59 sleeping, 0 stopped, 0 zombie %Cpu(s): 0.3 us, 0.0 sy, 0.0 ni, 99.7 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st KiB Mem : 910992 total, 101208 free, 274712 used, 535072 buff/cache KiB Swap: 0 total, 0 free, 0 used. 458492 avail Mem PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 50497 ubuntu 20 0 44528 3944 3368 R 0.7 0.4 0:00.15 top 1 root 20 0 160076 7020 4400 S 0.0 0.8 0:34.85 systemd 2 root 20 0 0 0 0 S 0.0 0.0 0:00.08 kthreadd 3 root 0 -20 0 0 0 I 0.0 0.0 0:00.00 rcu_gp 4 root 0 -20 0 0 0 I 0.0 0.0 0:00.00 rcu_par_gp 6 root 0 -20 0 0 0 I 0.0 0.0 0:00.00 kworker/0:+ 9 root 0 -20 0 0 0 I 0.0 0.0 0:00.00 mm_percpu_+
Algunos de los campos en el resumen del sistema son los siguientes:
arriba
tiempo de actividad Tiempo transcurrido desde el último arranque de la máquina.
promedio de carga
El promedio de carga se refiere a la cantidad de procesos que están esperando para ejecutarse; un valor inferior a 1,0 significa que la máquina no está ocupada. Hay 3 valores. El primero es el promedio de los últimos 60 segundos, el segundo es el promedio de los últimos 5 minutos y el tercero muestra el promedio de los últimos 15 minutos.
%Cpu(s)
Esta fila describe las actividades de la CPU.
0.3 nosotros, usuario
El 0,3 % de la CPU se utiliza para procesos de usuario.
0.0 si, sistema
El 0,0 % de la CPU se utiliza para los procesos del sistema.
0.0 ni, agradable
0.0% CPU está siendo utilizado por procesos de baja prioridad (agradable)
99.7 id, inactivo
El 99,7 % de la CPU está inactivo
0.0 wa, IO-espera
0.0% CPU está esperando E/S
0.0 hola
tiempo invertido en interrupciones de hardware
0.0 si
tiempo dedicado a interrupciones de software
0.0 p.
piedra de tiempo de esta máquina virtual por el hipervisor
Los campos de la tabla de procesos son los siguientes:
PID
Número de identificación del proceso
USUARIO
Dueño del proceso
relaciones públicas
Prioridad
NI
Buen valor
VIRTUAL
Memoria virtual utilizada por el proceso (KB)
RES
Memoria física utilizada por el proceso.
SHR
Memoria compartida utilizada por el proceso
S
Estado del proceso. R: en ejecución, S: inactivo, I: inactivo, T: detenido, Z: zombi, D: esperando E/S del disco, W: intercambiado, X: inactivo
%UPC
El proceso de tiempo de CPU está utilizando en porcentaje
%MEM
El proceso de memoria física está utilizando
TIEMPO[+]
Tiempo total de CPU utilizado por el proceso
DOMINIO
nombre del programa
Mientras se ejecuta top, puede ejecutar una serie de comandos. Presione h o ? para ver los comandos que se pueden ejecutar mientras se ejecuta top. Presione k para matar un proceso. Presione q para salir arriba.
excavar
dig es una gran herramienta para consultas de DNS. Se utiliza de la siguiente manera:
dig <DNS server> <domain> <query-type>
dónde
es el nombre del servidor DNS que desea consultar es el nombre de dominio sobre el que desea consultar es el nombre del registro que desea conocer: A, MX, NS SOA, etc.
Para suprimir la salida detallada, utilice +marca corta.
Para ver un registro de uso de google.com:
[email protected]:~$ dig google.com +short 172.217.164.174
Para ver los registros MX para el uso de google.com:
[email protected]:~$ dig google.com MX +short 50 alt4.aspmx.l.google.com. 10 aspmx.l.google.com. 20 alt1.aspmx.l.google.com. 40 alt3.aspmx.l.google.com. 30 alt2.aspmx.l.google.com.
Si necesita consultar registros DNS en Internet, puede utilizar la herramienta de búsqueda de DNS.
quien y w
who muestra a los usuarios que han iniciado sesión.
[email protected]:~$ who ubuntu pts/0 2020-08-14 17:28 (183.83.211.129) ubuntu pts/1 2020-08-14 17:58 (183.83.211.129)
w muestra los usuarios actualmente conectados y sus procesos. El encabezado muestra la hora actual, el tiempo de actividad del sistema, la cantidad de usuarios conectados y los promedios de carga del sistema.
[email protected]:~$ w 18:07:33 up 46 days, 15:19, 2 users, load average: 0.00, 0.00, 0.00 USER TTY FROM [email protected] IDLE JCPU PCPU WHAT ubuntu pts/0 183.83.211.129 17:28 2.00s 0.10s 0.00s w ubuntu pts/1 183.83.211.129 17:58 9:07 0.05s 0.01s vi
La siguiente parte muestra los nombres de usuario, el terminal y la IP remota desde la que están conectados, el tiempo de inicio de sesión, el tiempo de inactividad, JCPU, PCPU y el programa que están ejecutando. JCPU es el tiempo utilizado por todos los procesos adjuntos al tty, mientras que PCPU es el tiempo utilizado por el proceso actual.
alquitrán
Con GNU tar puede archivar varios archivos en un solo archivo.
Como ejemplo, cree un directorio myfiles y tres archivos a.txt, b.txt, c.txt en el directorio myfiles:
[email protected]:~$ mkdir myfiles ; touch myfiles/{a.txt,b.txt,c.txt}
Ahora, para crear un archivo llamado allfiles.tar que contenga todos los archivos en el directorio myfiles:
[email protected]:~$ tar -cvf allfiles.tar myfiles myfiles/ myfiles/c.txt myfiles/a.txt myfiles/b.txt
Muestra todos los archivos en el directorio actual. Puede ver el directorio myfiles y el archivo allfiles.tar:
[email protected]:~$ ls allfiles.tar myfiles
Puede descomprimir un archivo con el indicador -x. Entonces, para descomprimir allfiles.tar:
[email protected]:~$ tar -xvf allfiles.tar myfiles/ myfiles/c.txt myfiles/a.txt myfiles/b.txt
También puede comprimir este archivo con el indicador -z. Esto crearía un archivo comprimido con gzip.
[email protected]:~$ tar -zcvf allfiles.tar.gz myfiles myfiles/ myfiles/c.txt myfiles/a.txt myfiles/b.txt [email protected]:~$ ls allfiles.tar.gz myfiles
Para descomprimir un archivo comprimido, use -z con el indicador -x.
[email protected]:~$ tar -zxvf allfiles.tar.gz myfiles/ myfiles/c.txt myfiles/a.txt myfiles/b.txt
grep
grep se usa para buscar un patrón en un archivo o un conjunto de archivos. Imprime todas las líneas que coinciden con ese patrón. Por ejemplo, para buscar la línea que contiene «ServerRoot» en /etc/apache2/apache2.conf:
[email protected]:~$ grep ServerRoot /etc/apache2/apache2.conf # ServerRoot: The top of the directory tree under which the server's #ServerRoot "/etc/apache2"
Para buscar en todos los archivos de un directorio, utilice *. Para incluir la búsqueda en los subdirectorios, use el indicador -r (recursivo). Entonces, para buscar todas las líneas que contengan el patrón “VirtualHost” en todos los archivos en /etc/apache2:
[email protected]:~$ cd /etc/apache2 [email protected]:/etc/apache2$ grep -r VirtualHost * apache2.conf:# If you do not specify an ErrorLog directive within a <VirtualHost> apache2.conf:# logged here. If you *do* define an error logfile for a <VirtualHost> conf-available/localized-error-pages.conf:# even on a per-VirtualHost basis. If you include the Alias in the global server conf-available/other-vhosts-access-log.conf:# Define an access log for VirtualHosts that don't define their own logfile ports.conf:# have to change the VirtualHost statement in sites-available/000-default.conf:<VirtualHost *:80> ...
sincronizar
rsync es una herramienta de línea de comandos rápida para sincronizar archivos y directorios entre dos ubicaciones. Puede usarse tanto para copia local como remota y es rápido porque envía solo las diferencias entre los archivos de origen y los archivos existentes en el destino.
Es ampliamente utilizado para copias de seguridad y como un comando de copia mejorado para el uso diario.
Aquí hay un ejemplo:
Para copiar/rsync todos los archivos del directorio mis archivos al directorio de copias de seguridad:
[email protected]:~$ rsync -avh myfiles/ /backups sending incremental file list ./ a.txt b.txt c.txt sent 218 bytes received 76 bytes 588.00 bytes/sec total size is 0 speedup is 0.00
Para sincronizar todos los archivos del directorio mis archivos al directorio de copias de seguridad en un host remoto, incluya usuario_remoto @host_remoto en el nombre de destino. Entonces, para sincronizar la carpeta mis archivos con un host remoto con IP 10.0.0.50:
[email protected]:~$ rsync -avh myfiles/ [email protected]:/home/vagrant [email protected]'s password: sending incremental file list ./ a.txt b.txt c.txt sent 230 bytes received 76 bytes 47.08 bytes/sec total size is 0 speedup is 0.00
ss
El comando ss se usa para volcar estadísticas de socket, similar a la utilidad netstat heredada. Para mostrar los sockets TCP, use el indicador -t.
[email protected]:~$ ss -t State Recv-Q Send-Q Local Address:Port Peer Address:Port ESTAB 0 0 10.0.0.4:53852 168.63.129.16:8037 ESTAB 0 0 10.0.0.4:ssh 183.83.211.129:64118 ESTAB 0 0 10.0.0.4:33256 169.254.169.254:http ESTAB 0 1080 10.0.0.4:ssh 222.186.30.35:11527 ESTAB 0 0 10.0.0.4:ssh 183.83.211.129:63049
Esto no mostraría los sockets que están escuchando. Para incluir sockets tanto de escucha como de no escucha, use las banderas -t y -a.
[email protected]:~$ ss -t -a State Recv-Q Send-Q Local Address:Port Peer Address:Port LISTEN 0 128 0.0.0.0:ssh 0.0.0.0:* LISTEN 0 80 127.0.0.1:mysql 0.0.0.0:* LISTEN 0 128 127.0.0.53%lo:domain 0.0.0.0:* ESTAB 0 0 10.0.0.4:53852 168.63.129.16:8037 ESTAB 0 0 10.0.0.4:ssh 183.83.211.129:64118 ESTAB 0 0 10.0.0.4:33256 169.254.169.254:http ESTAB 0 1080 10.0.0.4:ssh 222.186.30.35:11527 ESTAB 0 120 10.0.0.4:ssh 183.83.211.129:63049 LISTEN 0 128 [::]:ssh [::]:* LISTEN 0 128 *:http *:*
localizar
El comando de localización utiliza una base de datos para buscar archivos y, de hecho, puede ser mucho más rápido que el comando de búsqueda. Muy simple de usar, para buscar un archivo, digamos, apache2.conf:
[email protected]:~$ locate apache2.conf /etc/apache2/apache2.conf /var/lib/dpkg/info/apache2.conffiles
Puede usar el indicador -c si solo desea el recuento de archivos que coinciden con el patrón de búsqueda.
[email protected]:~$ locate -c apache2.conf 2
A veces, es posible que deba actualizar la base de datos utilizada por localizar, que es mlocate. Para actualizar la base de datos, use el comando updatedb. Esto necesitaría privilegios de superusuario.
[email protected]:~$ sudo updatedb
encontrar
Uno de los comandos más utilizados en Linux. Úselo para buscar archivos según nombres de archivo, permisos, ID de usuario, ID de grupo, tamaño, tipo de archivo, además de otros criterios.
Para buscar un archivo por nombre en el directorio actual, use el indicador -name seguido del nombre del archivo para buscar:
[email protected]:~$ find . -name a.txt ./myfiles/a.txt
Para buscar directorios, use el indicador -type d:
[email protected]:~$ find . -type d . ./.ssh ./myfiles ./.cache ./.gnupg ./.gnupg/private-keys-v1.d ./docker
Para buscar archivos por tamaño, digamos archivos de más de 20 MB, use el indicador -size:
[email protected]:~$ find . -size +20M ./docker/docker-ce-cli_5%3a19.03.12~3-0~ubuntu-bionic_amd64.deb ./docker/docker-ce_5%3a19.03.12~3-0~ubuntu-bionic_amd64.deb
systemctl
Ahora que systemd ha reemplazado el proceso de inicio de SysV en la mayoría de las distribuciones de Linux, use el comando systemctl para administrar los servicios y unidades de systemd.
Para iniciar un servicio, por ejemplo apache2:
[email protected]:~$ sudo systemctl start apache2.service
Puede dejar el sufijo de servicio.
Para detener un servicio:
[email protected]:~$ sudo systemctl stop apache2
Para ver el estado del servicio, use el comando systemctl status. El siguiente ejemplo muestra el estado de apache2 mientras se está ejecutando:
[email protected]:~$ sudo systemctl status apache2 ● apache2.service - The Apache HTTP Server Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset: enabled) Drop-In: /lib/systemd/system/apache2.service.d └─apache2-systemd.conf Active: active (running) since Wed 2020-08-19 11:34:04 UTC; 2s ago Process: 25346 ExecStop=/usr/sbin/apachectl stop (code=exited, status=0/SUCCESS) Process: 18202 ExecReload=/usr/sbin/apachectl graceful (code=exited, status=0/SUCCESS) Process: 25536 ExecStart=/usr/sbin/apachectl start (code=exited, status=0/SUCCESS) Main PID: 25555 (apache2) Tasks: 55 (limit: 1024) CGroup: /system.slice/apache2.service ├─25555 /usr/sbin/apache2 -k start ├─25558 /usr/sbin/apache2 -k start └─25559 /usr/sbin/apache2 -k start Aug 19 11:34:04 ubuntu18 systemd[1]: Starting The Apache HTTP Server... Aug 19 11:34:04 ubuntu18 systemd[1]: Started The Apache HTTP Server.
comando ufw
UFW: el cortafuegos sin complicaciones es una interfaz fácil de usar para iptables. Está disponible por defecto, en distribuciones basadas en Ubuntu. En CentOS, puede instalar ufw desde el repositorio de EPEL.
Para habilitar ufw:
$ sudo ufw enable
Verifique el estado del firewall con el estado ufw:
$ sudo ufw status Status: active
Las políticas de UFW predeterminadas permiten todo el tráfico saliente y bloquean todo el tráfico entrante.
El siguiente comando permite el tráfico entrante en el puerto HTTP:
$ sudo ufw allow http Rule added Rule added (v6)
Puede denegar el tráfico en cualquier puerto. Aquí hay un ejemplo para bloquear el tráfico en el puerto 21:
$ sudo ufw deny 21 Rule added Rule added (v6)
diarioctl
Utilice journalctl para ver los registros recopilados por systemd. systemd recopila registros en una ubicación central en formato binario. Para ver estos registros:
[email protected]:~$ sudo journalctl -- Logs begin at Mon 2020-06-29 02:48:31 UTC, end at Wed 2020-08-19 15:07:59 UTC. -- Jun 29 02:48:31 ubuntu kernel: Linux version 5.3.0-1028-azure ([email protected]) (gcc version 7.5.0 (Ubuntu Jun 29 02:48:31 ubuntu kernel: Command line: BOOT_IMAGE=/boot/vmlinuz-5.3.0-1028-azure root=UUID=b0dd9d06-536e-41 Jun 29 02:48:31 ubuntu kernel: KERNEL supported cpus: Jun 29 02:48:31 ubuntu kernel: Intel GenuineIntel ...
En general, preferiría ver los registros en orden inverso, es decir, primero los registros más recientes:
[email protected]:~$ sudo journalctl -r -- Logs begin at Mon 2020-06-29 02:48:31 UTC, end at Wed 2020-08-19 15:10:16 UTC. -- Aug 19 15:10:16 ubuntu18 sudo[31263]: pam_unix(sudo:session): session opened for user root by ubuntu(uid=0) Aug 19 15:10:16 ubuntu18 sudo[31263]: ubuntu : TTY=pts/1 ; PWD=/home/ubuntu ; USER=root ; COMMAND=/bin/journalc Aug 19 15:10:11 ubuntu18 sudo[31213]: pam_unix(sudo:session): session closed for user root Aug 19 15:07:59 ubuntu18 sudo[31213]: pam_unix(sudo:session): session opened for user root by ubuntu(uid=0) Aug 19 15:07:59 ubuntu18 sudo[31213]: ubuntu : TTY=pts/1 ; PWD=/home/ubuntu ; USER=root ; COMMAND=/bin/journalc Aug 19 15:07:56 ubuntu18 sudo[31183]: pam_unix(sudo:session): session closed for user root Aug 19 15:06:47 ubuntu18 sudo[31183]: pam_unix(sudo:session): session opened for user root by ubuntu(uid=0) ...
Para ver los registros de un servicio específico, por ejemplo, mysql use el indicador -u:
[email protected]:~$ sudo journalctl -u mysql -- Logs begin at Mon 2020-06-29 02:48:31 UTC, end at Wed 2020-08-19 15:11:34 UTC. -- Aug 16 12:30:02 ubuntu18 systemd[1]: Starting MySQL Community Server... Aug 16 12:30:03 ubuntu18 systemd[1]: Started MySQL Community Server. Aug 19 15:03:27 ubuntu18 systemd[1]: Stopping MySQL Community Server... Aug 19 15:03:29 ubuntu18 systemd[1]: Stopped MySQL Community Server.
matar y matar
Es posible que deba eliminar un proceso fuera de control o cuando necesite liberar algunos recursos del sistema. kill with -l flag muestra todas las señales que puede enviar a un proceso.
[email protected]:~$ kill -l 1) SIGHUP 2) SIGINT 3) SIGQUIT 4) SIGILL 5) SIGTRAP 6) SIGABRT 7) SIGBUS 8) SIGFPE 9) SIGKILL 10) SIGUSR1 11) SIGSEGV 12) SIGUSR2 13) SIGPIPE 14) SIGALRM 15) SIGTERM 16) SIGSTKFLT 17) SIGCHLD 18) SIGCONT 19) SIGSTOP 20) SIGTSTP ....
Las dos señales más utilizadas son SIGTERM y SIGKILL. También puede usar -9 para SIGKILL y -15 para SIGTERM. SIGTERM permite que un proceso se complete antes de que finalice y, por lo tanto, se denomina terminación suave. SIGKILL termina el proceso inmediatamente. Aquí hay un ejemplo:
Listar todos los procesos apache2
[email protected]:~$ ps aux|grep apache2 root 45521 0.0 0.5 78188 4688 ? Ss Aug08 0:03 /usr/sbin/apache2 -k start www-data 45524 0.0 0.5 830480 4816 ? Sl Aug08 0:00 /usr/sbin/apache2 -k start www-data 45525 0.0 0.7 830480 6856 ? Sl Aug08 0:00 /usr/sbin/apache2 -k start ubuntu 70374 0.0 0.1 14852 1040 pts/0 S+ 07:45 0:00 grep --color=auto apache2
Para matar el proceso apache2 con el ID de proceso 45525:
[email protected]:~$ sudo kill -9 45525
Vuelva a ver la lista de procesos apache2:
[email protected]:~$ ps aux|grep apache2 root 45521 0.0 0.5 78188 4688 ? Ss Aug08 0:03 /usr/sbin/apache2 -k start www-data 45524 0.0 0.5 830480 4816 ? Sl Aug08 0:00 /usr/sbin/apache2 -k start ubuntu 70525 0.0 0.1 14852 1052 pts/0 S+ 07:52 0:00 grep --color=auto apache2
Use killall para matar un programa por su nombre. Lo que significa que killall elimina el proceso de control (principal) y todos los procesos secundarios. Para eliminar todas las instancias del proceso apache2 en el ejemplo anterior:
[email protected]:~$ sudo killall apache2
Utilice kill y killall con precaución. Estos comandos pueden dejar el sistema en un estado inestable.
IP
El comando ip reemplaza a ifconfig en las distribuciones de Linux más nuevas. Úselo para configurar y mostrar interfaces de red. También se usa para mostrar y modificar direcciones IP, rutas y objetos vecinos.
Mostrar información sobre todas las interfaces de red:
[email protected]:~$ ip a 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo valid_lft forever preferred_lft forever inet6 ::1/128 scope host valid_lft forever preferred_lft forever 2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000 link/ether 00:0d:3a:9b:88:d6 brd ff:ff:ff:ff:ff:ff inet 10.0.0.4/24 brd 10.0.0.255 scope global eth0 valid_lft forever preferred_lft forever inet6 fe80::20d:3aff:fe9b:88d6/64 scope link valid_lft forever preferred_lft forever
Para activar o desactivar una interfaz, use ip link set dev seguido del nombre del dispositivo. Por ejemplo, para poner en línea la interfaz eth0:
[email protected]:~$ ip link set eth0 up
Y para bajarlo:
[email protected]:~$ ip link set eth0 down
fecha
Un comando de uso muy común, aquí exploramos algunas formas interesantes de usar este comando.
[email protected]:~$ date Tue Aug 11 07:42:49 UTC 2020
Para ver la fecha del próximo domingo:
[email protected]:~$ date -d 'next sunday' Sun Aug 16 00:00:00 UTC 2020
Para ver la fecha del pasado domingo:
[email protected]:~$ date -d 'last sunday' Sun Aug 9 00:00:00 UTC 2020
También puede usar –date en lugar de -d flag:
[email protected]:~$ date --date="last sunday" Sun Aug 9 00:00:00 UTC 2020
Para ver la fecha de hace 6 días:
[email protected]:~$ date --date="6 days ago" Wed Aug 5 08:06:37 UTC 2020
Fecha dentro de 6 días:
[email protected]:~$ date --date="6 days" Mon Aug 17 08:08:37 UTC 2020
Puede controlar fácilmente el formato de salida de la fecha. Aquí hay un ejemplo:
[email protected]:~$ date '+%d-%B-%Y' 11-August-2020
Resumen
Usted, como administrador del sistema, mantiene en funcionamiento la infraestructura informática mundial. Necesita resolver problemas, mantener y mantener los sistemas funcionando de manera óptima mientras garantiza la seguridad.
Espero que estos comandos sean útiles y lo ayuden a hacer mejor su trabajo.
Aquí hay algunos clientes FTP/SFTP y las mejores hojas de trucos de Vim para desarrolladores y administradores de sistemas.