20 comandos do Linux para administrador do sistema

O Linux oferece inúmeros comandos e utilitários, que ajudam você a executar suas tarefas de administração do sistema de forma rápida e eficiente.

Seu trabalho como administrador de sistema inclui a instalação e execução de software, controle de acesso, monitoramento, garantia de disponibilidade, backups, restauração de backups e, claro, combate a incêndios. 😜

Neste artigo, revisamos alguns dos comandos frequentemente usados ​​por administradores de sistemas Linux em seu trabalho diário.

uname

Use o comando uname com o sinalizador -a para imprimir informações do sistema. Este comando mostrará o nome do kernel, a versão do kernel, a versão do kernel, o nome do host, o tipo de processador e as informações da 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

Aqui está o que isso 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

Use o comando df para verificar o tamanho do sistema de arquivos e o espaço disponível. Este comando usado por si só mostra a saída em blocos de 1K.

[email protected]:~$ df 
Filesystem     1K-blocks    Used Available Use% Mounted on
udev              437208       0    437208   0% /dev
tmpfs              91100     692     90408   1% /run
/dev/sda1       30309264 2383952  27908928   8% /
....

A opção -h mostra a saída em um formato legível, ou seja, em MB e 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 qualquer sistema de arquivos, por exemplo, tmpfs, que é para uma saída mais limpa, use o sinalizador -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 listar apenas um tipo de sistema de arquivos específico, use o sinalizador -t. por exemplo, para visualizar apenas o sistema de arquivos 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

O uso do sinalizador total adicionará uma linha mostrando os totais gerais:

[email protected]:~$ df -h -t ext4 --total
Filesystem      Size  Used Avail Use% Mounted on
/dev/sda1        29G  2.3G   27G   8% /
/dev/sdb1       3.9G   16M  3.7G   1% /mnt
<b>total            33G  2.3G   31G   8% -</b>

du

Para verificar o uso do espaço em disco em um diretório, use o comando du. Por exemplo, para ver o uso do espaço em disco no diretório /var/log. Use o sinalizador -h para formato legível.

