O comando tail
é usado para ver as últimas linhas de um arquivo. Por exemplo:
tail frutas.txt # Mostra as 10 últimas linhas de arq1
tail -n 20 frutas.txt # Mostra as 20 últimas linhas de arq1
tail -n 2 /etc/passwd # Mostra as 2 últimas linhas do arquivo
tail -f /etc/passwd # Mostra as 10 últimas linhas dinamicamente, enquanto são geradas.
O comando tac
é o inverso do comando cat: Ele envia os arquivos de texto para a saída padrão, com as linhas em ordem reversa. Basta usar o comando tac frutas.txt
.
O comando wc
exibe contagem de caracteres, palavras e linhas em arquivos, com as opções -c
(contagem de caracteres), -l
(contagem de linhas)-w
(contagem de palavras). Por exemplo:
wc -l frutas.txt
wc -w frutas.txt
wc -c frutas.txt
wc -l /etc/group
O comando uniq
escreve em stdout uma entrada, eliminando linhas duplicadas adjacentes. A opção -d
processa apenas as linhas que se repetem, enquanto a opção -u
processa apenas as linhas que não se repetem.
Para eliminar linhas duplicadas não-adjacentes, primeiro organize o arquivo com sort.
Primeiro baixe um arquivo de texto clicando aqui, depois digite esses comandos:
cat vegetais.txt
uniq vegetais.txt
Pode ver que ele eliminou todas as repetições, exibindo todas as linhas apenas uma vez.
Digite isso:
uniq -d vegetais.txt # Visualiza apenas as linhas que se repetem
uniq -u vegetais.txt # Visualiza apenas as linhas que não se repetem
O comando cp
copia um arquivo ou diretório para outro local, como por exemplo:
cp /home/user/arq1 /home/eu/arq1
As opções disponíveis para esse comando são:
-i
: Pede confirmação interativamente.-r
: Copia diretórios recursivamente.-p
: Preserva todas as informações.O comando rm
pode ser usado para excluir tanto arquivos como diretórios.
Para excluir arquivos ou diretórios vazios:
rm arquivooudiretorio
Para excluir ou diretórios ocupados:
rm -r diretorio
Outras opções do comando cp são essas:
cp /home/eu/arq2 . # Copia o arquivo arq2 do diretório home do usuário para o diretório atual
cp /root/a* /home # Copia todos os arquivos que se iniciam com a letra a do diretório root para o home
O comando mv
move o arquivo ou diretório para o destino especificado.
As opções disponíveis para esse comando são:
-i
: Pede confirmação interativamente.Veja um exemplo:
mv /root/arq1 /home # Move o arquivo arq1 de /root para /home
Outro uso para o comando mv é o de renomear arquivos e diretórios, como por exemplo:
mv /home/eu/arq1 /home/eu/arq2
O comando mkdir
cria um ou mais diretórios, como por exemplo:
mkdir nomedodiretorio
As opções disponíveis para esse comando são:
-m
: Define direitos de acesso no modo octal.-p
: Cria subdiretórios recursivamente.O comando rmdir
remove um diretório vazio. Usamos ele assim:
rmdir nomedodiretorio
Como visto anteriormente, o comando rm pode ser usado para excluir tanto arquivos como diretórios, e sabemos que para excluir um diretório ocupado usamos rm -r nomedodiretorio
O comando rm -rf /
remove recursivamente todos os arquivos e diretórios do seu sistema Linux, até a raiz. NUNCA o execute.
O comando top
fornece uma visão em tempo real do sistema em execução. Essas são as opções dele:
-d atraso
: Especifica o atraso em segundos entre atualizações de tela. O padrão é 5 segundos.-i
: Ignora processos ociosos.-n num
: Exibe num iterações e depois termina.-b
: Roda em modo de batch. Útil para mandar a saída de top para outros programas ou um arquivo.Digite esses comandos:
top # Modo interativo, use q para sair
top -i # Ignora processos ociosos
top -n 3 # Roda 3 vezes
As opções do modo interativo são essas:
h
: Gera uma tela de ajuda.k
: Termina um processo (será pedido seu PID).q
: Sai do programa.r
: Mofifica a prioridade de um processo (renice). Serão pediso seu PID e valor nic (valores positivos tem menos prioridade).s
: Modifica o atraso em segundos entre as atualizações. Será pedido o tempo em segundos.Descrição dos campos de TOP:
O comando uptime
mostra o tempo atual, há quanto tempo o sistema está rodando, quantos usuários estão logados atualmente e as médias de carga do sistema nos últimos 1, 5 e 15 minutos. Use apenas uptime
no terminal.
O comando vmstat
reporta informações sobre processos, memória, paginação, blocos de I/O, traps e atividades de CPU. Usa a sintaxe vmstat opções
. As opções são essas:
-S M
: Usa a unidade MB em vez do padrão KB.-a
: Mostra memória ativa e inativa.-d
: Mostra estatísticas de discos.-p partição
: Mostra informações de R/W na partição especificada.-s
: Mostra estatísticas em formato de tabela.Digite esses comandos:
vmstat
vmstat -S M
Os campos do vmstat são esses:
procs
r
: Nº de processos esperando para rodar.b
: Nº de processos em dormência inininterrupta.memory
swpd
: Memória virtual usada.free
: Memória livre.buff
: Memória usada como buffer.cache
: Memória usada com cache.swap
si
: Memória trocada a partir do disco.so
: Memória trocada para o disco.Digite esses comandos:
vmstat -a
vmstat -d
vmstat -p /dev/sda1
vmstat -s
O comando free
exibe a quantidade de memória livre e usada no sistema. Usa-se o comando free opcoes
, que são essas:
-b
: Mostra o uso da memória em bytes.-k
: Idem, em KB.-m
: Idem, em MB.-t
: Exibe uma linha que mostra os totais.-s n
: Operação contínua em intervalos de n segundos.Digite esses comandos:
free
free -b
free -k
free -m
free -t
free -s 1
O comando iostat
mostra informações sobre o uso da CPU e várias estatísticas sobre E/S do sistema. A sintaxe é iostat opções
, que são essas:
-c
: Mostra apenas estatísticas da CPU.-d
: Mostra apenas estatísticas de I/O de disco.-p sda
: Mostra apenas estatísticas para sda.Digite esses comandos:
iostat -c
iostat -d
iostat -p sda # Não precisa colocar o caminho completo
O comando dstat
permite efetuar monitoramento e verificar performance do sistema Linux, possuindo características dos comandos top, vmstat, free e iostat combinadas. Instale ele com sudo apt install dstat
. A sintaxe é dstat opções
, que são essas:
n
: No lugar do n, colocamos o intervalo de atualização em segundos.-m
: Estatísticas de uso de memória.-c
: Estatísticas de CPU.-d
: Estatísticas de disco.-i
: Interrupções.-n
: Estatísticas de uso de rede.--fs
: Estatísticas do sistema de arquivos.Digite esses comandos:
dstat
dstat -m
dstat -c
dstat -d
dstat -i
dstat -n
dstat --fs
PS: Temos também uma ferramenta gráfica para o dstat, digitando sudo apt install gnome-system-monitor
.
RAID é um arranjo redundante de discos independentes. O dispositivo RAID é um dispositivo virtual criado a partir de dois ou mais dispositivos de blocos reais no Linux, como HDs.
A função do RAID é combinar dois ou mais dispositivos em um único dispositivo que contém um sistema de arquivos padrão.
Para configurar o RAID no Linux usamos a ferramenta mdadm
, que é usada para administrar conjuntos de multi-dispositivos. Para instalar ele no Debian e derivados use o comando sudo apt install mdadm
.
A sintaxe básica do comando é mdadm [modo] [nomearray] [opções] [componentesarray]
PS: Para criar o array RAID devemos ter mais de uma partição ou discos no computador. E não mexa nas partições onde o Linux ou outros sistemas estejam instalados, geralmente a /dev/sda
. É recomendado usar um sistema em máquina virtual para isso.
Para listar os discos disponíveis, digite sudo fdisk -l
.
Os discos a serem usados no exemplo serão /dev/sdb
e /dev/sdc
.
Primeiramente, crie partições no disco rígido, podemos fazer via linha de comandos digitando esses comandos:
sudo fdisk /dev/sdb
sudo fdisk /dev/sdc
Daí é só seguir as instruções para criar as novas partições. Escolha o tipo fd.
Para criar o array RAID usamos esse comando:
sudo mdadm --create /dev/md0 --verbose --level=1 --raid-device=2 /dev/sdb1 /dev/sdc1
# O md0 é o array RAID, seguido por md1, md2, etc.
# O level 1 é o RAID por espelhamento.
# O raid-device é a quantidade de discos que farão parte do array.
Para ver o status do array use esse comando:
cat /proc/mdstat
Para ver os detalhes do array, digite isso:
sudo mdadm --detail /dev/md0
Para adicionar o array ao arquivo de configuração do mdadm (/etc/mdadm/mdadm.conf
):
sudo mdadm -Es | grep md >> /etc/mdadm/mdadm.conf # São dois >> para adicionar, NUNCA use um só >
Para formatar o array, fazemos assim:
sudo mkfs.ext4 /dev/md0
Para montar o array, montamos como um disco comum, assim:
sudo mkdir /raid
sudo mount -t ext4 /dev/md0 /raid
df -h # Para verificar o ponto de montagem
Para verificar o status do array, usamos esse comando:
sudo mdadm --detail /dev/md0
# Ou também:
cat /proc/mdstat
Para simular uma falha no array:
mdadm --manage --set-faulty /dev/md0 /dev/sdc1
Vamos remover e colocar um novo disco
no lugar do defeituoso
:
sudo mdadm /dev/md0 -r /dev/sdc1
sudo mdadm /dev/md0 -a /dev/sdc1
sudo mdadm --detail /dev/md0 # Dê alguns segundos e rode este comando novamente, pode levar horas, dependendo do tamanho do disco
Para excluir esse array, fazemos assim:
sudo mdadm --stop /dev/md0
sudo mdadm --remove /dev/md0
sudo mdadm --zero-superblock /dev/sd[bc]1 # O que está entre [] é uma expressão regular
mdadm --detail /dev/md0
cat /proc/mdstat
sudo fdisk /dev/sdb # Use as opções d e p para excluir as partições.
O RAID 5 tem ao menos três discos e funciona armazenando os dados distribuídos pelos discos com informações de paridade, que são bits que são armazenados em cada um dos discos, que permitem a recuperação de dados caso algum dos discos tenham algum problema.
No nosso exemplo teremos 3 discos, /dev/sdb
, /dev/sdc
e /dev/sdd
.
Primeiro vamos criar partições específicas para RAID nos discos:
sudo fdisk -l
sudo fdisk /dev/sdb # Use as opções d e p para excluir as partições, e n e t para recriar as mesmas
sudo fdisk /dev/sdc # Mesmo caso acima
sudo fdisk /dev/sdd # Só crie a partição
sudo fdisk -l
Crie a matriz RAID 5:
sudo mdadm --create --force --assume-clean /dev/md0 --verbose --level=5 --raid-devices=3 /dev/sd[bcd]1
cat /etc/mdadm/mdadm.conf
Para adicionar o array ao arquivo de configuração mdadm.conf:
sudo mdadm -Es | grep md >> /etc/mdadm/mdadm.conf # São dois >>
Para formatar o array:
sudo mkfs.ext4 /dev/md0
sudo mkdir /raid # Crie caso nã otenha criado anteriormente
# Para montar o dispositivo:
sudo mount -t ext4 /dev/md0 /raid
# Informações:
df -h
sudo mdadm --detail /dev/md0
Para usar o array depois de reinicalizar o computador, faça isso para montar ele automaticamente:
sudo blkid # Para descobrir o UUID do array
sudo nano /etc/fstab
No arquivo fstab, adicione essas linhas:
# RAID 5
uUID=c9a487ed-032b-48a9-b4ef-b8a6db93ea74 /raid ext4 defaults 0 0
Reinicialize a máquina, veja que nas mensagens da inicialização aparecerá os discos criados pelo RAID.