• ¡Obtenga la seguridad de la aplicación de la manera correcta! Detectar, proteger, monitorear, acelerar y más ...
  • 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

    Utilización de 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.

    [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

    df

    Utilización de 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 

    [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% /
    ....
    

    Optió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 -t bandera. 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 de 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
    total            33G  2.3G   31G   8% -

    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.

    [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 solo use -s (resumen) bandera.

    [email protected]:~$ sudo du -hs /var/log
    204M	/var/log

    gratuitas

    Use el comando libre para ver la memoria del sistema total, usada y libre. Utilizar -h bandera para 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

    ps

    Utilización de 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:

    [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

    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

    parte superior

    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.

    La 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.

    0.3 nosotros, usuario Se utiliza un 0.3% de CPU para procesos de usuario.
    0.0 sy, sistema Se utiliza un 0.0% de CPU para procesos del sistema.
    0.0 ni, agradable 0.0% de la CPU está siendo utilizada por procesos de baja prioridad (agradables)
    99.7 id, inactivo 99.7% de la CPU está inactiva
    0.0 wa, IO-espera 0.0% CPU está esperando E / S
    0.0 hola tiempo dedicado a las interrupciones de hardware
    0.0 y tiempo dedicado a interrupciones de software
    Cada 0.0 piedra de tiempo de esta máquina virtual por el hipervisor

    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
    VIRT 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.

    cavar

    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, use + bandera corta.

    Para ver el registro A para el uso de google.com:

    [email protected]:~$ dig google.com +short
    172.217.164.174

    Para ver los registros MX de google.com, utilice:

    [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 el Herramienta de búsqueda de DNS.

    quien y w

    who muestra 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, 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.

    alquitrán

    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:

    [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 del 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, utilice -z es -x bandera.

    [email protected]:~$ 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:

    [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 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:

    [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>
    ...
    

    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:

    [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 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:

    [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

    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.

    [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 enchufes de escucha y no escucha, use -t y -a banderas.

    [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

    La 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:

    [email protected]:~$ 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.

    [email protected]:~$ 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.

    [email protected]:~$ sudo updatedb

    encontrar

    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:

    [email protected]:~$ find . -name a.txt
    ./myfiles/a.txt

    Para buscar directorios, use -type d bandera:

    [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, utilice -size bandera:

    [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 systemctl comando para administrar servicios y unidades 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 systemctl comando de estado. 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: 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

    Utilización de journalctl para ver los registros recopilados por systemd. systemd recopila el registro 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, los registros más recientes primero:

    [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, use mysql -u bandera:

    [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. matar con -l bandera 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 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

    [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 de apache2 con la identificación de proceso 45525:

    [email protected]:~$ sudo kill -9 45525

    Vuelva a ver la lista de procesos de 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

    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:

    [email protected]:~$ sudo killall apache2

    Utilización de kill y killall con cuidado. Estos comandos pueden dejar el sistema en un estado inestable.

    IP

    La 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:

    [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, utilice 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 derribarlo:

    [email protected]:~$ ip link set eth0 down

    datos

    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 último 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 hace 6 días:

    [email protected]:~$ date --date='6 days ago'
    Wed Aug  5 08:06:37 UTC 2020

    Fecha 6 días a partir de ahora:

    [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, 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.