Ir para o conteúdo
  • Materiais
    • Ebook – Ubuntu Linux
    • Ebook – Como Usar Virtualbox
    • Ebook – Kali Linux – Guia de Instalação e Configuração de um Ambiente para Hacking
    • Ebook – O Guia Rápido Sobre Servidor WEB com Apache
    • Ebook – Como Criar Um Servidor Proxy Com Squid
    • Ebook – Apache vs Nginx – O confronto entre os dois servidores web mais utilizados no Linux
    • Ebook – Firewall Com pfSense – Guia para Iniciantes
    • Ebook – Amazon EC2 – Como Criar Seu Primeiro Servidor Na Nuvem
    • Ebook – 10 Shell Script para ADM Linux
  • Sobre
  • Cursos
Menu
  • Materiais
    • Ebook – Ubuntu Linux
    • Ebook – Como Usar Virtualbox
    • Ebook – Kali Linux – Guia de Instalação e Configuração de um Ambiente para Hacking
    • Ebook – O Guia Rápido Sobre Servidor WEB com Apache
    • Ebook – Como Criar Um Servidor Proxy Com Squid
    • Ebook – Apache vs Nginx – O confronto entre os dois servidores web mais utilizados no Linux
    • Ebook – Firewall Com pfSense – Guia para Iniciantes
    • Ebook – Amazon EC2 – Como Criar Seu Primeiro Servidor Na Nuvem
    • Ebook – 10 Shell Script para ADM Linux
  • Sobre
  • Cursos

Comandos do Terminal Linux Para Administração de Sistemas em Cloud (AWS e Azure)

  • pedrodelfino

Compartilhe este post

Share on facebook
Share on linkedin
Share on twitter
Share on email

Sim você vai precisar saber Comandos do Terminal Linux se você já se viu em uma situação onde precisava resolver um problema crítico no servidor e não sabia o que fazer

Ou talvez estivesse gerenciando uma infraestrutura na nuvem e precisasse de comandos eficientes para realizar tarefas administrativas?

Eu já passei por isso. Trabalhando como administrador de sistemas em ambientes de cloud como AWS e Azure, enfrentei diversos desafios onde os comandos do terminal Linux foram essenciais para resolver problemas críticos rapidamente.

Neste guia, vou compartilhar uma lista abrangente dos comandos mais utilizados no terminal Linux, focados para administração de sistemas em cloud.

Esses comandos são fundamentais para garantir que sua infraestrutura funcione perfeitamente e que você possa resolver problemas de forma eficiente.

2. Comandos do Terminal Linux para Resolver Problemas em servidores em cloud

Lembro-me de um incidente específico onde um servidor crítico em AWS parou de responder durante um horário de pico.

A situação era desesperadora, mas apenas utilizando uma série de comandos do terminal Linux, consegui identificar o problema e restaurar a operação do servidor rapidamente.

Essa experiência me mostrou a importância de conhecer bem os comandos do terminal e estar preparado para qualquer eventualidade.

3. Comandos do Terminal Linux Básicos de Navegação e Manipulação de Arquivos

3.1. cd: Navegação Entre Diretórios

O comando cd (change directory) é usado para navegar entre diretórios no sistema de arquivos. Por exemplo:

cd /var/log

3.2. ls: Listagem de Arquivos e Diretórios

Para listar os arquivos e diretórios no diretório atual, use:

ls

Para uma listagem detalhada, use:

ls -l

3.3. cp, mv, rm: Copiar, Mover e Remover Arquivos

Copiar um arquivo:

cp arquivo.txt /caminho/destino

Mover ou renomear um arquivo:

mv arquivo.txt /novo/caminho/novo_nome.txt

Remover um arquivo:

rm arquivo.txt

4. Comandos do Terminal Linux para pegar Informações do Sistema

4.1. uname: Informações do Sistema

Para obter informações básicas sobre o sistema, use:

uname -a

4.2. top e htop: Monitoramento de Processos

O comando top mostra uma visão em tempo real dos processos do sistema:

top

