O Cofre Definitivo de Comandos CLI
Uma referência viva de comandos essenciais para Linux e CLI, totalmente documentados, etiquetados e prontos para pesquisa ou inclusão na sua base de conhecimento Futurewise.
Índice
- OpenSSL (Criptografia Simétrica)
- Arquivamento e Compressão de Arquivos
- Processamento de Texto e Busca
- Fundamentos do Docker
- Fundamentos do Tailscale
- Produtividade com TMUX
1. OpenSSL (Criptografia Simétrica)
Tags: encryption
security
openssl
aes
symmetric
# Criptografar um arquivo com AES-256-CBC (chave de 256 bits) usando salt aleatório para derivação de chave PBKDF2
openssl enc -aes-256-cbc -salt \
-in yourfile.txt \
-out yourfile.txt.enc
Uso e Explicação
-aes-256-cbc
: seleciona o algoritmo AES em modo CBC (seguro e amplamente compatível).-salt
: adiciona salt aleatório à derivação de chave, evitando ataques de rainbow tables.- Você será solicitado a informar uma senha forte e segura.
Referência: Documentação do OpenSSL enc
# Descriptografar um arquivo previamente criptografado usando a mesma senha
openssl enc -d -aes-256-cbc \
-in yourfile.txt.enc \
-out yourfile-decrypted.txt
Uso e Explicação
-d
: modo decrypt (descriptografar).- A ferramenta detecta automaticamente a salt e solicita a mesma senha usada na criptografia.
2. Arquivamento e Compressão de Arquivos
Tags: archive
compression
tar
gzip
zip
rsync
# Criar um tarball comprimido com gzip de um diretório, preservando permissões e links simbólicos
# -c: create, -z: gzip, -v: verbose, -f: file
tar -czvf archive.tar.gz /path/to/dir
Explicação
- Ideal para backups ou agrupar vários arquivos.
- Use
-p
comtar
para preservar propriedade ao restaurar como root.
Referência: Manual do GNU tar
# Extrair um arquivo tar.gz no diretório atual
# -x: extract, -z: gzip, -v: verbose, -f: file
tar -xzvf archive.tar.gz
# Compactar um diretório em zip recursivamente
# -r: recursive
zip -r archive.zip /path/to/dir
# Descompactar um arquivo zip no diretório atual
unzip archive.zip
# Sincronizar dois diretórios via SSH eficientemente
# -a: archive mode, -v: verbose, -z: compress
rsync -avz /local/dir/ user@host:/remote/dir/
Dica
- Use
rsync --dry-run
para simular antes de executar. - Adicione
--delete
para remover arquivos extras no destino.
3. Processamento de Texto e Busca
Tags: grep
awk
sed
find
xargs
text
# Buscar recursivamente “TODO” em todos os arquivos, ignorando binários
grep -R --exclude-dir={.git,node_modules} "TODO" .
-R
ou-r
: recursivo--exclude-dir
: pula pastas grandes
# Imprimir a segunda coluna de um arquivo delimitado por espaços
awk '{print $2}' file.txt
- Útil para extração de colunas
- Ajuste separador com
-F","
para CSV
# Substituir “foo” por “bar” em todas as linhas (in-place)
sed -i 's/foo/bar/g' file.txt
-i
: edita o arquivo diretamente- Use
-i.bak
para criar backup (ex.:sed -i.bak …
)
# Encontrar arquivos .log maiores que 10MB
find /var/log -type f -name "*.log" -size +10M
# Remover arquivos com mais de 7 dias em /tmp
find /tmp -type f -mtime +7 -print0 | xargs -0 rm -f
4. Fundamentos do Docker
Tags: docker
container
images
compose
# Listar contêineres em execução (ID, imagem, comando, tempo ativo)
docker ps --format 'table {{.ID}}\t{{.Image}}\t{{.Command}}\t{{.RunningFor}}'
# Baixar a imagem mais recente do Nginx
docker pull nginx:latest
# Executar contêiner em modo detached, mapeando porta 80
docker run -d --name web -p 80:80 nginx:latest
# Acompanhar logs do contêiner “web”
docker logs -f web
# Abrir shell dentro do contêiner
docker exec -it web /bin/bash
# Limpar contêineres, redes, imagens e cache não usados
docker system prune -af
# Subir serviços do docker-compose em detached
docker-compose up -d --build
Dica
- Etiquete suas imagens (ex.:
myimage:1.0
). - Use
--rm
emdocker run
para limpeza automática.
5. Fundamentos do Tailscale
Tags: tailscale
vpn
ssh
networking
# Instalar Tailscale no Debian/Ubuntu
curl -fsSL https://tailscale.com/install.sh | sh
# Autenticar e ativar Tailscale com rotas de sub-rede e SSH
# --accept-routes: usa rotas anunciadas por nós
# --ssh: habilita SSH integrado
tailscale up --accept-routes --ssh
Explicação
tailscale up
: conecta ao seu Tailnet--ssh
: ativa servidor SSH sem configuração extra--accept-routes
: usa rotas de sub-rede anunciadas por outros nós
# Listar dispositivos e status de SSH
tailscale status --ssh
# Conectar por SSH a outro dispositivo no Tailnet
tailscale ssh user@device-name
# Desativar SSH do Tailscale
tailscale down --ssh
Dica
- Tailscale SSH usa suas chaves e usuários existentes.
- Configure ACLs na console Tailscale para restringir acesso.
Referência: Tailscale SSH
6. Produtividade com TMUX
Tags: tmux
terminal
multiplexing
session
# Iniciar sessão tmux chamada "work"
tmux new -s work
# Listar sessões
tmux ls
# Anexar à sessão "work"
tmux attach -t work
# Desconectar da sessão (prefixo Ctrl+b)
<Ctrl+b> d
# Nova janela
<Ctrl+b> c
# Dividir painel horizontal
<Ctrl+b> "
# Dividir painel vertical
<Ctrl+b> %
# Mudar de painel (prefixo + setas)
<Ctrl+b> ←/→/↑/↓
# Redimensionar painel
<Ctrl+b> : resize-pane -L 10
# Fechar painel
<Ctrl+b> x
Dica
- Altere o
<prefix>
em~/.tmux.conf
(ex.:unbind C-b; set -g prefix C-a
). - Use plugins como
tmux-resurrect
para salvar sessões.
Referência: GitHub tmux