Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

Comando df

Bom dia,

Tenho uma dúvida sobre um dos exercícios passados no curso de DevOps, Aula 04:

Atividade 4Sei que o comando df coleta a porcentagem de espaço em disco, mas não entendi a forma como ele foi usado, o que faz o -h ao lado dele? E quanto ao | awk 'NR==2 {print $5}' | sed 's/%//')?

Eu normalmente pesquiso o que é usado a mais do que foi ensinado em aula, mas dessa vez não encontrei.

Obrigado!

3 respostas
solução!

Olá Guilherme, bom dia!

Vamos entender passo a passo o que cada parte desse comando faz.

  1. df -h: O comando df é usado para exibir a quantidade de espaço em disco usado e disponível nos sistemas de arquivos. A opção -h (human-readable) faz com que a saída seja mais legível para humanos, mostrando os tamanhos em KB, MB, GB, etc., em vez de apenas em blocos de 1K.

  2. awk 'NR==2 {print $5}': O awk é uma linguagem de programação usada para manipulação de texto. Aqui, ele está sendo usado para pegar a segunda linha da saída do df -h (NR==2) e imprimir a quinta coluna ({print $5}), que é a coluna que mostra a porcentagem de uso do disco.

  3. sed 's/%//': O sed é um editor de texto de fluxo. Nesse caso, ele está sendo usado para remover o símbolo de porcentagem (%) da saída. O comando s/%// substitui (s) o símbolo de porcentagem (%) por nada (//), efetivamente removendo-o.

Então, a linha completa espaco=$(df -h | awk 'NR==2 {print $5}' | sed 's/%//') faz o seguinte:

  • Executa df -h para obter o uso do disco em um formato legível.
  • Usa awk para pegar a porcentagem de uso do disco da segunda linha da saída.
  • Usa sed para remover o símbolo de porcentagem da saída.

O valor resultante é armazenado na variável espaco.

Bons estudos!

Olá Lucas,

Muito obrigado pela explicação, ficou bem claro!

E esses parâmetros podem ser usados com qualquer comando, certo? nao sao exclusivos do df.

Além disso, notei que eles são separados por |, isto é uma separação padrão para parâmetros assim? Tem uma definição melhor para o uso do |?

Olá!

Parâmetros como -h no comando df são específicos de cada comando. Cada comando no terminal tem suas próprias opções e parâmetros que você pode usar para modificar o comportamento do comando.

Por exemplo:

df -h: O -h é uma opção do df para exibir o espaço em disco de forma legível para humanos. ls -l: O -l é uma opção do comando ls para exibir arquivos e diretórios em formato de lista longa. Portanto, nem todos os comandos têm os mesmos parâmetros. Você deve consultar a documentação ou usar o comando man seguido do comando que deseja explorar (por exemplo, man df ou man ls) para ver todas as opções disponíveis para aquele comando específico.

O símbolo |, conhecido como pipe, não é um separador de parâmetros, mas sim uma ferramenta do Linux que conecta a saída de um comando à entrada de outro.

Como Funciona? Quando você usa |, o shell pega a saída (output) do comando à esquerda do pipe e a envia como entrada (input) para o comando à direita. Dessa forma, conseguimos criar pipelines de comandos que processam dados de maneira sequencial.