Para uma interface mais amigável, use htop (precisa ser instalado):

sudo apt-get install htop
htop

4.3. df e du: Espaço em Disco

Para verificar o uso do espaço em disco:

df -h

Para verificar o uso de disco de diretórios específicos:

du -sh /caminho/do/diretorio

5. Comandos do Terminal Linux para Gestão de Usuários e Permissões

5.1. adduser e deluser: Gerenciamento de Usuários

Para adicionar um novo usuário:

sudo adduser nome_do_usuario

Para remover um usuário:

sudo deluser nome_do_usuario

5.2. chmod e chown: Permissões e Propriedades

Para alterar permissões de um arquivo:

chmod 755 arquivo.sh

Para alterar o proprietário de um arquivo:

sudo chown usuario:grupo arquivo.txt

6. Comandos do Terminal Linux para gerenciar Rede

6.1. ifconfig e ip: Configuração de Rede

Para exibir a configuração de rede atual:

ifconfig

Ou, mais recentemente:

ip addr show

6.2. ping e traceroute: Diagnóstico de Rede

Para testar a conectividade com outro host:

ping google.com

Para rastrear a rota até um host:

traceroute google.com

6.3. netstat e ss: Estatísticas de Rede

Para exibir conexões de rede e sockets:

netstat -tuln

Ou, para uma versão mais recente:

ss -tuln

7. Comandos do Terminal Linux para Gestão de Pacotes

7.1. apt-get e apt: Gestão de Pacotes no Debian/Ubuntu

Para atualizar a lista de pacotes:

sudo apt-get update

Para instalar um pacote:

sudo apt-get install nome_do_pacote

7.2. yum e dnf: Gestão de Pacotes no CentOS/RHEL

Para atualizar a lista de pacotes:

sudo yum update

Para instalar um pacote:

sudo yum install nome_do_pacote

7.3. snap: Gestão de Pacotes Universais

Para instalar um pacote Snap:

sudo snap install nome_do_pacote

8. Comandos do Terminal Linux para gerenciar Segurança e Logs

8.1. ufw e iptables: Configuração de Firewall

Para habilitar o UFW (Uncomplicated Firewall):

sudo ufw enable

Para adicionar uma regra de firewall:

sudo ufw allow 22/tcp

8.2. journalctl e dmesg: Logs do Sistema

Para exibir logs do sistema com journalctl:

sudo journalctl -xe

Para exibir mensagens do kernel com dmesg:

dmesg

8.3. fail2ban: Prevenção de Intrusões

Para instalar e configurar o Fail2ban:

sudo apt-get install fail2ban
sudo systemctl enable fail2ban

9. Comandos do Terminal Linux para Administração de Cloud (AWS)

9.1. awscli: AWS Command Line Interface

Para configurar a AWS CLI:

aws configure

9.2. ec2: Gerenciamento de Instâncias

Para listar instâncias EC2:

aws ec2 describe-instances

Para iniciar uma instância EC2:

aws ec2 start-instances –instance-ids i-1234567890abcdef0

9.3. s3: Gestão de Armazenamento S3

Para listar buckets S3:

aws s3 ls

Para enviar um arquivo para um bucket S3:

aws s3 cp arquivo.txt s3://nome_do_bucket/

10. Comandos do Terminal Linux para Administração de Cloud (Azure)

A administração de sistemas em ambientes de cloud requer um conjunto específico de comandos para gerenciar recursos de maneira eficiente. O Azure CLI é uma ferramenta poderosa que permite gerenciar a infraestrutura da Microsoft Azure diretamente do terminal Linux. Abaixo estão os comandos mais importantes para administração de sistemas no Azure.

10.1. azcli: Azure Command Line Interface

A Azure CLI (azcli) é a interface de linha de comando usada para gerenciar recursos no Azure.

Instalando a Azure CLI:

curl -sL https://aka.ms/InstallAzureCLIDeb | sudo bash

Configurando a Azure CLI:

Para começar a usar a Azure CLI, você precisa fazer login na sua conta do Azure:

az login

