Linux ofrece innumerables comandos y utilidades que lo ayudan a realizar las tareas de administración de su sistema de manera rápida y eficiente.
Tu trabajo como administrador del sistema incluye instalar y ejecutar software, controlar el acceso, monitorear, garantizar la disponibilidad, copias de seguridad, restaurar copias de seguridad y, por supuesto, combatir incendios. 😜
En este artículo, revisamos algunos de los comandos que utilizan con frecuencia los administradores de sistemas Linux en su trabajo diario.
uname
Utilice la herramienta uname
comando con el -a
bandera para imprimir 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.
ubuntu@ubuntu18:~$ 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
df
Utilice la herramienta df
comando para verificar el tamaño del sistema de archivos y el espacio disponible. Este comando utilizado por sí mismo muestra la salida en 1K
Bloques
ubuntu@ubuntu18:~$ 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% /
....
Optión -h
muestra la salida en un formato legible por humanos, es decir, en MB
y GB
.
ubuntu@ubuntu18:~$ 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
ubuntu@ubuntu18:~$ 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 -t
bandera. por ejemplo, para ver solo el sistema de archivos ext4:
ubuntu@ubuntu18:~$ 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 de total agregará una línea que muestra los totales generales:
ubuntu@ubuntu18:~$ 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 de espacio en disco en un directorio, use du
mando. Por ejemplo, para ver el uso del espacio en disco en el directorio / var / log. Utilizar -h
bandera para formato legible por humanos.
ubuntu@ubuntu18:~$ 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 solo use -s
(resumen) bandera.
ubuntu@ubuntu18:~$ sudo du -hs /var/log
204M /var/log
free
Use el comando libre para ver la memoria del sistema total, usada y libre. Utilizar -h
bandera para formato legible por humanos.
ubuntu@ubuntu18:~$ 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
ps
Utilice la herramienta 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 -u
bandera con el nombre de usuario:
ubuntu@ubuntu18:~$ 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:
ubuntu@ubuntu18:~$ 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]
....
sin que importe
Título | Sentido |
PID | Número de identificación del proceso |
%UPC | Porcentaje de tiempo de CPU que usa el proceso |
% MEM | Porcentaje de proceso de RAM que está usando |
VSZ | Se utiliza memoria virtual en KB |
RSS | Memoria física que el proceso está usando en KB |
TTY | Terminal asociado al proceso |
STAT | R - En funcionamiento o listo para funcionar, S - En reposo, I - Inactivo, T - Detenido, Z - Zombi, D - Esperando E / S de disco, X - Muerto, W - Intercambiado, N - Proceso de baja prioridad, <- Proceso de alta prioridad |
top
Aunque la ps
El comando muestra una instantánea del estado de los procesos en cualquier momento, la parte superior muestra una lista que se actualiza continuamente (cada tres segundos, de forma predeterminada) de los procesos del sistema en orden de actividad del proceso.
EL top
La salida del comando 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 del resumen del sistema son los siguientes:
up | Tiempo de actividad. Tiempo desde que se inició la máquina por última vez. | ||||||||||||||||
promedio de carga | El promedio de carga se refiere al número de procesos que están esperando para ejecutarse, un valor menor que 1.0 significa que la máquina no está ocupada. Hay 3 valores. Primero es el promedio de los últimos 60 segundos, 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.
|
Los campos de la tabla de proceso son los siguientes:
PID | Número de identificación del proceso |
USUARIO | Dueño del proceso |
PR | 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 funcionamiento, S: en suspensión, I: inactivo, T: detenido, Z: zombi, D: esperando la E / S del disco, W: intercambiado, X: muerto |
%UPC | El proceso de tiempo de CPU está usando en porcentaje |
% MEM | El proceso de memoria física está usando |
HORA [+] | Tiempo total de CPU utilizado por el proceso |
COMANDO | Nombre del programa |
Aunque la top
se está ejecutando, puede emitir una serie de comandos. prensa h
or ?
para ver los comandos que se pueden ejecutar mientras se ejecuta top. prensa k
matar un proceso. prensa q
para salir de la parte superior.
dig
dig
es una gran herramienta para consultas de DNS. Se utiliza de la siguiente manera:
dig <DNS server> <domain> <query-type>
sin que importe
- 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, use + bandera corta.
Para ver el registro A para el uso de google.com:
ubuntu@ubuntu18:~$ dig google.com +short
172.217.164.174
Para ver los registros MX de google.com, utilice:
ubuntu@ubuntu18:~$ 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 el Herramienta de búsqueda de DNS.
who and w
who
muestra los usuarios que han iniciado sesión.
ubuntu@ubuntu18:~$ 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.
ubuntu@ubuntu18:~$ w
18:07:33 up 46 days, 15:19, 2 users, load average: 0.00, 0.00, 0.00
USER TTY FROM LOGIN@ 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, la terminal y la IP remota desde la que iniciaron sesión, 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.
tar
Con GNU tar puedes 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:
ubuntu@ubuntu18:~$ 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:
ubuntu@ubuntu18:~$ tar -cvf allfiles.tar myfiles
myfiles/
myfiles/c.txt
myfiles/a.txt
myfiles/b.txt
Muestra todos los archivos del directorio actual. Puede ver el directorio myfiles y el archivo allfiles.tar:
ubuntu@ubuntu18:~$ ls
allfiles.tar myfiles
Puede descomprimir un archivo con el indicador -x. Entonces, para descomprimir allfiles.tar:
ubuntu@ubuntu18:~$ 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.
ubuntu@ubuntu18:~$ tar -zcvf allfiles.tar.gz myfiles
myfiles/
myfiles/c.txt
myfiles/a.txt
myfiles/b.txt
ubuntu@ubuntu18:~$ ls
allfiles.tar.gz myfiles
Para descomprimir un archivo comprimido, utilice -z
con -x
bandera.
ubuntu@ubuntu18:~$ tar -zxvf allfiles.tar.gz
myfiles/
myfiles/c.txt
myfiles/a.txt
myfiles/b.txt
grep
grep
se utiliza 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:
ubuntu@ubuntu18:~$ 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 subdirectorios, utilice -r
(recursivo) bandera. Entonces, para buscar todas las líneas que contienen el patrón "VirtualHost" en todos los archivos en / etc / apache2:
ubuntu@ubuntu18:~$ cd /etc/apache2
ubuntu@ubuntu18:/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>
...
rsync
rsync
es una herramienta rápida de línea de comandos para sincronizar archivos y directorios entre dos ubicaciones. Se puede utilizar 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.
Se usa ampliamente 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 myfiles al directorio de copias de seguridad:
ubuntu@ubuntu18:~$ 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 myfiles con el directorio de copias de seguridad en un host remoto, incluya remote_user @remote_host
en el nombre del destino. Entonces, para sincronizar la carpeta myfiles con un host remoto con IP 10.0.0.50:
vagrant@ubuntu-xenial:~$ rsync -avh myfiles/ vagrant@10.0.0.50:/home/vagrant
vagrant@10.0.0.50'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
ss
El comando se usa para volcar estadísticas de sockets, similar a la utilidad netstat heredada. Para mostrar los sockets TCP, utilice -t
bandera.
ubuntu@ubuntu18:~$ 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 enchufes de escucha y no escucha, use -t
y -a
banderas.
ubuntu@ubuntu18:~$ 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 *:*
locate
EL locate
El comando usa una base de datos para buscar archivos y en realidad puede ser mucho más rápido que el comando Find. Muy simple de usar, para buscar un archivo, digamos, apache2.conf:
ubuntu@ubuntu18:~$ locate apache2.conf
/etc/apache2/apache2.conf
/var/lib/dpkg/info/apache2.conffiles
Puedes usar -c
marque si solo desea el recuento de archivos que coinciden con el patrón de búsqueda.
ubuntu@ubuntu18:~$ locate -c apache2.conf
2
En ocasiones, es posible que deba actualizar la base de datos utilizada por location, que es mlocate. Para actualizar el uso de la base de datos updatedb
mando. Esto necesitaría privilegios de superusuario.
ubuntu@ubuntu18:~$ sudo updatedb
find
Uno de los comandos más utilizados en Linux. Úselo para buscar archivos basados en 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:
ubuntu@ubuntu18:~$ find . -name a.txt
./myfiles/a.txt
Para buscar directorios, use -type d
bandera:
ubuntu@ubuntu18:~$ 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, utilice -size
bandera:
ubuntu@ubuntu18:~$ 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 systemctl comando para administrar servicios y unidades systemd.
Para iniciar un servicio, por ejemplo apache2:
ubuntu@ubuntu18:~$ sudo systemctl start apache2.service
Puede dejar el sufijo de servicio.
Para detener un servicio:
ubuntu@ubuntu18:~$ sudo systemctl stop apache2
Para ver el estado del servicio, use systemctl
comando de estado. El siguiente ejemplo muestra el estado de apache2 mientras se está ejecutando:
ubuntu@ubuntu18:~$ 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.
ufw command
UFW: firewall sencillo es una interfaz fácil de usar para iptables. Está disponible de forma predeterminada en distribuciones basadas en Ubuntu. En CentOS, puede instalar ufw
del repositorio de EPEL.
Para habilitar ufw:
$ sudo ufw enable
Verifique el estado del firewall con el estado de ufw:
$ sudo ufw status
Status: active
Las políticas 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. A continuación, se muestra un ejemplo para bloquear el tráfico en el puerto 21:
$ sudo ufw deny 21
Rule added
Rule added (v6)
journalctl
Utilice la herramienta journalctl
para ver los registros recopilados por systemd. systemd recopila el registro en una ubicación central en formato binario. Para ver estos registros:
ubuntu@ubuntu18:~$ 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 (buildd@lcy01-amd64-003) (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, los registros más recientes primero:
ubuntu@ubuntu18:~$ 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, use mysql -u
bandera:
ubuntu@ubuntu18:~$ 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.
kill and killall
Es posible que deba eliminar un proceso fuera de control o cuando necesite liberar algunos recursos del sistema. matar con -l
bandera muestra todas las señales que puede enviar a un proceso.
ubuntu@ubuntu18:~$ 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 utilizar -9 para SIGKILL y -15 para SIGTERM. SIGTERM permite que un proceso se complete antes de que finalice y, por lo tanto, se denomina muerte suave. SIGKILL finaliza el proceso de inmediato. Aquí hay un ejemplo:
Lista de todos los procesos de apache2
ubuntu@ubuntu18:~$ 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 de apache2 con la identificación de proceso 45525:
ubuntu@ubuntu18:~$ sudo kill -9 45525
Vuelva a ver la lista de procesos de apache2:
ubuntu@ubuntu18:~$ 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
Utilice killall para matar un programa por su nombre. Lo que significa que killall mata el proceso de control (principal) y todos los procesos secundarios. Para matar todas las instancias del proceso apache2 en el ejemplo anterior:
ubuntu@ubuntu18:~$ sudo killall apache2
Utilice la herramienta kill
y killall
con cuidado. Estos comandos pueden dejar el sistema en un estado inestable.
IP
EL ip
comando reemplaza ifconfig
en las distribuciones de Linux más recientes. Úselo para configurar y mostrar interfaces de red. También se utiliza para mostrar y modificar direcciones IP, rutas y objetos vecinos.
Muestra información sobre todas las interfaces de red:
ubuntu@ubuntu18:~$ 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, utilice ip link set dev seguido del nombre del dispositivo. Por ejemplo, para poner en línea la interfaz eth0:
ubuntu@ubuntu18:~$ ip link set eth0 up
Y para derribarlo:
ubuntu@ubuntu18:~$ ip link set eth0 down
date
Un comando de uso muy común, aquí exploramos algunas formas interesantes de usar este comando.
ubuntu@ubuntu18:~$ date
Tue Aug 11 07:42:49 UTC 2020
Para ver la fecha del próximo domingo:
ubuntu@ubuntu18:~$ date -d 'next sunday'
Sun Aug 16 00:00:00 UTC 2020
Para ver la fecha del último domingo:
ubuntu@ubuntu18:~$ date -d 'last sunday'
Sun Aug 9 00:00:00 UTC 2020
También puede usar –date en lugar de -d flag:
ubuntu@ubuntu18:~$ date --date='last sunday'
Sun Aug 9 00:00:00 UTC 2020
Para ver la fecha hace 6 días:
ubuntu@ubuntu18:~$ date --date='6 days ago'
Wed Aug 5 08:06:37 UTC 2020
Fecha 6 días a partir de ahora:
ubuntu@ubuntu18:~$ 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:
ubuntu@ubuntu18:~$ date '+%d-%B-%Y'
11-August-2020
Resumen
Usted, como administrador del sistema, mantenga el mundo infraestructura informática corriendo. Necesita resolver problemas, mantener y mantener los sistemas funcionando de manera óptima mientras garantiza la seguridad.
Espero que estos comandos te sean útiles y te ayuden a hacer mejor tu trabajo.
Éstos son algunos Clientes FTP / SFTP y el mejores hojas de trucos de Vim para desarrolladores y administradores de sistemas.