[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 apenas o uso total, use o sinalizador -s (resumo).

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

gratuitamente

Use o comando free para ver a memória total, usada e livre do sistema. Use o sinalizador -h para formato legível.

[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

Use ps para exibir informações de status sobre processos em execução no sistema. Para ver todos os processos pertencentes ao usuário ubuntu, use o sinalizador -u com o nome do usuário:

[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 visualizar todos os processos, execute ps com sinalizadores 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]
....

Onde

Cabeçalho
Significado
PID
Número de Identificação do Processo
%CPU
Porcentagem de tempo de CPU que o processo está usando
%MEM
Porcentagem do processo de RAM está usando
VSZ
Memória virtual sendo usada em KB
RSS
Memória física que o processo está usando em KB
TTY
Terminal associado ao processo
ESTADO
R – Em execução ou pronto para execução, S – Em suspensão, I – Inativo, T – Parado, Z – Zumbi, D – Aguardando E/S de disco, X – Inativo, W – Trocado, N – Processo de baixa prioridade, < – Processo de alta prioridade

topo

Enquanto o comando ps mostra um instantâneo do estado dos processos a qualquer momento, top mostra uma lista continuamente atualizada (a cada três segundos, por padrão) dos processos do sistema em ordem de atividade do processo.

A saída do comando top consiste em duas partes principais: O resumo do sistema na parte superior e a tabela de processos classificados por atividade da 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_+

Alguns dos campos no resumo do sistema são os seguintes:

  Como desabilitar o firewall UFW no Linux

acima
Tempo de atividade. Tempo desde que a máquina foi inicializada pela última vez.
carga média
A média de carga refere-se ao número de processos que estão aguardando para serem executados, valor menor que 1,0 significa que a máquina não está ocupada. Existem 3 valores. A primeira é a média dos últimos 60 segundos, a segunda é a média dos últimos 5 minutos e a terceira mostra a média dos últimos 15 minutos.
%Cpu(s)

Esta linha descreve as atividades da CPU.
0,3 nós, usuário
0,3% da CPU está sendo usada para processos do usuário.
0,0 s, sistema
0,0% da CPU está sendo usada para processos do sistema.
0,0 ni, legal
0,0% da CPU está sendo usada por processos de baixa prioridade (bons)
99,7 ID, inativo
99,7% da CPU está ociosa
0,0 wa, espera de E/S
0,0% CPU está esperando por E/S
0,0 oi
tempo gasto em interrupções de hardware
0,0 si
tempo gasto em interrupções de software
0,0 ponto
pedra do tempo desta VM pelo hipervisor

Os campos da tabela de processos são os seguintes:

PID
Número de Identificação do Processo
DO UTILIZADOR
Proprietário do processo
RP
Prioridade
NI
Bom valor
VIRT
Memória virtual usada pelo processo (KB)
RES
Memória física usada pelo processo
SHR
Memória compartilhada usada pelo processo
S
Situação do processo. R – Correndo, S – dormindo, I – ocioso, T – parado, Z – zumbi, D – esperando por E/S de disco, W- trocado, X – morto
%CPU
O processo de tempo de CPU está usando em porcentagem
%MEM
O processo de memória física está usando
TEMPO[+]
Tempo total de CPU usado pelo processo
COMANDO
Nome do programa

Enquanto o top está em execução, você pode emitir vários comandos. Pressione h ou ? para ver os comandos que podem ser executados enquanto o top está em execução. Pressione k para matar um processo. Pressione q para sair do topo.

escavação

dig é uma ótima ferramenta para consultas DNS. É usado da seguinte forma:

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

Onde

  • é o nome do servidor DNS que você deseja consultar
  • é o nome de domínio sobre o qual você deseja consultar
  • é o nome do registro que você deseja conhecer – A, MX, NS SOA, etc.

Para suprimir a saída detalhada, use o sinalizador +curto.

Para visualizar um registro do google.com, use:

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

Para ver os registros MX de google.com, use:

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

Se você precisar consultar registros de DNS na Internet, poderá usar a ferramenta de pesquisa de DNS.

quem e w

que mostra os usuários que estão conectados.

[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 mostra os usuários atualmente conectados e seus processos. O cabeçalho mostra a hora atual, o tempo de atividade do sistema, o número de usuários conectados e as médias de carga do 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

A próxima parte mostra os nomes de usuário, o terminal e o IP remoto do qual eles estão conectados, tempo de login, tempo ocioso, JCPU, PCPU e o programa que estão executando. JCPU é o tempo usado por todos os processos anexados ao tty, enquanto PCPU é o tempo usado pelo processo atual.

alcatrão

Com o GNU tar você pode arquivar vários arquivos em um único arquivo.

Como exemplo crie um diretório myfiles e três arquivos a.txt, b.txt, c.txt no diretório myfiles:

[email protected]:~$ mkdir myfiles ; touch myfiles/{a.txt,b.txt,c.txt}

Agora para criar um arquivo chamado allfiles.tar contendo todos os arquivos no diretório myfiles:

[email protected]:~$ tar -cvf allfiles.tar myfiles
myfiles/
myfiles/c.txt
myfiles/a.txt
myfiles/b.txt

Lista todos os arquivos no diretório atual. Você pode ver o diretório myfiles e o arquivo allfiles.tar:

[email protected]:~$ ls
allfiles.tar  myfiles

Você pode descompactar um arquivo com o sinalizador -x. Então, para descompactar allfiles.tar:

[email protected]:~$ tar -xvf allfiles.tar
myfiles/
myfiles/c.txt
myfiles/a.txt
myfiles/b.txt

Você também pode compactar este arquivo com o sinalizador -z. Isso criaria um arquivo compactado com 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 descompactar um arquivo compactado, use -z com o sinalizador -x.

[email protected]:~$ tar -zxvf allfiles.tar.gz 
myfiles/
myfiles/c.txt
myfiles/a.txt
myfiles/b.txt

grep

grep é usado para procurar um padrão em um arquivo ou um conjunto de arquivos. Ele imprime todas as linhas correspondentes a esse padrão. Por exemplo, para procurar a linha que contém “ServerRoot” em /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 pesquisar em todos os arquivos em um diretório, use *. Para incluir a pesquisa em subdiretórios, use o sinalizador -r (recursivo). Então, para procurar todas as linhas que contenham o padrão “VirtualHost” em todos os arquivos em /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 é uma ferramenta de linha de comando rápida para sincronizar arquivos e diretórios entre dois locais. Pode ser usado para cópia local e remota e é rápido porque envia apenas as diferenças entre os arquivos de origem e os arquivos existentes no destino.

É amplamente utilizado para backups e como um comando de cópia aprimorado para uso diário.

Aqui está um exemplo:

Para copiar/rsync todos os arquivos do diretório myfiles para o diretório de backups:

[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 os arquivos do diretório myfiles para o diretório de backups em um host remoto, inclua remote_user @remote_host no nome de destino. Então, para rsync myfiles pasta para um host remoto com 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

O comando ss é usado para despejar estatísticas de soquete, semelhante ao utilitário netstat legado. Para exibir soquetes TCP, use o sinalizador -t.

[email protected]:~$ ss -t 
State       Recv-Q        Send-Q                 Local Address:Port                     Peer Address:Port         
ESTAB       0             0                           10.0.0.4:53852                   168.63.129.16:8037         
ESTAB       0             0                           10.0.0.4:ssh                    183.83.211.129:64118        
ESTAB       0             0                           10.0.0.4:33256                 169.254.169.254:http         
ESTAB       0             1080                        10.0.0.4:ssh                     222.186.30.35:11527        
ESTAB       0             0                           10.0.0.4:ssh                    183.83.211.129:63049

Isso não exibiria soquetes que estão escutando. Para incluir soquetes de escuta e não escuta, use os sinalizadores -t e -a.

[email protected]:~$ ss -t -a 
State        Recv-Q        Send-Q                Local Address:Port                     Peer Address:Port         
LISTEN       0             128                         0.0.0.0:ssh                           0.0.0.0:*            
LISTEN       0             80                        127.0.0.1:mysql                         0.0.0.0:*            
LISTEN       0             128                   127.0.0.53%lo:domain                        0.0.0.0:*            
ESTAB        0             0                          10.0.0.4:53852                   168.63.129.16:8037         
ESTAB        0             0                          10.0.0.4:ssh                    183.83.211.129:64118        
ESTAB        0             0                          10.0.0.4:33256                 169.254.169.254:http         
ESTAB        0             1080                       10.0.0.4:ssh                     222.186.30.35:11527        
ESTAB        0             120                        10.0.0.4:ssh                    183.83.211.129:63049        
LISTEN       0             128                            [::]:ssh                              [::]:*            
LISTEN       0             128                               *:http                                *:*

localizar

O comando locate usa um banco de dados para pesquisar arquivos e, na verdade, pode ser muito mais rápido que o comando find. Muito simples de usar, para procurar um arquivo, digamos, apache2.conf:

[email protected]:~$ locate apache2.conf
/etc/apache2/apache2.conf
/var/lib/dpkg/info/apache2.conffiles

Você pode usar o sinalizador -c se quiser apenas a contagem de arquivos que correspondem ao padrão de pesquisa.

[email protected]:~$ locate -c apache2.conf
2

Às vezes, pode ser necessário atualizar o banco de dados usado por locate, que é mlocate. Para atualizar o banco de dados, use o comando updatedb. Isso precisaria de privilégios de superusuário.

[email protected]:~$ sudo updatedb

achar

Um dos comandos mais usados ​​no Linux. Use-o para pesquisar arquivos com base em nomes de arquivos, permissões, userid, groupid, tamanho, tipo de arquivo, além de outros critérios.

Para pesquisar um arquivo por nome no diretório atual, use o sinalizador -name seguido pelo nome do arquivo para pesquisar.:

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

Para procurar diretórios, use o sinalizador -type d:

[email protected]:~$ find . -type d
.
./.ssh
./myfiles
./.cache
./.gnupg
./.gnupg/private-keys-v1.d
./docker

Para pesquisar arquivos por tamanho, digamos, arquivos maiores que 20 MB, use o sinalizador -size:

[email protected]:~$ find . -size +20M
./docker/docker-ce-cli_5%3a19.03.12~3-0~ubuntu-bionic_amd64.deb
./docker/docker-ce_5%3a19.03.12~3-0~ubuntu-bionic_amd64.deb

systemctl

Agora que o systemd substituiu o processo init do SysV na maioria das distribuições Linux, use o comando systemctl para gerenciar serviços e unidades do systemd.

Para iniciar um serviço, por exemplo apache2:

[email protected]:~$ sudo systemctl start apache2.service

Você pode deixar o sufixo de serviço.

Para parar um serviço:

[email protected]:~$ sudo systemctl stop apache2

Para ver o status do serviço, use o comando systemctl status. O exemplo a seguir mostra o status do apache2 enquanto ele está em execução:

[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 descomplicado é um frontend fácil de usar para iptables. Está disponível por padrão, em distribuições baseadas no Ubuntu. No CentOS, você pode instalar o ufw do repositório EPEL.

Para habilitar o ufw:

$ sudo ufw enable

Verifique o status do firewall com o status ufw:

$ sudo ufw status
Status: active

As políticas padrão do UFW permitem todo o tráfego de saída e bloqueiam todo o tráfego de entrada.

O comando a seguir permite o tráfego de entrada na porta HTTP:

$ sudo ufw allow http
Rule added
Rule added (v6)

Você pode negar tráfego em qualquer porta. Aqui está um exemplo para bloquear o tráfego na porta 21:

$ sudo ufw deny 21
Rule added
Rule added (v6)

journalctl

Use journalctl para visualizar os logs coletados pelo systemd. O systemd coleta o log em um local central em formato binário. Para visualizar esses 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
...

Principalmente, você prefere ver os logs na ordem inversa, ou seja, os logs mais recentes primeiro:

[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 visualizar os logs de um serviço específico, por exemplo, mysql, use o sinalizador -u:

[email protected]:~$ sudo journalctl -u mysql
-- Logs begin at Mon 2020-06-29 02:48:31 UTC, end at Wed 2020-08-19 15:11:34 UTC. --
Aug 16 12:30:02 ubuntu18 systemd[1]: Starting MySQL Community Server...
Aug 16 12:30:03 ubuntu18 systemd[1]: Started MySQL Community Server.
Aug 19 15:03:27 ubuntu18 systemd[1]: Stopping MySQL Community Server...
Aug 19 15:03:29 ubuntu18 systemd[1]: Stopped MySQL Community Server.

matar e matar

Você pode precisar matar um processo descontrolado ou quando precisar liberar alguns recursos do sistema. kill with -l flag mostra todos os sinais que você pode enviar para um processo.

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

Dois sinais mais comumente usados ​​são SIGTERM E SIGKILL. Você também pode usar -9 para SIGKILL e -15 para SIGTERM. O SIGTERM permite que um processo seja concluído antes de ser finalizado e, portanto, é chamado de soft kill. SIGKILL encerra o processo imediatamente. Aqui está um exemplo:

Listar todos os processos do 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 o processo apache2 com ID de processo 45525:

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

Novamente veja a lista de processos do apache2:

[email protected]:~$ ps aux|grep apache2
root      45521  0.0  0.5  78188  4688 ?        Ss   Aug08   0:03 /usr/sbin/apache2 -k start
www-data  45524  0.0  0.5 830480  4816 ?        Sl   Aug08   0:00 /usr/sbin/apache2 -k start
ubuntu    70525  0.0  0.1  14852  1052 pts/0    S+   07:52   0:00 grep --color=auto apache2

Use killall para matar um programa pelo nome. O que significa que killall mata o processo de controle (pai) e todos os processos filho. Para matar todas as instâncias do processo apache2 no exemplo acima:

[email protected]:~$ sudo killall apache2

Use kill e killall com cautela. Esses comandos podem deixar o sistema em um estado instável.

IP

O comando ip substitui ifconfig nas distribuições Linux mais recentes. Use-o para configurar e exibir interfaces de rede. Também usado para exibir e modificar endereços IP, rotas e objetos vizinhos.

Exibir informações sobre todas as interfaces de rede:

[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 ativar ou desativar uma interface, use ip link set dev seguido do nome do dispositivo. Por exemplo, para colocar a interface eth0 online:

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

E para baixar:

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

encontro

Um comando muito usado, aqui exploramos algumas maneiras interessantes de usar esse comando.

[email protected]:~$ date
Tue Aug 11 07:42:49 UTC 2020

Para ver a data do próximo domingo:

[email protected]:~$ date -d 'next sunday'
Sun Aug 16 00:00:00 UTC 2020

Para ver a data do último domingo:

[email protected]:~$ date -d 'last sunday'
Sun Aug  9 00:00:00 UTC 2020

Você também pode usar –date em vez do sinalizador -d:

[email protected]:~$ date --date="last sunday"
Sun Aug  9 00:00:00 UTC 2020

Para ver a data de 6 dias atrás:

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

Data daqui a 6 dias:

[email protected]:~$ date --date="6 days"
Mon Aug 17 08:08:37 UTC 2020

Você pode controlar facilmente o formato de saída da data. Aqui está um exemplo:

[email protected]:~$ date '+%d-%B-%Y'
11-August-2020

Resumo

Você, como administrador do sistema, mantém a infraestrutura de computação do mundo funcionando. Você precisa resolver problemas, manter e manter os sistemas funcionando de forma otimizada, garantindo a segurança.

Espero que esses comandos sejam úteis e ajudem você a fazer melhor seu trabalho.

Aqui estão alguns clientes FTP/SFTP e as melhores folhas de dicas do Vim para desenvolvedores e administradores de sistemas.