Este comando abrirá uma página de login no seu navegador. Após autenticar-se, você estará pronto para usar a CLI do Azure.

10.2. vm: Gerenciamento de Máquinas Virtuais

Os comandos da Azure CLI para máquinas virtuais permitem criar, gerenciar e excluir VMs facilmente.

Listando Máquinas Virtuais:

Para listar todas as máquinas virtuais no seu grupo de recursos:

az vm list --output table

Iniciando uma Máquina Virtual:

Para iniciar uma VM específica:

az vm start --resource-group meuGrupo --name minhaVM

Parando uma Máquina Virtual:

Para parar uma VM:

az vm stop --resource-group meuGrupo --name minhaVM

Criando uma Máquina Virtual:

Para criar uma nova VM:

az vm create --resource-group meuGrupo --name minhaNovaVM --image UbuntuLTS --admin-username meuUsuario --generate-ssh-keys

10.3. storage: Gestão de Armazenamento

Gerenciar o armazenamento no Azure é essencial para organizar e manter os dados de forma segura e acessível.

Listando Contas de Armazenamento:

Para listar todas as contas de armazenamento no seu grupo de recursos:

az storage account list --resource-group meuGrupo --output table

Criando uma Conta de Armazenamento:

Para criar uma nova conta de armazenamento:

az storage account create --name meuArmazenamento --resource-group meuGrupo --location eastus --sku Standard_LRS

Listando Containers de Armazenamento:

Para listar containers dentro de uma conta de armazenamento:

az storage container list --account-name meuArmazenamento --output table

Criando um Container de Armazenamento:

Para criar um novo container:

az storage container create --name meuContainer --account-name meuArmazenamento

Enviando um Arquivo para o Container:

Para enviar um arquivo para um container de armazenamento:

az storage blob upload --container-name meuContainer --file caminho/para/o/arquivo --name nome_do_arquivo

Monitorando e Gerenciando Recursos com Azure CLI

O Azure CLI não apenas permite a gestão de VMs e armazenamento, mas também proporciona comandos para monitorar e otimizar a infraestrutura.

Monitorando o Uso de Recursos:

Para monitorar o uso de recursos no seu grupo de recursos:

az monitor metrics list --resource meuRecurso --metric nomeDaMétrica

Gerenciando Grupos de Segurança de Rede (NSGs):

Para listar regras de um NSG:

az network nsg rule list --nsg-name meuNSG --resource-group meuGrupo --output table

Adicionando uma Regra ao NSG:

Para adicionar uma nova regra de segurança de rede:

az network nsg rule create --resource-group meuGrupo --nsg-name meuNSG --name minhaRegra --priority 100 --destination-port-ranges 80 --protocol Tcp --access Allow --direction Inbound

Esses comandos são fundamentais para administrar eficazmente recursos no Azure, proporcionando a flexibilidade necessária para gerenciar a infraestrutura diretamente do terminal. Com o domínio desses comandos, você estará bem equipado para lidar com a administração de sistemas em ambientes de cloud de forma eficiente e segura.

11. Ferramentas Complementares para Administração de Sistemas

Para administração de sistemas em cloud, como AWS e Azure, existem várias ferramentas que complementam os comandos de terminal do Linux. Essas ferramentas ajudam a aumentar a produtividade, melhorar a automação e garantir uma gestão mais eficiente da infraestrutura.

11.1. tmux e screen: Multiplexação de Terminal

tmux e screen são ferramentas de multiplexação de terminal que permitem gerenciar várias sessões de terminal a partir de uma única janela.

Iniciando uma nova sessão tmux:

tmux new -s minha_sessao

Desanexando e reanexando a uma sessão tmux:

tmux detach
tmux attach -t minha_sessao

Iniciando uma nova sessão screen:

screen -S minha_sessao

Desanexando e reanexando a uma sessão screen:

screen -d -r minha_sessao

11.2. Ansible: Automação de Tarefas

O Ansible é uma ferramenta de automação de TI que facilita a configuração, o gerenciamento e a implantação de sistemas.

Instalando o Ansible:

