Comandos úteis do Ubuntu no trabalho

Este guia reúne comandos frequentemente utilizados em ambientes de trabalho com sistemas baseados em Ubuntu, abrangendo gerenciamento de usuários, configurações de sistema, armazenamento, rede e serviços.

Gerenciamento de Usuários

Criar um novo usuário com diretório home e shell padrão:

sudo useradd -d /home/nomeDoUsuario -m -s /bin/bash nomeDoUsuario
sudo passwd nomeDoUsuario

Conceder permissões de superusuário editando o arquivo de sudoers:

sudo visudo
# Adicione a seguinte linha abaixo da entrada do root:
nomeDoUsuario ALL=(ALL:ALL) ALL

Remover um usuário e seu diretório home:

sudo userdel -r nomeDoUsuario

Configurar autenticação por chave SSH:

mkdir -p ~/.ssh
chmod 700 ~/.ssh
touch ~/.ssh/authorized_keys
chmod 600 ~/.ssh/authorized_keys

Memória Swap

Verificar o uso atual de memória:

free -h

Criar e ativar um arquivo de swap:

sudo fallocate -l 4G /var/swapfile
sudo chmod 600 /var/swapfile
sudo mkswap /var/swapfile
sudo swapon /var/swapfile

Permanecer como root:

sudo -i

Configurar o swap para iniciar automaticamente:

echo '/var/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab

Remoção de Software

Listar pacotes instalados correspondentes a um termo:

dpkg -l | grep nomeDoPrograma

Desinstalar um pacote com seus arquivos de configuração:

sudo apt-get purge nomeDoPrograma

Desinstalar mantendo as configurações:

sudo apt-get remove nomeDoPrograma

Localização de Arquivos

Encontrar executáveis no PATH:

which nome

Localizar binários, manuais e arquivos de código fonte:

whereis nome

Buscar por nome de arquivo no banco de dados local:

locate nome

Busca detalhada no sistema de arquivos (com custo de I/O):

sudo find / -type f -name "*.conf" 2>/dev/null

Montagem de Discos

Listar dispositivos de bloco e partições:

sudo lsblk

Criar um sistema de arquivos ext4:

sudo mkfs.ext4 /dev/sdb1

Criar ponto de montagem e montar a partição:

sudo mkdir /mnt/dados
sudo mount /dev/sdb1 /mnt/dados

Expandir um sistema de arquivos após redimensionar o disco:

sudo resize2fs /dev/sdb1

Limites de Arquivos Abertos

Aumentar o limite de file descriptors no Ubuntu 18.04+:

sudo sh -c 'cat >> /etc/security/limits.conf <<EOF
* soft nofile 65535
* hard nofile 65535
EOF'

echo "fs.file-max = 2097152" | sudo tee /etc/sysctl.d/99-file-max.conf
sudo sysctl --system

Firewall (UFW)

Gerenciar regras do firewall Uncomplicated:

# Status
sudo ufw status verbose

# Ativação/Desativação
sudo ufw enable
sudo ufw disable

# Liberar uma porta TCP
sudo ufw allow 8080/tcp

# Revogar uma regra
sudo ufw delete allow 8080/tcp

# Listar todas as regras numeradas
sudo ufw status numbered

Serviços Systemd

Criar e gerenciar um serviço:

# Criar arquivo de unidade
sudo nano /etc/systemd/system/meu-servico.service

# Comandos de gerenciamento
sudo systemctl start meu-servico
sudo systemctl stop meu-servico
sudo systemctl status meu-servico
sudo systemctl enable meu-servico

# Consultar logs
sudo journalctl -u meu-servico -f

Exemplo de arquivo de serviço:

[Unit]
Description=Minha Aplicação
After=network.target

[Service]
Type=simple
User=www-data
ExecStart=/usr/bin/python3 /opt/app/main.py
Restart=on-failure
RestartSec=5
Environment=NODE_ENV=production

[Install]
WantedBy=multi-user.target

Docker

Instalação e configuração básica:

sudo apt update
sudo apt install docker.io
sudo usermod -aG docker $USER
newgrp docker

Alterar o diretório de armazenamento do Docker:

sudo systemctl stop docker.socket docker.service
sudo mv /var/lib/docker /novo/caminho/docker
sudo ln -s /novo/caminho/docker /var/lib/docker
sudo systemctl start docker.socket docker.service

Limpeza de Logs e Espaço

Analisar consumo de espaço em disco:

sudo du -sh /* | sort -hr | head -n 10

Gerenciar logs do systemd-journald:

# Manter apenas 50MB de logs
sudo journalctl --vacuum-size=50M

# Limpar logs com mais de 7 dias
sudo journalctl --vacuum-time=7d

# Zerar um arquivo de log específico
sudo truncate -s 0 /var/log/syslog

Limpar recursos não utilizados do Docker:

docker system prune -af --volumes

Transferência de Arquivos

Usando o protocolo ZMODEM com lrzsz:

sudo apt install lrzsz

# Upload (do cliente para o servidor)
rz

# Download (do servidor para o cliente)
sz nomeDoArquivo

Sessões Persistentes com Screen

# Criar uma sessão nomeada
screen -S trabalho

# Destacar da sessão: Ctrl+A, depois D

# Listar sessões
screen -ls

# Reanexar a uma sessão
screen -r trabalho

# Encerrar uma sessão
screen -S trabalho -X quit

Acesso SSH do macOS

Gerar um par de chaves RSA:

ssh-keygen -t rsa -b 4096 -C "seu-email@exemplo.com"

Configurar acesso simplificado via arquivo config:

cat >> ~/.ssh/config <<EOF
Host servidor-prod
  HostName 192.168.1.100
  User operador
  Port 22
  IdentityFile ~/.ssh/chave_prod
EOF

ssh servidor-prod

Diversos

Executar um comando em background com log:

nohup python3 aplicacao.py > app.log 2>&1 &

Analisar tamanho de diretórios:

du -h --max-depth=1 | sort -hr

Expandir o histórico de comandos:

echo 'HISTSIZE=1000000' >> ~/.bashrc
echo 'HISTFILESIZE=2000000' >> ~/.bashrc
echo 'HISTCONTROL=ignoreboth:erasedups' >> ~/.bashrc

Converter arquivos de formato DOS para Unix:

dos2unix nomeDoArquivo
# Ou com sed
sed -i 's/\r$//' nomeDoArquivo

Criar links simbólicos:

ln -s /caminho/do/arquivo/original /caminho/do/atalho

Acelerar vídeos no navegador (via console):

document.querySelector('video').playbackRate = 2.0

Tags: Ubuntu Linux Comandos Terminal systemd

Publicado em 6-4 19:42 por Thomas