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.
últimas postagens
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:
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.