Gestione procesos, discos, servicios, usuarios y recursos del sistema en servidores Linux mediante los comandos de CLI más utilizados.
Gestión de procesos
ps
Comando
El comando ps muestra una instantánea de los procesos actuales.
Opciones comunes
|
Opción |
Descripción |
|
-A |
Muestra todos los procesos. |
|
-a |
Muestra todos los procesos en la terminal de control. |
|
-e |
Muestra todos los procesos. Equivalente a -A. |
|
-f |
Muestra un listado con formato completo que incluye las columnas UID, PPID, C y STIME. |
|
-u |
Muestra los procesos por usuario efectivo. |
|
-U |
Muestra los procesos por usuario real. |
|
-x |
Muestra todos los procesos sin terminales de control. |
Para conocer otras opciones, ejecute man ps.
Ejemplos
-
Consulte todos los procesos.
ps -ef -
Busque todos los procesos que coincidan con una palabra clave en formato completo.
ps -ef | grep <key_word>Reemplace
<key_word>con la palabra clave correspondiente. -
Busque todos los procesos de usuario que coincidan con una palabra clave, incluidos aquellos sin terminales de control.
ps -aux | grep <key_word>Reemplace
<key_word>con la palabra clave correspondiente. -
Consulte un árbol de procesos.
ps -ejH -
Consulte todos los procesos junto con la información de hilos.
ps -eLf -
Consulte la información de hilos con campos definidos por el usuario.
ps -eo pid,tid,class,rtprio,ni,pri,psr,pcpu,stat,wchan:14,comm -
Consulte una métrica específica por PID. En este ejemplo, el PID 1 con
comm=devuelve el nombre del comando.ps -q 1 -o comm=
top
Comando
El comando top muestra la actividad de los procesos en tiempo real y el uso de los recursos del sistema.
Opciones comunes
|
Opción |
Descripción |
|
-d |
Especifica la frecuencia de actualización. |
|
-p |
Supervisa el estado de un proceso por su PID. |
|
-s |
Ejecuta top en modo seguro y deshabilita los comandos interactivos potencialmente peligrosos. |
|
-i |
Omite los procesos inactivos y zombis. |
|
-c |
Muestra la línea de comandos completa en lugar de solo el nombre del comando. |
Campos en la salida del comando top
Campos presentes en la salida del comando top (los valores varían según el periodo de muestreo):
top - 15:30:29 up 2:11, 1 user, load average: 0.00, 0.00, 0.00
Tasks: 99 total, 1 running, 98 sleeping, 0 stopped, 0 zombie
%Cpu(s): 0.3 us, 0.2 sy, 0.0 ni, 99.2 id, 0.0 wa, 0.3 hi, 0.0 si, 0.0 st
MiB Mem : 7607.4 total, 6642.1 free, 409.4 used, 801.4 buff/cache
MiB Swap: 0.0 total, 0.0 free, 0.0 used. 7198.0 avail Mem
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
633 root 20 0 474964 29076 13644 S 0.3 0.4 0:09.58 tuned
1716 root 20 0 131676 23172 16576 S 0.3 0.3 0:28.48 AliYunDunMonito
1938 root 20 0 1460104 29564 22520 S 0.3 0.4 0:27.93 argusagent
5525 root 20 0 0 0 0 I 0.3 0.0 0:00.01 kworker/u4:1-events_unbound
1 root 20 0 103344 11320 8656 S 0.0 0.1 0:01.31 systemd
2 root 20 0 0 0 0 S 0.0 0.0 0:00.00 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
5 root 20 0 0 0 0 I 0.0 0.0 0:00.01 kworker/0:0-events
6 root 0 -20 0 0 0 I 0.0 0.0 0:00.00 kworker/0:0H-events_highpri
8 root 0 -20 0 0 0 I 0.0 0.0 0:00.00 mm_percpu_wq
10 root 20 0 0 0 0 S 0.0 0.0 0:00.00 rcu_tasks_rude_
11 root 20 0 0 0 0 S 0.0 0.0 0:00.00 rcu_tasks_trace
12 root 20 0 0 0 0 S 0.0 0.0 0:00.00 ksoftirqd/0
13 root 20 0 0 0 0 I 0.0 0.0 0:00.47 rcu_sched
14 root rt 0 0 0 0 S 0.0 0.0 0:00.00 migration/0
15 root 20 0 0 0 0 S 0.0 0.0 0:00.00 cpuhp/0
16 root 20 0 0 0 0 S 0.0 0.0 0:00.00 cpuhp/1
17 root rt 0 0 0 0 S 0.0 0.0 0:00.07 migration/1
18 root 20 0 0 0 0 S 0.0 0.0 0:00.01 ksoftirqd/1
19 root 20 0 0 0 0 I 0.0 0.0 0:00.43 kworker/1:0-events
20 root 0 -20 0 0 0 I 0.0 0.0 0:00.00 kworker/1:0H-events_highpri
22 root 20 0 0 0 0 S 0.0 0.0 0:00.00 kdevtmpfs
23 root 0 -20 0 0 0 I 0.0 0.0 0:00.00 netns
24 root 20 0 0 0 0 S 0.0 0.0 0:00.00 kauditd
27 root 20 0 0 0 0 S 0.0 0.0 0:00.00 khungtaskd
28 root 20 0 0 0 0 S 0.0 0.0 0:00.00 oom_reaper
29 root 0 -20 0 0 0 I 0.0 0.0 0:00.00 writeback
30 root 20 0 0 0 0 S 0.0 0.0 0:00.03 kcompactd0
31 root 25 5 0 0 0 S 0.0 0.0 0:00.00 ksmd
32 root 39 19 0 0 0 S 0.0 0.0 0:00.06 khugepaged
33 root 0 -20 0 0 0 I 0.0 0.0 0:00.00 memcg_wmark
34 root 0 -20 0 0 0 I 0.0 0.0 0:00.00 memcg_pgcache_l
48 root 0 -20 0 0 0 I 0.0 0.0 0:00.00 cryptd
83 root 0 -20 0 0 0 I 0.0 0.0 0:00.00 kintegrityd
84 root 0 -20 0 0 0 I 0.0 0.0 0:00.00 kblockd
85 root 0 -20 0 0 0 I 0.0 0.0 0:00.00 blkcg_punt_bio
86 root 0 -20 0 0 0 I 0.0 0.0 0:00.00 tpm_dev_wq
87 root 0 -20 0 0 0 I 0.0 0.0 0:00.00 md
88 root 0 -20 0 0 0 I 0.0 0.0 0:00.00 edac-poller
89 root 0 -20 0 0 0 I 0.0 0.0 0:00.00 devfreq_wq
Campos
Ejemplos
-
Consultar métricas del sistema con una frecuencia de muestreo específica
Consulte las métricas del sistema con un intervalo de 3 segundos:
top 3NotaEl intervalo de muestreo predeterminado de top es de 5 segundos.
-
Personalizar la interfaz del comando top
De forma predeterminada, se muestran los campos descritos en la sección Fields in the system information summary and process list. Presione
fpara seleccionar qué columnas mostrar y reorganizar su orden.Fields Management for window 1:Def, whose current sort field is %CPU Navigate with Up/Dn, Right selects for move then <Enter> or Left commits, 'd' or <Space> toggles display, 's' sets sort. Use 'q' or <Esc> to end! * PID = Process Id USED = Res+Swap Size (KiB) * USER = Effective User Name nsIPC = IPC namespace Inode * PR = Priority nsMNT = MNT namespace Inode * NI = Nice Value nsNET = NET namespace Inode * VIRT = Virtual Image (KiB) nsPID = PID namespace Inode * RES = Resident Size (KiB) nsUSER = USER namespace Inode * SHR = Shared Memory (KiB) nsUTS = UTS namespace Inode * S = Process Status LXC = LXC container name * %CPU = CPU Usage RSan = RES Anonymous (KiB) * %MEM = Memory Usage (RES) RSfd = RES File-based (KiB) * TIME+ = CPU Time, hundredths RSlk = RES Locked (KiB) * COMMAND = Command Name/Line RSsh = RES Shared (KiB) PPID = Parent Process pid CGNAME = Control Group name UID = Effective User Id NU = Last Used NUMA node RUID = Real User Id RUSER = Real User Name SUID = Saved User Id SUSER = Saved User Name GID = Group Id GROUP = Group Name PGRP = Process Group Id TTY = Controlling Tty TPGID = Tty Process Grp Id SID = Session Id nTH = Number of Threads P = Last Used Cpu (SMP) TIME = CPU Time SWAP = Swapped Size (KiB) CODE = Code Size (KiB) DATA = Data+Stack (KiB) nMaj = Major Page Faults nMin = Minor Page Faults nDRT = Dirty Pages Count WCHAN = Sleeping in Function Flags = Task Flags <sched.h> CGROUPS = Control Groups SUPGIDS = Supp Groups IDs SUPGRPS = Supp Groups Names TGID = Thread Group Id OOMa = OOMEM Adjustment OOMs = OOMEM Score current ENVIRON = Environment vars vMj = Major Faults delta vMn = Minor Faults deltaTeclas para gestionar la interfaz del comando top:
Tecla
Descripción
↑ y ↓
Desplazan la vista hacia arriba y abajo para seleccionar campos.
→
Selecciona una columna completa. Presione ARRIBA o ABAJO para moverla.
Espacio
Alterna la visibilidad del campo. Un asterisco (*) indica que el campo se muestra.
s
Establezca la columna actual como criterio de ordenamiento.
q
Sale de la interfaz del comando top.
-
Usar el comando top en modo interactivo
En el modo interactivo, presione las siguientes teclas para controlar lo que se muestra:
Tecla
Descripción
1
Muestra el estado de cada CPU lógica.
u
Filtra los procesos por usuario.
E
Cambia cíclicamente la unidad de memoria: KiB, MiB, GiB, TiB, PiB o EiB.
x
Resalta la columna de ordenamiento.
y
Resalta los procesos en ejecución.
?
Muestra información de ayuda.
-
Consultar los nombres y directorios de los procesos por PID
Ejecute top para encontrar el PID de un proceso. En este ejemplo, el proceso aliyun-service tiene el PID 1325.
Ejecute el comando
top. Observe que el proceso con el PID 1325 esaliyun-service.Tasks: 188 total, 1 running, 186 sleeping, 0 stopped, 1 zombie %Cpu(s): 0.2 us, 0.1 sy, 0.0 ni, 99.6 id, 0.0 wa, 0.1 hi, 0.1 si, 0.0 st MiB Mem : 15468.8 total, 12290.5 free, 1710.8 used, 1783.7 buff/cache MiB Swap: 0.0 total, 0.0 free, 0.0 used. 13758.1 avail Mem PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 15831 root 20 0 1401860 42152 20472 S 0.5 0.3 2:59.24 taihao_exporter 17830 root 20 0 1153952 127996 65356 S 0.5 0.8 2:57.27 ilogtail 971 root 20 0 2312484 29944 22544 S 0.3 0.2 3:28.78 argusagent 1325 root 20 0 686276 18700 13028 S 0.3 0.1 0:40.97 aliyun-service 392452 root 20 0 0 0 0 I 0.3 0.0 0:00.36 kworker/u8:3-events_unbound 1 root 20 0 169452 11824 8644 S 0.0 0.1 0:48.72 systemdConsulte el directorio del proceso aliyun-service:
cd /proc/1352 ls -ailEn la salida del comando, el enlace simbólico
exeapunta a/usr/local/share/aliyun-assist/2.2.3.857/aliyun-service, que es la ruta del archivo ejecutable del proceso 1325.[root 1325]# ls -ail total 0 24390 dr-xr-xr-x 9 root root 0 Jan 22 13:17 . 1 dr-xr-xr-x 253 root root 0 Jan 22 13:17 .. 3003054 -r--r--r-- 1 root root 0 Jan 23 17:01 arch_status 28694 dr-xr-xr-x 2 root root 0 Jan 22 13:17 attr 3003026 -rw-r--r-- 1 root root 0 Jan 23 17:01 autogroup 3003022 -r-------- 1 root root 0 Jan 23 17:01 auxv 28698 -r--r--r-- 1 root root 0 Jan 22 13:17 cgroup 3003034 --w------- 1 root root 0 Jan 23 17:01 clear_refs 26278 -r--r--r-- 1 root root 0 Jan 22 13:17 cmdline 28693 -rw-r--r-- 1 root root 0 Jan 22 13:17 comm 3003046 -rw-r--r-- 1 root root 0 Jan 23 17:01 coredump_filter 3003042 -r--r--r-- 1 root root 0 Jan 23 17:01 cpu_resctrl_groups 3003041 -r--r--r-- 1 root root 0 Jan 23 17:01 cpuset 52865 lrwxrwxrwx 1 root root 0 Jan 22 13:18 cwd -> / 3003021 -r-------- 1 root root 0 Jan 23 17:01 environ 27984 lrwxrwxrwx 1 root root 0 Jan 22 13:17 exe -> /usr/local/share/aliyun-assist/2.2.3.857/aliyun-service 22392 dr-x------ 2 root root 0 Jan 22 13:17 fd 3003019 dr-x------ 1 root root 0 Jan 23 17:01 fdinfo 3003048 -rw-r--r-- 1 root root 0 Jan 23 17:01 gid_map 79376 1 root root 0 Jan 22 13:21 io 3003024 -r--r--r-- 1 root root 0 Jan 23 17:01 limits 28697 -rw-r--r-- 1 root root 0 Jan 22 13:17 loginuid -
Finalizar un proceso por PID
En el modo interactivo, presione
k, introduzca un PID y presioneEnterpara finalizar el proceso.top - 17:19:44 up 3:50, 0 user, load average: 0.00, 0.00, 0.00 Tasks: 117 total, 1 running, 116 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 MiB Mem : 7414.8 total, 6142.9 free, 471.8 used, 1059.6 buff/cache MiB Swap: 0.0 total, 0.0 free, 0.0 used. 6943.1 avail Mem Send pid 4717 signal [15/sigterm] PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 4717 root 20 0 101088 19384 13184 S 0.7 0.3 0:32.65 AliYunDun 4744 root 20 0 139200 29284 19456 S 0.7 0.4 1:11.93 AliYunDunMonito 1076 root 20 0 468824 13312 11392 S 0.3 0.2 0:00.19 udisksd 4574 root 20 0 1244388 25856 23680 S 0.3 0.3 0:38.55 argusagent 1 root 20 0 22716 13644 9336 S 0.0 0.2 0:03.74 systemd 2 root 20 0 0 0 0 S 0.0 0.0 0:00.00 kthreadd 3 root 20 0 0 0 0 I 0.0 0.0 0:00.00 pool_workqueue_release 4 root 0 -20 0 0 0 I 0.0 0.0 0:00.00 kworker/R-rcu_g 5 root 0 -20 0 0 0 I 0.0 0.0 0:00.00 kworker/R-rcu_p 6 root 0 -20 0 0 0 I 0.0 0.0 0:00.00 kworker/R-slub_ 7 root 0 -20 0 0 0 I 0.0 0.0 0:00.00 kworker/R-netns 9 root 0 -20 0 0 0 I 0.0 0.0 0:00.00 kworker/0:0H-events_highpri 12 root 0 -20 0 0 0 I 0.0 0.0 0:00.00 kworker/R-mm_pe
kill
Comando
El comando kill finaliza procesos mediante el envío de señales.
Opciones comunes
|
Opción |
Descripción |
|
-l |
Muestra todos los nombres de señales disponibles. |
|
-L |
Muestra todos los nombres de señales y sus números correspondientes. |
Ejemplos
-
Finalice todos los procesos.
sudo kill -9 -1 -
Muestre el nombre de la señal cuyo número es 11.
sudo kill -l 11 -
Muestre todos los nombres de señales y sus números correspondientes.
sudo kill -L -
Finalice un proceso por su PID.
sudo kill -9 <PID>Reemplace
<PID>con el PID correspondiente.
killall
Comando
El comando killall finaliza todos los procesos que coinciden con un nombre determinado.
Opciones comunes
|
Opción |
Descripción |
|
-g |
Finaliza los procesos del grupo de procesos. |
|
-i |
Solicita confirmación del usuario antes de finalizar un proceso. |
|
-v |
Informa si la señal se envió correctamente. |
Ejemplos
Finalice el proceso top.
sudo killall top
Información del sistema
Consulte la información del sistema y del hardware con uname y dmidecode.
uname
Comando
El comando uname muestra información del sistema.
Opciones comunes
|
Opción |
Descripción |
|
-a |
Muestra toda la información del sistema. |
|
-s |
Muestra el nombre del kernel. |
|
-n |
Muestra el nombre de host del nodo de red. |
|
-r |
Muestra la versión del kernel. |
|
-v |
Muestra la compilación del kernel. |
|
-m |
Muestra el nombre del hardware de la máquina. |
|
-P |
Muestra el tipo de procesador. |
|
-i |
Muestra información de la plataforma de hardware. |
|
-o |
Muestra información del sistema operativo. |
Ejemplos
-
Consulte toda la información del sistema.
uname -a -
Ejecute
uname -moarchpara consultar la arquitectura de la CPU. La salida varía según la arquitectura.Salida del comando para la arquitectura Arm
[t@iUf682 xxx ~]# uname -m aarch64 [t@iUf682 xxx ~]# arch aarch64Salida del comando para la arquitectura x86
[root@iZbp144wor*** ~]# uname -m x86_64 [root@iZbp144wor*** ~]# arch x86_64
dmidecode
El comando dmidecode extrae información de hardware del BIOS del sistema a través de la tabla DMI, entre la que se incluye:
Información del sistema: proveedor, nombre, versión, número de serie (SN) y modelo.
Información del procesador: modelo, velocidad y cantidad de núcleos.
Información de la memoria: cantidad de ranuras, tamaños, tipos y velocidades.
Información de la tarjeta madre: proveedor, versión y SN.
Información del BIOS: versión y fecha de lanzamiento.
Información de la fuente de alimentación: especificaciones y modelos.
Información de dispositivos: componentes de hardware como adaptadores de red.
-
Muestre toda la información de hardware de la tabla DMI.
sudo dmidecode -
Para mostrar únicamente las entradas de un tipo específico, utilice la opción
-t. Por ejemplo, muestre las entradas de memoria:sudo dmidecode -t memory
Información física de CPU y memoria
Cantidad total de núcleos = Cantidad de CPU físicas × Cantidad de núcleos por CPU física
Cantidad total de CPU lógicas = Cantidad de CPU físicas × Cantidad de núcleos por CPU física × Factor de Hyper-Threading
Comandos comunes para consultar detalles de la CPU y la memoria:
-
Consulte la cantidad de CPU físicas.
cat /proc/cpuinfo| grep "physical id"| sort| uniq| wc -l -
Consulte la cantidad de núcleos por CPU física.
cat /proc/cpuinfo| grep "cpu cores"| uniq -
Consulte la cantidad de CPU lógicas.
cat /proc/cpuinfo| grep "processor"| wc -l -
Consulte el modelo de la CPU.
cat /proc/cpuinfo | grep name | cut -f2 -d: | uniq -c -
Consulte la información de la memoria.
cat /proc/meminfo
Consultar detalles de la CPU
Ejecute lscpu para consultar los detalles de la CPU. La salida varía según la arquitectura.
-
Salida del comando para la arquitectura Arm
[root@iZuf682tl xxx ~]# lscpu Architecture: aarch64 Byte Order: Little Endian CPU(s): 4 On-line CPU(s) list: 0-3 Thread(s) per core: 1 Core(s) per cluster: 4 Socket(s): 1 Cluster(s): 1 NUMA node(s): 1 Vendor ID: ARM BIOS Vendor ID: Alibaba Cloud Model: 1 Model name: Neoverse-N1 BIOS Model name: virt-rhel7.6.0 Stepping: r3p1 BogoMIPS: 50.00 NUMA node0 CPU(s): 0-3 Flags: fp asimd evtstrm aes pmull sha1 sha2 crc32 atomics fphp asimdhp cpuid asimdrdm lrcpc dcpop asimddp ssbs -
Salida del comando para la arquitectura x86
[root@iZbp14xxxxx ~]# lscpu Architecture: x86_64 CPU op-mode(s): 32-bit, 64-bit Byte Order: Little Endian CPU(s): 16 On-line CPU(s) list: 0-15 Thread(s) per core: 2 Core(s) per socket: 8 Socket(s): 1 NUMA node(s): 1 Vendor ID: GenuineIntel CPU family: 6 Model: 106 Model name: Intel(R) Xeon(R) Platinum 8369B CPU @ 2.90GHz Stepping: 6 CPU MHz: 2899.998 BogoMIPS: 5799.99 Hypervisor vendor: KVM Virtualization type: full L1d cache: 48K L1i cache: 32K L2 cache: 1280K L3 cache: 49152K NUMA node0 CPU(s): 0-15 Flags: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ss ht syscall nx pdpe1gb rdtscp lm constant_tsc rep_good nopl xtopology nonstop_tsc cpuid tsc_known_freq pni pclmulqdq monitor ssse3 fma cx16 pdcm pcid sse4_1 sse4_2 x2apic movbe popcnt aes xsave avx f16c rdrand hypervisor lahf_lm abm 3dnowprefetch cpuid_fault invpcid_single ssbd ibrs ibpb stibp ibrs_enhanced fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid avx512f avx512dq rdseed adx smap avx512ifma clflushopt clwb avx512cd sha_ni avx512bw avx512vl xsaveopt xsavec xgetbv1 xsaves wbnoinvd arat avx512vbmi avx512_vbmi2 gfni vaes vpclmulqdq avx512_vnni avx512_bitalg avx512_vpopcntdq rdpid fsrm arch_capabilities
Consultar información del sistema operativo
Ejecute cat /proc/version para consultar la información del sistema operativo y la versión del compilador. La salida varía según la arquitectura.
-
Salida del comando para la arquitectura x86
[xxx@iZbp144wor ~]# cat /proc/version Linux version 4.19.91-26.1.al7.x86_64 (mockbuild@x86-003.build.alibaba.cm10) (gcc version 4.8.5 20150623 (Red Hat 4.8.5-44) (GCC)) #1 SMP Tue Jul 26 17:52:28 CST 2022 -
Salida del comando para la arquitectura Arm
[root@iZuf682t ~]# cat /proc/version Linux version 5.10.134-12.al8.aarch64 (mockbuild@r75e11320.cm10.tbsite.net) (gcc (GCC) 10.2.1 20200825 (Alibaba 10.2.1-3 2.32), GNU ld version 2.35-12.2.al8) #1 SMP Tue Sep 6 07:11:41 UTC 2022
Gestión de discos
df
Comando
El comando df informa sobre el uso del espacio en disco de los sistemas de archivos.
Opciones comunes
|
Opción |
Descripción |
|
-a |
Incluye los sistemas de archivos pseudo, duplicados e inaccesibles. |
|
-B |
Escala los tamaños de bloque según el tamaño especificado para la salida. |
|
-h |
Muestra los tamaños en un formato legible con un factor de escala de 1,024. Por ejemplo: 1023M. |
|
-H |
Muestra los tamaños en un formato legible con un factor de escala de 1,000. Por ejemplo: 1.1G. |
|
-k |
Equivalente a -- block-size=1K. |
|
-l |
Muestra una lista de los sistemas de archivos locales. |
|
-t |
Muestra información sobre los sistemas de archivos del tipo especificado. |
Ejemplos
Consulte el uso del espacio en disco con los tamaños de bloque en MB.
df -BM
Ejemplo de salida:
Filesystem 1M-blocks Used Available Use% Mounted on
tmpfs 742M 22M 721M 3% /run
/dev/vda3 39943M 2542M 35556M 7% /
tmpfs 3708M 0M 3708M 0% /dev/shm
tmpfs 5M 0M 5M 0% /run/lock
tmpfs 742M 1M 742M 1% /run/user/0
lsblk
Comando
El comando lsblk muestra los detalles de los dispositivos de block storage.
Opciones comunes
|
Opción |
Descripción |
|
-a |
Muestra todos los dispositivos, incluidos los vacíos y los discos de memoria. |
|
-b |
Muestra los tamaños en bytes. |
|
-f |
Muestra información del sistema de archivos. |
Ejemplos
-
Consulte los dispositivos de block storage junto con la información de sus sistemas de archivos.
lsblk -fEjemplo de salida:
NAME FSTYPE FSVER LABEL UUID FSAVAIL FSUSE% MOUNTPOINTS vda |-vda1 |-vda2 vfat FAT32 6175-F96E `-vda3 ext4 1.0 df02e0a1-d28d-41b1-99c2-58f2b684cc79 34.7G 6% / -
Consulte el SN de un disco.
El método varía según la distribución de Linux. Para Alibaba Cloud Linux 3, CentOS 7 o Ubuntu 18:
-
Consulte los dispositivos de block storage montados en el sistema operativo.
lsblk -
Consulte el SN de un dispositivo de block storage. Por ejemplo, consulte el SN de /dev/vda:
udevadm info --query=all --name=/dev/vda | grep ID_SERIAL
-
blkid
Comando
El comando blkid muestra los atributos de los dispositivos de block storage.
Ejemplos
Consulte los atributos de un dispositivo de block storage.
blkid /dev/vda
Ejemplo de salida:
/dev/vda: PTUUID="bdee1c7f-46fc-4838-9a74-9exxxxxxxxaf" PTTYPE="gpt"
fdisk
Comando
El comando fdisk gestiona las tablas de particiones de los discos.
Opciones comunes
|
Opción |
Descripción |
|
-l |
Muestra las tablas de particiones de los dispositivos especificados. |
|
-u |
Muestra la información de las particiones en sectores en lugar de cilindros. |
Ejemplos
Consulte todas las tablas de particiones de disco con la información en sectores.
sudo fdisk -lu
Ejemplo de salida:
Disk /dev/vda: 40 GiB, 42949672960 bytes, 83886080 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
Disk identifier: BDEE1C7F-46FC-4838-9A74-9E57F8FD63AF
Device Start End Sectors Size Type
/dev/vda1 2048 4095 2048 1M BIOS boot
/dev/vda2 4096 413695 409600 200M EFI System
/dev/vda3 413696 83886046 83472351 39.8G Linux filesystem
mount
Comando
El comando mount sirve para montar sistemas de archivos.
Opciones comunes
|
Opción |
Descripción |
|
-a |
Monta todos los sistemas de archivos configurados en el archivo |
|
-L |
Monta la partición que tiene la etiqueta especificada. |
|
-r |
Monta el sistema de archivos en modo de solo lectura. |
|
-w |
Monta el sistema de archivos en modo de lectura y escritura. |
|
-U |
Monta la partición que tiene el |
Ejemplos
-
Monte todos los sistemas de archivos configurados en el archivo /etc/fstab.
sudo mount -a -
Monte un sistema de archivos en modo de lectura y escritura.
sudo mount -w /dev/vdb1 /mnt
umount
Comando
El comando umount desmonta sistemas de archivos.
Opciones comunes
|
Opción |
Descripción |
|
-r |
Vuelve a montar el sistema de archivos en modo de solo lectura si falla el desmontaje. |
|
-a |
Desmonta todos los sistemas de archivos configurados en el archivo |
|
-t |
Especifica el tipo de sistema de archivos que se va a desmontar. Separe varios tipos con comas (,). |
|
-f |
Fuerza el desmontaje del sistema de archivos. |
Ejemplos
Fuerce el desmontaje del sistema de archivos de una partición.
sudo umount -f /dev/vdb1
Gestión de servicios
systemctl
Comando
El comando systemctl gestiona los servicios y las unidades de systemd.
Opciones comunes
|
Opción |
Descripción |
|
-a |
Muestra todas las unidades o atributos cargados. |
Comandos comunes para unidades
|
Comando |
Descripción |
|
start |
Inicia las unidades cargadas especificadas. |
|
stop |
Detiene las unidades cargadas especificadas. |
|
restart |
Reinicia las unidades cargadas especificadas. |
|
reload |
Vuelve a cargar la configuración de las unidades especificadas. |
|
status |
Muestra el estado de ejecución de las unidades especificadas. Estados comunes:
|
Comandos comunes para archivos de unidad
|
Comando |
Descripción |
|
enable |
Habilita las unidades o instancias de unidad especificadas. |
|
disable |
Deshabilita las unidades o instancias de unidad especificadas. |
Ejemplos
-
Reinicie el servicio
NGINX.sudo systemctl restart nginx -
Compruebe el estado de ejecución del servicio
NGINX.sudo systemctl status nginx -
Habilite el inicio automático del servicio
NGINXdurante el arranque.sudo systemctl enable nginx -
Enumere todos los servicios habilitados para iniciarse durante el arranque.
sudo systemctl list-unit-files --type=service --state=enabled
Uso de recursos
lsof
Comando
El comando lsof enumera los archivos abiertos y sus procesos asociados.
Si lsof no está preinstalado, instálelo con un administrador de paquetes.
Alibaba Cloud Linux, CentOS y RHEL:
sudo yum install lsof.Ubuntu y Debian:
sudo apt install lsof.
Opciones comunes
|
Opción |
Descripción |
|
-p |
Muestra los archivos abiertos por un proceso. |
|
-l |
Reemplaza el identificador de usuario por el nombre de usuario en la salida. |
|
-u |
Muestra los archivos abiertos por un usuario. |
|
-c |
Muestra los archivos abiertos en la columna |
|
-d |
Muestra los archivos abiertos que incluyen descriptores de archivo específicos. |
|
-i |
Muestra los archivos abiertos que coinciden con la condición especificada. Opciones:
|
Salida del comando
Ejemplo de salida de lsof:
[ecs-user@hostname ~]$ lsof
lsof: WARNING: can't stat() tracefs file system /sys/kernel/debug/tracing
Output information may be incomplete.
COMMAND PID TID TASKCMD USER FD TYPE DEVICE SIZE/OFF NODE NAME
systemd 1 root cwd unknown /proc/1/cwd (readlink: Permission denied)
systemd 1 root rtd unknown /proc/1/root (readlink: Permission denied)
systemd 1 root txt unknown /proc/1/exe (readlink: Permission denied)
systemd 1 root NOFD /proc/1/fd (opendir: Permission denied)
kthreadd 2 root cwd unknown /proc/2/cwd (readlink: Permission denied)
kthreadd 2 root rtd unknown /proc/2/root (readlink: Permission denied)
kthreadd 2 root txt unknown /proc/2/exe (readlink: Permission denied)
kthreadd 2 root NOFD /proc/2/fd (opendir: Permission denied)
rcu_gp 3 root cwd unknown /proc/3/cwd (readlink: Permission denied)
rcu_gp 3 root rtd unknown /proc/3/root (readlink: Permission denied)
rcu_gp 3 root txt unknown /proc/3/exe (readlink: Permission denied)
rcu_gp 3 root NOFD /proc/3/fd (opendir: Permission denied)
Campos de la salida:
|
Opción |
Descripción |
|
COMMAND |
Nombre del comando. |
|
PID |
Identificador del proceso. |
|
TID |
Identificador del hilo. Si está vacío, indica un proceso. |
|
TASKCMD |
Nombre de la tarea; suele coincidir con COMMAND. |
|
USER |
Identificador de usuario o nombre de usuario de inicio de sesión. |
|
FD |
Descriptor de archivo. |
|
TYPE |
Tipo de nodo asociado al archivo. |
|
DEVICE |
Número de dispositivo. |
|
SIZE/OFF |
Tamaño del archivo o desplazamiento en bytes. |
|
NODE |
Número de nodo del archivo. |
|
NAME |
Punto de montaje y nombre del sistema de archivos. |
Ejemplos
-
Consulte los archivos abiertos por un proceso.
sudo lsof -p 1Reemplace
1por un PID real. -
Consulte los archivos abiertos por un usuario.
sudo lsof -u <user-name>Reemplace
<user-name>por un nombre de usuario real. -
Consulte información sobre el proceso que abre un archivo específico.
sudo lsof <file-name>Reemplace
<file-name>por un nombre de archivo real. -
Consulte los archivos abiertos para conexiones de red IPv4.
sudo lsof -i 4
netstat
Comando
El comando netstat muestra las conexiones de red, las tablas de enrutamiento y las estadísticas de protocolos.
Opciones comunes
|
Opción |
Descripción |
|
-t |
Muestra solo las opciones de TCP. |
|
-u |
Muestra solo las opciones de UDP. |
|
-i |
Muestra una lista de interfaces de red. |
|
-n |
Muestra direcciones numéricas en lugar de resolver nombres de host. |
|
-l |
Muestra solo los sockets en escucha. |
|
-p |
Muestra los procesos asociados a las conexiones. |
|
-s |
Muestra estadísticas de red. |
Ejemplos
-
Consulte las estadísticas de red del puerto 8000.
netstat -tunlp | grep 8000Reemplace
8000por un número de puerto real. -
Consulte todos los puertos TCP en escucha y sus procesos.
netstat -ntlp
vmstat
Comando
El comando vmstat reporta estadísticas de memoria virtual, procesos y CPU.
Opciones comunes
Sintaxis:
vmstat [-n] [delay [count]]
|
Opción |
Descripción |
|
-n |
Muestra el encabezado de columna solo una vez. |
|
[delay] |
Intervalo de tiempo entre actualizaciones, en segundos. Sin esta opción, solo se imprime un reporte. |
|
[count] |
Número de actualizaciones. Si no se especifica esta opción pero sí [delay], vmstat se ejecuta indefinidamente. Presione |
Ejemplos
Reporte el uso de CPU cuatro veces con intervalos de 1 segundo:
vmstat -n 1 4
Ejemplo de salida:
procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
r b swpd free buff cache si so bi bo in cs us sy id wa st
1 0 0 2684984 310452 2364304 0 0 5 17 19 35 4 2 94 0 0
0 0 0 2687504 310452 2362268 0 0 0 252 1942 4326 5 2 93 0 0
0 0 0 2687356 310460 2362252 0 0 0 68 1891 4449 3 2 95 0 0
0 0 0 2687252 310460 2362256 0 0 0 0 1906 4616 4 1 95 0 0
Campos principales:
r: hilos en espera de tiempo de CPU. Un valor mayor indica un sistema más lento.
us: tiempo de CPU en modo usuario. Los valores superiores al 50 % sugieren que es necesario optimizar el programa.
sy: tiempo de CPU en modo kernel.
wa: tiempo de CPU en espera de E/S. Los valores altos pueden indicar un acceso aleatorio excesivo al disco o un cuello de botella en el disco.
id: tiempo de inactividad de la CPU. Si este valor se mantiene en 0 y sy es el doble de us, existe una escasez de recursos de CPU.
Información de inicio de sesión de usuarios
Los registros de inicio de sesión de usuarios se almacenan en los siguientes archivos:
La información de inicio de sesión de usuarios se registra en
/var/run/utmp,/var/log/wtmp,/var/log/btmpy/var/log/lastlog.Los comandos
who,wyusersconsultan los usuarios con sesión activa en/var/run/utmp.El comando
lastconsulta los usuarios actuales e históricos en/var/log/wtmp.El comando
lastbconsulta los intentos de inicio de sesión con errores en/var/log/btmp.El comando
lastlogconsulta el inicio de sesión más reciente de cada usuario en/var/log/lastlog.
who
El comando who consulta los usuarios con sesión activa. Ejemplo de salida:
[root@xxx3Z ~]# who
root pts/0 2025-01-27 11:22 (1xxx4)
root pts/1 2025-01-27 11:29 (xxx)
w
El comando w consulta el usuario con sesión activa y sus tareas en ejecución. Ejemplo de salida:
[xxx ~]# w
11:30:45 up 2 days, 18:08, 2 users, load average: 0.04, 0.05, 0.05
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
root pts/0 1xxx4 11:22 7:47 0.02s 0.02s -bash
root pts/1 xxx 11:29 6.00s 0.02s 0.00s w
users
El comando users consulta los nombres de los usuarios con sesión activa. Ejemplo de salida:
[root@xxx ~]# users
root root
last
El comando last consulta todos los registros históricos de inicio de sesión. Ejemplo de salida:
[root@xxx ~]# last
root pts/1 xxx Mon Jan 27 11:29 still logged in
root pts/1 xxx Mon Jan 27 11:29 - 11:29 (00:00)
root pts/0 xxx Mon Jan 27 11:22 still logged in
root pts/0 xxx Mon Jan 27 11:14 - 11:21 (00:07)
root pts/0 xxx Sun Jan 26 16:42 - 11:14 (18:31)
john pts/0 xxx Sun Jan 26 16:30 - 16:42 (00:11)
root pts/0 xxx Sun Jan 26 16:30 - 16:30 (00:00)
root pts/0 xxx Sun Jan 26 16:25 - 16:30 (00:04)
root pts/1 xxx Fri Jan 24 17:20 - 19:33 (02:13)
root pts/0 xxx Fri Jan 24 17:06 - 23:20 (06:14)
root pts/0 xxx Fri Jan 24 17:06 - 17:06 (00:00)
reboot system boot xxx Fri Jan 24 17:01 still running
lastb
El comando lastb consulta los intentos de inicio de sesión con errores. Ejemplo de salida:
[r*** ~]# lastb
john ssh:notty xxx '4 Mon Jan 27 11:33 - 11:33 (00:00)
root ssh:notty xxx '4 Mon Jan 27 11:33 - 11:33 (00:00)
root ssh:notty xxx '4 Mon Jan 27 11:33 - 11:33 (00:00)
root ssh:notty xxx '4 Mon Jan 27 11:33 - 11:33 (00:00)
root pts/0 Sun Jan 26 16:30 - 16:30 (00:00)
btmp begins Sun Jan 26 16:30:01 2025
lastlog
El comando lastlog consulta el inicio de sesión más reciente de cada usuario. Ejemplo de salida:
[rxxx ~]# lastlog
Username Port From Latest
root pts/1 8xxx xxx40 Mon Jan 27 11:29:34 +0800 2025
bin Never logged in
daemon Never logged in
adm Never logged in
lp Never logged in
sync Never logged in
shutdown Never logged in
halt Never logged in
mail Never logged in
operator Never logged in
games Never logged in
ftp Never logged in
nobody Never logged in
dbus Never logged in
systemd-coredump Never logged in
systemd-resolve Never logged in
tss Never logged in
polkitd Never logged in
unbound Never logged in
chrony Never logged in
sshd Never logged in
nscd Never logged in
postfix Never logged in
tcpdump Never logged in
rpc Never logged in
rpcuser Never logged in
squid Never logged in
ecs-instance-connect Never logged in
jack Never logged in
john pts/0 Mon Jan 27 11:21:25 +0800 2025
john1 Never logged in
cat /var/log/secure
El comando cat /var/log/secure consulta todos los registros de inicio de sesión de usuarios. Ejemplo de salida:
[root@xxx 3Z ~]# cat /var/log/secure
Jan 26 11:18:17 i 3Z sshd[6646]: Accepted password for root from 1.xxx.xxx.xxx 6 port 2090 ssh2
Jan 26 11:18:17 i 3Z systemd[6652]: pam_unix(systemd-user:session): session opened for user root by (uid=0)
Jan 26 11:18:17 i 3Z sshd[6646]: pam_unix(sshd:session): session opened for user root by (uid=0)
Jan 26 13:33:22 i 3Z sshd[6646]: pam_unix(sshd:session): session closed for user root
Jan 26 16:25:44 i 3Z useradd[6815]: new group: name=ecs-instance-connect, GID=992
Jan 26 16:25:44 i 3Z useradd[6815]: new user: name=ecs-instance-connect, UID=995, GID=992, home=/home/ecs-instance-connect, shell=/sbin/nologin
Jan 26 16:25:44 i 3Z sudo[6835]: root : PWD=/root ; USER=root ; COMMAND=/bin/systemctl daemon-reload
Jan 26 16:25:44 i 3Z systemd[6839]: pam_unix(systemd-user:session): session opened for user root by (uid=0)
Jan 26 16:25:44 i 3Z sudo[6835]: pam_unix(sudo:session): session opened for user root by (uid=0)
Jan 26 16:25:45 i 3Z sudo[6835]: pam_unix(sudo:session): session closed for user root
Jan 26 16:25:45 i 3Z sudo[6876]: root : PWD=/root ; USER=root ; COMMAND=/bin/systemctl restart sshd
Jan 26 16:25:45 i 3Z sudo[6876]: pam_unix(sudo:session): session opened for user root by (uid=0)
Jan 26 16:25:45 i 3Z sshd[1055]: Received signal 15; terminating.
Jan 26 16:25:45 i 3Z sshd[6881]: Server listening on 0.0.0.0 port 22.
Jan 26 16:25:45 i 3Z sshd[6881]: Server listening on :: port 22.
Jan 26 16:25:45 i 3Z sudo[6876]: pam_unix(sudo:session): session closed for user root
Jan 26 16:25:48 i 3Z sshd[6886]: Accepted publickey for root from 1.xxx.xxx.xxx 74 port 2072 ssh2: ED25519 SHA256:xQdusPE/xxx jUd5qN0EU
Jan 26 16:25:48 i 3Z sshd[6886]: pam_unix(sshd:session): session opened for user root by (uid=0)
Jan 26 16:26:01 i 3Z useradd[6962]: new group: name=jack, GID=1000
Jan 26 16:26:01 i 3Z useradd[6962]: new user: name=jack, UID=1000, GID=1000, home=/home/jack, shell=/bin/bash
Jan 26 16:26:38 i 3Z useradd[6971]: new group: name=john, GID=1001
Jan 26 16:26:38 i 3Z useradd[6971]: new user: name=john, UID=1001, GID=1001, home=/home/john, shell=/bin/bash
Jan 26 16:26:58 i 3Z passwd[6978]: pam_unix(passwd:chauthtok): password changed for john
Jan 26 16:27:43 i 3Z sudo[6984]: root : TTY=pts/0 ; PWD=/root ; USER=root ; COMMAND=/sbin/usermod -aG sudo john
Jan 26 16:27:43 i 3Z sudo[6984]: pam_unix(sudo:session): session opened for user root by root(uid=0)
Jan 26 16:27:43 i 3Z sudo[6984]: pam_unix(sudo:session): session closed for user root
Jan 26 16:29:01 i 3Z sudo[6992]: root : TTY=pts/0 ; PWD=/root ; USER=root ; COMMAND=/sbin/usermod -aG wheel john
Jan 26 16:29:01 i 3Z sudo[6992]: pam_unix(sudo:session): session opened for user root by root(uid=0)
Gestión de usuarios
Gestione los usuarios y permisos del sistema con useradd, wheel, passwd y userdel.
useradd
Comando
El comando useradd crea usuarios. Compruebe el resultado con cat /etc/passwd | grep username.
Requiere permisos de root o sudo.
Establezca una contraseña para el usuario después de crearlo.
Los grupos principal y secundarios deben existir antes de crear el usuario.
Opciones comunes
|
Opción |
Descripción |
|
-d |
Directorio principal. Valor predeterminado: |
|
-m |
Crea el directorio principal. Úselo con |
|
-s |
Shell de inicio de sesión. Valor predeterminado: |
|
-g |
Grupo principal. El grupo debe existir. |
|
-G |
Grupos secundarios. Separe varios grupos con comas (,). |
|
-p |
Contraseña cifrada. Ejemplo:
|
|
-u |
Identificador numérico de usuario. |
|
-e |
Fecha de caducidad de la cuenta en formato AAAA-MM-DD. |
Ejemplos
-
Cree el usuario
jackcon un directorio principal y un shell personalizados.useradd -m -d /home/jack -s /bin/bash jackCompruebe el usuario mediante la ejecución de
cat /etc/passwd | grep jack:jack:x:1000:1000::/home/jack:/bin/bashEstablezca una contraseña para el usuario:
passwd jack -
Cree el usuario
aliceen el grupo secundariodevelopers.useradd -m -G developers alice -
Cree el usuario
bobcon el identificador de usuario 1001.useradd -m -u 1001 bob -
Cree un usuario con permisos de root:
ImportanteOtorgue permisos de root únicamente cuando sea obligatorio.
-
Cree el usuario
john.useradd john -
Establezca una contraseña.
passwd john -
Agregue el usuario al grupo
wheelpara otorgarle permisos de sudo. Ejecutegrep '^wheel:' /etc/grouppara comprobar la membresía.sudo usermod -aG wheel john -
Pruebe los permisos de sudo. Cambie al nuevo usuario y ejecute un comando
sudo.su - john sudo ls /rootSi el sistema solicita una contraseña y se muestra el contenido del directorio
/root, el usuario tiene permisos de sudo y se puede usar para iniciar sesión de forma remota. -
(Opcional) Edite el archivo sudoers para agregar permisos específicos.
sudo visudo
-
userdel
Comando
El comando userdel elimina usuarios.
Opciones comunes
|
Opción |
Descripción |
|
-r |
Elimina el directorio principal y sus archivos. |
|
-f |
Fuerza la eliminación del usuario incluso si tiene una sesión iniciada. |
Ejemplos
-
Elimine el usuario
john.Cambie a root y consulte el directorio principal con
cat /etc/passwd | grep john:john:x:1001:1001::/home/john:/bin/bashElimine el usuario
johnpero conserve el directorio principal:userdel john -
Elimine el usuario
johnjunto con su directorio principal y sus archivos.userdel -r username -
Fuerce la eliminación de un usuario.
userdel -f username
wheel
Comando
wheel es un grupo de usuarios que controla el acceso al comando su para cambiar a root.
El grupo
wheelexiste de forma predeterminada. Si no existe, créelo consudo groupadd wheel.De manera predeterminada, cualquier usuario puede ejecutar su e introducir la contraseña de root para cambiar a dicho usuario.
Para restringir el acceso a root, configure el grupo wheel de modo que solo sus miembros puedan usar su para cambiar a root.
Ejemplos
-
Compruebe si un usuario pertenece al grupo wheel.
groups username -
Agregue el usuario al grupo wheel.
sudo usermod -aG wheel usernameEjecute
visudopara editar/etc/sudoers. La línea%wheel ALL=(ALL) ALLpermite que los miembros del grupo wheel usensudopara todos los comandos.Para permitir el uso de sudo sin contraseña a los miembros de wheel, cambie la línea a:
%wheel ALL=(ALL) NOPASSWD: ALL