sudo apt-get install ansible

Executando um playbook Ansible:

Crie um arquivo de inventário (hosts):

[servidores]
meu_servidor ansible_host=192.168.1.100 ansible_user=ubuntu

Crie um playbook (playbook.yml):

- hosts: servidores
  tasks:
    - name: Instalar Nginx
      apt:
        name: nginx
        state: present

Execute o playbook:

ansible-playbook -i hosts playbook.yml

11.3. Docker: Gestão de Contêineres

O Docker é uma plataforma de contêinerização que permite criar, implantar e executar aplicações em contêineres.

Instalando o Docker:

sudo apt-get install docker.io

Iniciando um contêiner Docker:

sudo docker run -d -p 80:80 --name meu_contêiner nginx

Listando contêineres em execução:

sudo docker ps

Parando e removendo um contêiner:

sudo docker stop meu_contêiner
sudo docker rm meu_contêiner

11.4. Kubernetes: Orquestração de Contêineres

O Kubernetes (K8s) é uma plataforma de orquestração de contêineres que automatiza a implantação, a escala e as operações de contêineres.

Instalando o kubectl:

sudo snap install kubectl --classic

Gerenciando um cluster Kubernetes:

kubectl get nodes

Implantando uma aplicação no Kubernetes:

Crie um arquivo de configuração (deployment.yaml):

apiVersion: apps/v1
kind: Deployment
metadata:
  name: nginx-deployment
spec:
  replicas: 2
  selector:
    matchLabels:
      app: nginx
  template:
    metadata:
      labels:
        app: nginx
    spec:
      containers:
      - name: nginx
        image: nginx:1.14.2
        ports:
        - containerPort: 80

Aplique a configuração:

kubectl apply -f deployment.yaml

11.5. Terraform: Automação de Infraestrutura como Código

O Terraform é uma ferramenta de IaC (Infrastructure as Code) que permite definir, provisionar e gerenciar infraestrutura em diversos provedores de cloud.

Instalando o Terraform:

sudo apt-get install terraform

Criando uma configuração de infraestrutura:

Crie um arquivo de configuração (main.tf):

provider "aws" {
  region = "us-west-2"
}

resource "aws_instance" "example" {
  ami           = "ami-0c55b159cbfafe1f0"
  instance_type = "t2.micro"
}

Aplicando a configuração:

terraform init
terraform apply

11.6. Prometheus e Grafana: Monitoramento e Visualização

Prometheus é uma ferramenta de monitoramento e alerta, enquanto Grafana é uma plataforma de visualização que se integra bem com Prometheus.

Instalando o Prometheus:

sudo apt-get install prometheus

Configurando o Prometheus para monitorar uma aplicação:

Edite o arquivo de configuração do Prometheus (prometheus.yml):

scrape_configs:
  - job_name: 'minha_aplicacao'
    static_configs:
      - targets: ['localhost:9090']

Iniciando o Prometheus:

prometheus --config.file=prometheus.yml

Instalando o Grafana:

sudo apt-get install grafana

Configurando o Grafana para usar o Prometheus como fonte de dados:

Acesse a interface web do Grafana, adicione uma nova fonte de dados e configure-a para usar o Prometheus.

11.7. Jenkins: Integração e Entrega Contínua

Jenkins é uma ferramenta de integração contínua e entrega contínua (CI/CD) que facilita a automação de processos de desenvolvimento.

Instalando o Jenkins:

sudo apt-get install jenkins

Acessando a interface web do Jenkins:

Abra o navegador e vá para http://localhost:8080.

Configurando um job de build no Jenkins:

Na interface do Jenkins, crie um novo job e configure as etapas de build, testes e deploy conforme necessário.

Estas ferramentas complementares são essenciais para a administração de sistemas em cloud, proporcionando um gerenciamento eficiente, automação de tarefas e monitoramento robusto da infraestrutura. Com o uso dessas ferramentas, você pode otimizar suas operações de TI e garantir que sua infraestrutura esteja sempre funcionando de maneira ideal.

