Série Infra One Kindle

Linux One

Terminal, shell e as ferramentas que todo dev usa todo dia

Linux do zero para quem programa, dentro de uma cervejaria artesanal de Blumenau que tem oito semanas até a abertura da Oktoberfest: um servidor alugado em 2018 por alguém que foi embora para Portugal, um Raspberry Pi colado com fita dupla-face na parede da sala de fermentação e um disco que encheu no ano passado, derrubou a loja on-line num sábado e deixou dois mil litros de cerveja esquentarem sem ninguém saber. Terminal, shell, arquivos, permissões, pipes, grep, scripts, processos, systemd, logs, cron, pacotes, rede, SSH e diagnóstico — cada comando com a saída completa na tela.

R$ 15,90 R$ 24,00 Promoção

Atenção: o idioma desta edição é português.

35capítulos
9partes
1projeto do início ao fim
Capa de Linux One: Terminal, shell e as ferramentas que todo dev usa todo dia, de Thiago Nogueira Edição Brasil
LinuxBashUbuntuWSLsystemdcronSSHgrep
código do livro

Menos teoria vazia.
Mais código que funciona.

Nada de exemplo solto com foo e bar. Todo trecho pertence ao mesmo projeto, que cresce capítulo a capítulo — e os erros aparecem como aparecem na sua tela, para serem lidos linha por linha.

backup.sh
#!/usr/bin/env bashset -euo pipefailtar -czf /backup/loja-$(date +%F).tar.gz /var/www/loja
terminal
df -h //dev/sda1       40G   28G   10G  74% /
o projeto

Um sistema só, do primeiro arquivo ao deploy

README.md

O servidor e o Raspberry Pi de uma cervejaria, prontos para a Oktoberfest.

Terminal, shell e as ferramentas que todo dev usa todo dia.

  • Um projeto só: o servidor e o Raspberry Pi de uma cervejaria, prontos para a Oktoberfest
  • Terminal e shell sem mistério: arquivos, permissões, pipes, grep, sed e awk
  • Scripts em Bash que não quebram, do primeiro shebang ao set -euo pipefail
  • Processos, systemd, logs e cron: o que roda sozinho e como saber se rodou
  • Pacotes, rede, curl, SSH e um servidor protegido — e o disco que nunca mais enche
leitura de amostra

Leia uma prévia gratuita de Linux One

Esta amostra contém os primeiros capítulos. O PDF completo continua protegido para compradores.

Abrir prévia em nova aba →
sumário

35 capítulos em 9 partes

Abra uma parte para ver os capítulos — e a frase que abre cada um.

parte 01 O servidor que ninguém abreUm sistema que roda em quase tudo, um Linux para chamar de seu e a janela preta onde a conversa com ele acontece. 3 cap.
  1. 01
    O Linux que roda a sua vidaUm computador do tamanho de um maço de cartas na parede de uma sala fria, um servidor num datacenter que ninguém visita, e o mesmo sistema rodando nos dois — e no seu celular, e na sua televisão.
  2. 02
    Um Linux para chamar de seuUm notebook com Windows, um comando no PowerShell e, dez minutos depois, um Ubuntu completo rodando ao lado — sem apagar nada, sem reiniciar duas vezes.
  3. 03
    Terminal e shellUma janela preta, um cifrão piscando, e a diferença entre o programa que desenha as letras e o programa que entende o que você escreveu.
parte 02 ArquivosA árvore que começa numa barra, os comandos que criam, copiam, leem, editam e encontram arquivos — e o disco que encheu. 6 cap.
  1. 04
    A árvore de diretóriosUm monitor velho, um teclado emprestado da recepção e a primeira visita ao Raspberry Pi da parede: uma árvore que começa numa barra e não tem C:, nem D:, nem nada parecido.
  2. 05
    Criar, copiar, mover e apagarUma cópia do monitor dos tanques num pendrive, uma pasta de treino no notebook, e um espaço a mais entre um asterisco e um ponto que apagou tudo — sem lixeira, sem pergunta, sem volta.
  3. 06
    Ler arquivosUm arquivo de 1,3 GB que nenhum editor abre, as primeiras linhas de 2019, as últimas de agora, e a madrugada de 10 de outubro de 2026 lida linha por linha, até a hora em que as linhas pararam.
  4. 07
    Editar no terminalUma linha para acrescentar num arquivo de configuração do Raspberry Pi, nenhum editor com janela à vista, e os dois editores que existem em qualquer máquina Linux do mundo — um fácil e um que não deixa ninguém sair.
  5. 08
    Encontrar arquivos e comandosUm cartão de 16 GB com algo além do CSV, uma busca pela árvore toda com centenas de 'Permission denied' no caminho, e três cópias de segurança que o Vítor fez em 2021 e esqueceu.
  6. 09
    Links e espaço em discoDois comandos que respondem às duas perguntas do disco cheio — quanto falta e quem está ocupando —, um log de 22 GB que voltou a crescer desde o ano passado, e os atalhos que o Linux chama de links.
