Engenharia de inicialização, semana 3

Então, estou atrasado na aula por ter uma coisinha chamada trabalho. Mas se aprender é o que eu realmente quero sair disso, quem se importa. Enfim, vamos ao show.

COMANDOS BÁSICOS DO LINUX

Tenho usado o Linux com pouca frequência, desde que tive o desagrado de tentar instalar o Slackware e o Debian em meados de 2000. É fácil para vocês, crianças com seu Ubuntu. Eu realmente nunca mergulhei profundamente no Bash ou zsh, apenas aprendi o que precisava saber. Oh, como eu sinto falta daqueles dias tranquilos de outrora, quando minha vida estava cheia de tempo livre e eu podia dormir até ficar tão cansada de estar na cama que tinha que sair.

Enfim, com o conhecimento. (Garanto a você, leitor intrépido, que minha gramática e prosa normalmente são léguas mais altas do que isso. Mas estou fazendo essas anotações enquanto assisto a uma palestra online.)

Enfim, aqui está uma merda legal de linha de comando que aprendi:

echo "Whatup, nigga" >> helloworld.txt

Protip: “E aí, mano” é helloworld ++. O que é isso, não seja racista, você diz? Ninja, por favor! Aí está feliz ?!

Além disso, finalmente percebi para que servia o operador de tubulação. Ele pega a saída do comando esquerdo e a usa como um argumento / entrada para o comando à direita do tubo. Ele pega o stdout de um lado e o usa como o stdin do outro. Parece que você pode fazer alguma merda muito poderosa com isso. Eu deveria me forçar a entrar em uma GUI sabática e executar meu macbook completamente a partir da linha de comando, exceto para o meu navegador.

O sinalizador “e” para eco permite a interpretação de escapes de barra invertida. Eu nunca leio as páginas do manual.

Circunflexo duplo após uma instrução echo anexa a string a um arquivo enquanto um único circunflexo o substitui.

curl fakeurl 2> output.txt
curl google
.com fakeurl 1> googlecurl.txt 2> fakeurl.txt
curl google
.com fakeurl &> combined.txt

O nome dos arquivos de texto deve ser indicativo da saída produzida

Normalmente, algo assim faria minha cabeça girar:

yes | nl | head -2000 | tail -50 > data2.txt

No entanto, descobri que ganho muito mais com os screencasts do que com a leitura do material de referência. De qualquer forma, o comando acima pega o STDOUT de sim, canaliza-o para STDIN de n (que numera as linhas), canaliza os dados formatados para o cabeçalho (o que leva apenas as primeiras 2.000 linhas) e canaliza a saída para o final (que leva o últimas 50 linhas) e grava (não acrescenta) isso em data2.txt. O arquivo contém:
1951 y
1952 y
1953 y
.
.
.
2000 anos

É tão simples!

rsync> scp
rsync é ótimo para transmitir arquivos grandes em redes lentas e pode retomar as transferências

Veja este feitiço:
wget -w 2 -r -np -k -p http://www.somesite.com

O comando acima irá, com uma espera de 2 segundos, baixar recursivamente um site inteiro sem subir para o diretório pai e irá converter os links para apontar para arquivos locais e obter todas as imagens, etc. para exibir a página corretamente. Que maneira fácil de copiar uma representação estática de um site.
wget é como uma aranha sem os esteróides do Google.

cURL é para interagir com URLs únicos. É um bloco de construção para chamadas de API

curl https://install.meteor.com | sh

Isso irá realmente baixar o arquivo e canalizá-lo através do shell, instalando-o assim.

nl filename | tail -1

Este comando útil me dará o número de linhas em um arquivo

wc filename

recupera o número de linhas, palavras e bytes em um arquivo

cut -f2 *ptt | tail -n+4 | sort | uniq -c | sort -k1 -rn

Provavelmente nunca manipularei dados tabulares da linha de comando e não sei que tipo de masoquista tentaria fazer isso. Eu imagino que seja mais eficiente se você estiver trabalhando com grandes conjuntos de dados. De qualquer forma, dados alguns dados tabulares, o comando acima seleciona a 2ª coluna de um arquivo terminando em ptt, obtém apenas aqueles que começam com a quarta linha, classifica os dados, faz uma contagem de valores únicos e classifica o faz uma classificação inversa no 1ª coluna com uma classificação numérica reversa … Estou chegando aos comandos um tanto inúteis aqui. Eu ainda prefiro excel