12. Estudos de Caso: Problemas Resolvidos na Prática

12.1. Estudo de Caso 1: Recuperação de Instância EC2

Durante uma manutenção, uma instância EC2 parou de responder. Utilizando comandos como aws ec2 describe-instances e aws ec2 reboot-instances, conseguimos diagnosticar o problema e restaurar a operação da instância rapidamente.

12.2. Estudo de Caso 2: Configuração de Firewall em Azure

Um cliente precisava restringir o acesso a um servidor web. Configuramos regras de firewall utilizando az network nsg rule create, garantindo que apenas IPs autorizados pudessem acessar o servidor.

12.3. Estudo de Caso 3: Automação de Deploy com Ansible

Para um cliente com um ambiente de desenvolvimento complexo, automatizamos o processo de deploy utilizando Ansible. Com o comando ansible-playbook, conseguimos padronizar e acelerar o deploy, reduzindo erros humanos.

13. Conclusão

Dominar os comandos do terminal Linux é essencial para qualquer administrador de sistemas, especialmente em ambientes de cloud como AWS e Azure. Com as ferramentas e comandos apresentados neste guia, você estará bem equipado para resolver problemas, gerenciar recursos e garantir a segurança e eficiência da sua infraestrutura.

14. FAQs

  1. Qual é o comando para listar todos os arquivos em um diretório no Linux?
    Use ls para listar os arquivos e diretórios. Para uma listagem detalhada, use ls -l.
  2. Como posso monitorar processos em execução no Linux?
    Utilize o comando top ou, para uma interface mais amigável, htop.
  3. Qual é o comando para configurar a AWS CLI?
    Use aws configure para configurar a AWS CLI com suas credenciais.
  4. Como posso adicionar uma nova regra de firewall no Ubuntu?
    Use o comando sudo ufw allow [porta]/tcp para adicionar uma nova regra de firewall.
  5. Qual é o comando para iniciar uma máquina virtual no Azure?
    Use az vm start --resource-group meuGrupo --name meuVM para iniciar uma máquina virtual no Azure.

Espero que este guia tenha sido útil! Se tiver mais dúvidas ou sugestões, sinta-se à vontade para compartilhar. Forte abraço!

Pedro Delfino

Compartilhe este post

Share on facebook
Share on linkedin
Share on twitter
Share on email
PrevAnteriorUbuntu Server Seguro: Lista de Comandos e Verificações
PróximoDocker Volume: Comandos Mais Utilizados para Administração de Sistemas em ContêineresNext

Artigos Recentes

Ext4 versus Btrfs: Qual é o Melhor Sistema de Arquivos No Linux?

Escolher o sistema de arquivos certo é crucial para a performance e confiabilidade de um sistema operacional. Entre os sistemas mais utilizados no Linux, Ext4

pedrodelfino

Sockets: Tudo o que Você Precisa Saber

Se você é um administrador de sistemas iniciante e já se perguntou como os dados são transferidos na internet, você não está sozinho. A solução

pedrodelfino
"Um dos projetos que criei já ajudou mais de 110 mil pessoas a aprender LINUX ..."
pedro Delfino
FUNDADOR DO PROFISSIONAIS LINUX

Sobre Pedro Delfino

FUNDADOR DO PROFISSIONAIS LINUX​

Eu sou Pedro Delfino que durante os últimos 18 anos estive envolvido em implantações de soluções de TI utilizando LINUX, enquanto estava á frente de uma equipe de TI.

Fundador do Profissionais Linux que hoje já conta com mais de 2100 alunos, fui o responsável por diversos projetos de sucesso, todos eu sempre foquei o resultado em primeiro lugar, ou seja, sempre quando crio uma nova solução com Linux que será implantada estou procurando um objetivo especifico.

quero acessar agora

MENU

  • Cursos
  • Materiais
  • Blog
  • Contato

redes SOCIAIS

Facebook-f Instagram

Aprenda a dominar o Linux de uma vez por todas

QUERO MINHA CÓPIA GRÁTIS

Aprenda a dominar o Linux de uma vez por todas