A linha de comando é o coração da administração de servidores Linux. Quer você seja iniciante ou um administrador de sistemas experiente, entender o básico da administração por linha de comando é crucial para gerenciar seu Ubuntu Server com eficiência. Este artigo oferece uma introdução aprofundada à linha de comando do Linux, abordando comandos, ferramentas e técnicas essenciais para gerenciar arquivos, diretórios e o ambiente do servidor.
Artigo anterior:
01. Introdução ao Ubuntu Server – SysOSX: AI & Cloud
02. Como configurar seu primeiro servidor Ubuntu: um guia para iniciantes – SysOSX: AI & Cloud
Por que aprender a linha de comando?
A linha de comando do Linux, acessada por meio do terminal, é uma ferramenta poderosa para interagir com o sistema operacional. Ao contrário das interfaces gráficas, a linha de comando oferece:
- Velocidade: As tarefas podem ser executadas mais rapidamente com comandos do que por meio de interfaces gráficas.
- Flexibilidade: Automatize processos e execute operações complexas usando scripts.
- Controle: Acesse funcionalidades mais profundas do sistema e solucione problemas com eficácia.
Acessando a linha de comando no Ubuntu Server
As instalações do Ubuntu Server não incluem uma interface gráfica por padrão, portanto todas as interações ocorrem pelo terminal. Aqui estão formas comuns de acessar a linha de comando:
1. Acesso direto via console local
Após fazer login no seu Ubuntu Server, você verá a interface do terminal.
2. Acesso remoto via SSH
Use o Secure Shell (SSH) para acessar seu servidor remotamente:
ssh username@server_ip
Comandos essenciais do Linux para iniciantes
1. Navegando pelo sistema de arquivos
Entender a hierarquia do sistema de arquivos do Linux é fundamental para gerenciar arquivos e diretórios.
Ver o diretório atual: pwd
Exibe o diretório de trabalho atual:
pwd
Listar o conteúdo do diretório: ls
Lista arquivos e diretórios no local atual:
ls
Opções:
ls -l: Lista detalhada com permissões, propriedade e tamanho.ls -a: Inclui arquivos ocultos (arquivos que começam com.).
Mudar de diretório: cd
Muda para um diretório diferente:
cd /path/to/directory
Exemplos:
cd ..: Sobe um nível.cd ~: Vai para o diretório home.
2. Gerenciando arquivos e diretórios
Criar um diretório: mkdir
Cria um novo diretório:
mkdir directory_name
Exemplo: crie uma estrutura de subdiretórios.
mkdir -p /home/user/documents/projects
Explicação:
- A opção
-pcria os diretórios pai se eles não existirem (por ex.,documentseprojects).
Remover um diretório: rmdir
Exclui um diretório vazio:
rmdir directory_name
Exemplo:
rmdir /home/user/old_directory
Copiar arquivos: cp
Copia arquivos ou diretórios:
cp source_file destination_file
Exemplo: copie um arquivo para um novo diretório.
cp /home/user/file.txt /home/user/backup/file.txt
Para copiar diretórios inteiros:
cp -r /home/user/documents /home/user/backup/documents
Mover ou renomear arquivos: mv
Move ou renomeia arquivos:
mv old_name new_name
Exemplo: renomeie um arquivo.
mv file.txt renamed_file.txt
Mover arquivos para outro diretório:
mv /home/user/file.txt /home/user/backup/
Excluir arquivos: rm
Exclui arquivos ou diretórios:
rm file_name
Exemplo: exclua um arquivo.
rm /home/user/file.txt
Para excluir diretórios e seu conteúdo:
rm -r /home/user/old_directory
Aviso: Tenha cuidado com rm para evitar exclusões acidentais.
3. Visualizar e editar arquivos
Visualizar o conteúdo de um arquivo: cat
Exibe o conteúdo de um arquivo:
cat file_name
Exemplo:
cat /etc/hostname
Visualizar o conteúdo de um arquivo com paginação: less
Permite rolar pelo conteúdo do arquivo:
less file_name
Exemplo:
less /var/log/syslog
Criar ou editar arquivos: nano
Um editor de texto amigável para iniciantes:
nano file_name
Exemplo: crie um novo arquivo ou edite um existente.
nano /home/user/new_file.txt
Pesquisar texto em arquivos: grep
Pesquisa uma string específica em arquivos:
grep "search_term" file_name
Exemplo: encontre mensagens de erro em um arquivo de log.
grep "error" /var/log/syslog
4. Comandos de administração do sistema
Verificar o uso do disco: df
Exibe o uso do espaço em disco:
df -h
Opções:
-h: Formato legível para humanos.
Verificar o uso da memória: free
Mostra o uso da memória:
free -h
Monitorar processos do sistema: top
Exibe processos em execução e o uso de recursos do sistema:
top
Alternativa:
htop: Um monitor de processos mais amigável (instale comsudo apt install htop).
Gerenciar serviços: systemctl
Controla os serviços do sistema:
sudo systemctl status service_name
sudo systemctl start service_name
sudo systemctl stop service_name
sudo systemctl restart service_name
Desligar ou reiniciar: shutdown
Desliga ou reinicia o servidor:
sudo shutdown now # Immediate shutdown
sudo shutdown -r now # Immediate restart
5. Permissões e propriedade de arquivos
O Linux usa um modelo de permissões para controlar o acesso a arquivos e diretórios.
Ver as permissões de um arquivo: ls -l
Exibe as permissões de arquivos em formato detalhado:
ls -l
Alterar as permissões de um arquivo: chmod
Modifica as permissões de arquivos:
chmod 644 file_name
Alterar a propriedade de um arquivo: chown
Altera a propriedade de arquivos:
sudo chown new_owner:new_group file_name
6. Pesquisar e encontrar arquivos
Localizar arquivos: locate
O comando locate não está instalado por padrão. Instale-o primeiro:
sudo apt update
sudo apt install mlocate
Atualize o banco de dados:
sudo updatedb
Pesquise arquivos:
locate file_name
Encontrar arquivos: find
Pesquisa arquivos com base em critérios:
find /path -name "file_name"
7. Comandos de rede
Verificar a conectividade de rede: ping
Testa a conectividade com um host:
ping google.com
Verificar portas abertas: ss
O comando netstat está obsoleto e não está instalado por padrão. Use ss, uma alternativa moderna:
ss -tuln
Explicação:
-t: Exibe conexões TCP.-u: Exibe conexões UDP.-l: Exibe portas em escuta.-n: Mostra endereços e portas numéricos.
Testar a conectividade remota: curl
Busca dados de uma URL:
curl http://example.com
Dicas práticas para administração por linha de comando
1. Usar o preenchimento com Tab
Pressione Tab enquanto digita um comando ou nome de arquivo para autocompletar caminhos ou comandos.
2. Usar comandos de histórico
Acesse comandos executados anteriormente:
history
Execute um comando específico do histórico:
!number
3. Redirecionar a saída
Salve a saída de um comando em um arquivo:
command > output_file
4. Encadear comandos
Execute vários comandos em sequência:
command1 && command2
Fluxo de trabalho de exemplo: configurando um servidor web
Aqui está um guia passo a passo para configurar um servidor web usando comandos básicos. Siga estas instruções para configurar seu site personalizado e garantir que ele substitua a página padrão do Apache.
1. Atualizar o sistema
Manter o sistema atualizado é essencial para a segurança e a estabilidade. Execute o comando a seguir para atualizar todos os pacotes:
sudo apt update && sudo apt upgrade -y
2. Instalar o Apache
Instale o servidor web Apache:
sudo apt install apache2 -y
Depois de instalado, verifique se o Apache está em execução:
sudo systemctl status apache2
Você deve ver uma mensagem de status como: Active: active (running).
3. Criar um diretório para o seu site
Crie um diretório para armazenar os arquivos do seu site. Para este exemplo, criaremos um diretório chamado mywebsite:
sudo mkdir -p /var/www/mywebsite
4. Definir permissões
Defina a propriedade e as permissões corretas para que o Apache possa acessar os arquivos do site:
sudo chown -R www-data:www-data /var/www/mywebsite
sudo chmod -R 755 /var/www/mywebsite
5. Criar um arquivo HTML de exemplo
Adicione um simples arquivo index.html para servir como página inicial do seu site:
sudo tee /var/www/mywebsite/index.html > /dev/null << EOF
<!DOCTYPE html>
<html>
<head>
<title>Welcome</title>
</head>
<body>
<h1>Welcome to My Website</h1>
</body>
</html>
EOF
Isso cria uma página básica que diz: “Welcome to My Website”.
6. Configurar um host virtual
Para servir seu site personalizado, crie um novo arquivo de configuração de host virtual para o Apache:
sudo nano /etc/apache2/sites-available/mywebsite.conf
Cole o conteúdo a seguir no arquivo:
<VirtualHost *:80>
ServerAdmin webmaster@localhost
DocumentRoot /var/www/mywebsite
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
Salve e saia do arquivo pressionando Ctrl+O, depois Ctrl+X.
7. Habilitar seu site
Habilite a nova configuração de host virtual:
sudo a2ensite mywebsite.conf
Desabilite a configuração padrão do site do Apache para garantir que seu site seja servido:
sudo a2dissite 000-default.conf
Recarregue o Apache para aplicar as alterações:
sudo systemctl reload apache2
8. Testar a conectividade
Verifique se seu site está funcionando executando:
curl http://localhost
Você deve ver o conteúdo HTML do seu arquivo index.html personalizado:
<!DOCTYPE html>
<html>
<head>
<title>Welcome</title>
</head>
<body>
<h1>Welcome to My Website</h1>
</body>
</html>
Como alternativa, abra um navegador e navegue até http://<your-server-ip> para ver seu site.
Solução de problemas
Se você ainda vir a página padrão do Apache ou encontrar problemas:
- Verifique se seu site está habilitado
Verifique se sua configuração está ativa:
ls /etc/apache2/sites-enabled/
- Você deve ver
mywebsite.conf. Caso contrário, ative-o usando:
sudo a2ensite mywebsite.conf
- Verifique os logs do Apache
Procure erros nos logs:
sudo tail -f /var/log/apache2/error.log
- Reinicie o Apache
Se o problema persistir, reinicie o Apache:
sudo systemctl restart apache2
Conclusão
Dominar a linha de comando do Linux é essencial para administrar o Ubuntu Server com eficiência. Ao aprender e praticar esses comandos, você ganhará confiança para gerenciar seu ambiente de servidor, solucionar problemas e executar tarefas administrativas com eficiência.
Próximos passos: Gerenciar usuários e permissões
Quando você estiver à vontade com o básico da administração por linha de comando, o próximo passo fundamental na gestão de servidores é entender usuários, grupos e permissões. Gerenciar adequadamente as contas de usuário e os controles de acesso é essencial para manter a segurança e garantir que apenas pessoas autorizadas possam acessar ou modificar arquivos e recursos confidenciais do seu servidor.
No próximo artigo, “Gerenciar usuários e permissões”, abordaremos:
- Como criar, modificar e excluir contas de usuário.
- Gerenciar grupos para um controle de acesso eficiente.
- Entender as permissões de arquivos e diretórios (leitura, escrita, execução).
- Usar ferramentas avançadas como
sudopara escalonamento de privilégios. - Boas práticas para proteger contas de usuário no Ubuntu Server.
Fique atento a insights práticos para melhorar sua segurança e gestão de acessos!
14 thoughts on “03.Mastering the Linux Command Line for Ubuntu Server”