parte 03 Quem pode o quêUsuários, grupos, as nove letras das permissões e o comando que empresta poder de administrador por um instante. 3 cap.
  1. 10
    Usuários e gruposUm servidor com quatro pessoas de verdade e trinta usuários que ninguém criou, um Raspberry Pi que ainda aceitava a senha de fábrica, e a pergunta que decide tudo no Linux: quem é você?
  2. 11
    PermissõesNove letras na frente de cada arquivo, uma sócia que não conseguia baixar os relatórios de vendas, e um token do Telegram que qualquer usuário do Raspberry Pi podia ler.
  3. 12
    sudo e rootO usuário que pode tudo, quatro letras que emprestam esse poder por um comando só, e um log com onze mil tentativas de entrar como root vindas do mundo todo em uma única semana.
parte 04 O shell de verdadeEntrada, saída e erro; pipes que encadeiam programas pequenos; grep, sed e awk; variáveis; e tudo o que o shell faz com a linha antes de rodar o comando. 6 cap.
  1. 13
    Entrada, saída e erroTrês canais que todo programa tem desde que nasce, o canal das mensagens de erro do monitor dos tanques que ninguém lia, e os símbolos que mandam cada um para onde se quer.
  2. 14
    PipesUma barra vertical entre dois comandos, treze milhões de leituras filtradas em um segundo, e a resposta à pergunta do Seu Arno — quantas vezes o tanque 4 passou do limite em julho? — sem escrever programa nenhum.
  3. 15
    grep e expressões regularesUm log de 22 GB com noventa e sete por cento de linhas inúteis, os endereços que tentaram entrar como root, e a linguagem de padrões que descreve 'qualquer número de três dígitos que comece com 5'.
  4. 16
    Cortar, ordenar e transformar textoA temperatura média de cada tanque em agosto, calculada numa linha; uma palavra trocada em cinquenta arquivos sem abrir nenhum; e os dois programas de nomes estranhos — sed e awk — que fazem metade do trabalho de texto do mundo Unix.
  5. 17
    Variáveis e ambienteUm programa instalado que o terminal jurava não existir, uma lista de pastas chamada PATH, e os dois arquivos escondidos que o Bash lê toda vez que um terminal abre.
  6. 18
    O que o shell faz antes de rodarSeis pastas criadas com um comando, um nome de arquivo com a data de hoje dentro, e a explicação de por que as aspas simples e as duplas não são a mesma coisa.
parte 05 ScriptsOs comandos que a Júlia digitava toda manhã, guardados num arquivo que decide, repete e para quando alguma coisa dá errado. 3 cap.
  1. 19
    O primeiro scriptOs seis comandos que a Júlia digitava toda manhã para saber se estava tudo bem, guardados num arquivo de onze linhas, com uma primeira linha estranha começando por #! e um código de saída que diz se deu certo.
  2. 20
    Decisões e repetiçõesUm script que só fala quando há alguma coisa errada, um laço que confere os seis tanques um por um, e o arquivo de leituras lido linha a linha sem carregar 1,4 GB na memória.
  3. 21
    Scripts que não quebramUm script para arquivar as leituras antigas que, na primeira versão, teria apagado a pasta errada se uma variável viesse vazia — e as quatro linhas e um programa que transformam um script frágil num script em que se pode confiar.
parte 06 O que roda sozinhoProcessos, serviços que sobem com a máquina, logs que contam o que aconteceu e tarefas que rodam às três da manhã. 4 cap.
  1. 22
    ProcessosUm relatório mensal que começou a rodar em 27 de agosto e nunca terminou, um processador a 98% no servidor da loja, e a diferença entre pedir para um programa parar e mandá-lo parar.
  2. 23
    systemd e serviçosO monitor dos tanques transformado num serviço de verdade: sobe quando o Pi liga, volta sozinho em cinco segundos se morrer, guarda o que disse num log — e o Bruno pode reiniciá-lo sem saber senha nenhuma.
  3. 24
    LogsO lugar onde o systemd guarda tudo o que os serviços dizem, um journal de 1,1 GB num cartão de 16 GB, e o TODO de março de 2019 — configurar rotação de logs — riscado em seis linhas.
  4. 25
    Agendar tarefasCinco campos que dizem quando uma tarefa roda, um relatório mensal que agora tem prazo para terminar, e um segundo vigia que confere o primeiro a cada cinco minutos — e manda mensagem se ele parar.
parte 07 Programas e arquivos guardadosInstalar, atualizar e remover programas, ter três versões de uma linguagem na mesma máquina e um backup que volta de verdade. 3 cap.
  1. 26
    PacotesUm servidor de 2018 com 312 atualizações pendentes, a diferença entre atualizar a lista e atualizar os programas, e de onde vêm — e de onde não deveriam vir — os programas que se instalam num Linux.
  2. 27
    Ferramentas de desenvolvimentoTrês Pythons na mesma máquina, um Node que o apt instalava com quatro anos de atraso, e a regra que evita a maior parte das dores de cabeça de quem programa no Linux: não mexa no Python do sistema.
  3. 28
    Compactar, arquivar e fazer backupUma pergunta da Débora — se o servidor sumir amanhã, a gente perde o quê? —, uma resposta desconfortável, e um backup que só passou a ser backup no dia em que foi restaurado num notebook.
parte 08 RedeEndereços, portas e DNS; conversar com APIs pelo terminal; entrar em outra máquina com SSH; e fechar as portas que não deviam estar abertas. 4 cap.
  1. 29
    RedeUm endereço para o servidor novo, um nome que ainda apontava para o velho, um banco de dados escutando a internet toda, e os seis comandos que respondem a quase toda pergunta sobre rede.
  2. 30
    curlConversar com um site sem navegador, perguntar à loja nova se ela está de pé antes de o DNS mudar, e mandar uma mensagem pelo Telegram com uma linha de terminal.
  3. 31
    SSHEntrar em qualquer máquina do mundo com um comando, trocar a senha por um par de chaves, dar apelidos aos servidores, copiar arquivos com rsync — e mandar os backups da loja, toda madrugada, para um disco na prateleira da cervejaria.
  4. 32
    Proteger um servidorAs onze mil tentativas por semana viram zero em uma tarde: login de root fechado, senhas desligadas, um firewall que só deixa passar três portas — e o terminal aberto de reserva que impede quem configura de trancar a si mesmo do lado de fora.
parte 09 O dia a diaUm terminal confortável, o catálogo do que dá errado e a quarta, 6 de outubro de 2027. 3 cap.
  1. 33
    Um terminal confortávelUm prompt que fica vermelho no servidor de produção, atalhos para os comandos de todo dia, uma sessão que sobrevive à queda da internet no meio de uma migração, e as ferramentas novas que fazem o trabalho das velhas com menos digitação.
  2. 34
    Quando dá erradoUm ensaio de falhas na sexta antes da migração — o disco cheio, a porta ocupada, o serviço que não sobe, a memória que acaba —, cada uma com o sintoma, a primeira pergunta e o comando que responde.
  3. 35
    Quarta, 6 de outubroUma migração num domingo às seis da manhã, um nome que muda de endereço em cinco minutos, a abertura da Oktoberfest — e o primeiro sábado, às duas e quarenta e um da madrugada, quando um tanque esquentou e dois celulares vibraram.
avaliações verificadas

O que leitores dizem sobre Linux One

Carregando avaliações deste livro…

Ver todas as avaliações deste livro →
combo

Este livro também entra em um combo

O combo reúne livros já publicados e sai num único pagamento.

git commit -m "primeiro capítulo"

Linux One

Terminal, shell e as ferramentas que todo dev usa todo dia. O projeto começa a rodar no primeiro capítulo — e não para mais.

Atenção: o idioma desta edição é português.