Vamos organizar de modo que os comandos mais simples de explicar fiquem em primeiro.

Apesar do linux ser extremamente poderoso e leve, sua administração (mesmo em itens simples) as vezes pode ser oneroso, ainda mais para quem não atua o tempo todo sobre essa plataforma. Abaixo alguns dos comandos mais usados no dia a dia (comentados, lembramos que o linux diferencia letras maiúsculas de minusculas):

Gerenciar usuários e grupos

  • Criar um usuário: useradd nome_do_usuario
  • Alterar a senha de um usuário: passwd nome_do_usuario
  • Criar um grupo: groupadd nome_do_grupo
  • Adicionar um usuário no grupo: usermod -a -G nome_do_grupo nome_do_usuario
  • Criar um usuário já como membro de um grupo primário: useradd -mg nome_do_grupo nome_do_usuario

Listar, Apagar, Criar, Mover e Copiar

  • Listar o conteúdo de uma pasta: ls -lah (apenas ls funcionaria, usamos o -l para formato em lista, -a para mostrar até arquivos ocultos, -h para mostrar o tamanhos em megabytes)
  • Apagar (arquivo ou pastas): rm -rf arquivo (apenas rm funcionaria, usamos o -r para não perguntar -f para forçar que seja apagado)
  • Criar pastas: mkdir -p pasta/pasta/pasta (com o -p vai criar as pastas e subpastas, sem questionar)
  • Criar arquivo: touch arquivo
  • Mover (arquivo ou pasta): mv arquivo /pasta
  • Copiar (arquivo ou pasta): cp -R o_que /pasta (-R vai copiar o conteúdo todo da pasta)
  • Sincronizar arquivos entre pastas: rsync -ravzh /pasta1/ /pasta2/
  • Copiar de um servidor linux para outro (via ssh e precisa ter o scp): scp -P 6000 foobar.txt username@remotehost.edu:/var/log (vai copiar via SSH o arquivo foobar.txt que está na pasta temp para a pasta /var/log do servidor remotehost.edu usando o usuário username, a senha será solicitada depois de executar o comando , o -P foi opcional considerando que a porta do SSH estava na porta 6000)

Gerenciando serviços

  • Parar um serviço: systemctl stop NOME_SERVIÇO
  • Iniciar um serviço: systemctl start NOME_SERVIÇO
  • Verificar se o status de um serviço: systemctl status NOME_SERVIÇO
  • Habilitar um serviço (para inciar automaticamente): systemctl enable NOME_SERVIÇO
  • Desabilitar um serviço (para não inciar automaticamente): systemctl disable NOME_SERVIÇO

Localizar arquivos (ou conteúdos)

  • Alterar o conteúdo de arquivos: sed -i “s/antes/depois/g” arquivo (pode-se usar wildcard, para em vez de arquivo usar *.conf, por exemplo)
  • Ver o tamanho de uma pasta: du -sh (-s para somar as subpastas e -h para mostrar os tamanhos em megabytes)
  • Para procurar arquivos que possuem uma palavra específica: grep -R palavra arquivo
    (usamos -R para procurar nas subpastas, pode-se usar wildcard, para em vez de arquivo usar *.conf, por exemplo)
  • Para procurar arquivos com um nome: find / -name arquivo (colocamos / para procurar em todo o servidor, mas poderia ser em um local específico, como /tmp , pode-se usar wildcard, para em vez de arquivo usar *.conf, por exemplo)

Alterar Permissões (arquivos ou pastas)

Aqui é necessário um tópico a parte, pois você precisa entender alguns conceitos.

Quando se executa o comando ls -l para listar em formato lista, é exibido algumas informações importantes, por exemplo, vamos simular a seguinte resposta:

drwxrw-r– 1 root apache 3.0K Feb 19 20:21 arquivo1

Vamos separar um pouco o que vemos para facilitar a explicação:

d | rwx | rw- | r– 1 root | apache 3.0K Feb 19 20:21 arquivo1

Explicação das partes negritas:

  • O primeiro ID informa se é um diretório
  • Os 3 próximos IDs são as permissões do DONO
  • Os 3 próximos IDs são as permissões do GRUPO
  • Os 3 próximos IDs são as permissões dos demais usuários
  • O próximo é o nome do DONO
  • O próximo é o nome do GRUPO
  • O próximo é o nome do arquivo ou pasta

Vejamos se você entendeu: No exemplo acima apesar de se chamar arquivo1, se trata de uma pasta, o dono dessa pasta se chama root e tem permissão completa (ler, gravar e executar: RWX), já o grupo apache tem permissão de leitura e escrita, mas não de executar (RW-) e os demais tem permissão de leitura (R–)

Uma informação importante, as permissões possuem os seguintes IDs

  • Leitura: 4
  • Gravação: 2
  • Execução: 1

É importante entender esses IDs pois é necessário somá-los para dar uma permissão (por exemplo: 6 para leitura e gravação, ou 5 para ler e gravar)

Entendendo isso podemos administrar corretamente as permissões, se quisermos mudar para que pedro seja o dono (com permissão apenas de ler e gravar), quem for do grupo games possa executar e ninguém mais tenha acesso vamos executar:

chown -R pedro.games arquivo1 (-R para aplicar também nas subpastas e arquivos também)
chmod -R 610 arquivo1 (-R para aplicar também nas subpastas e arquivos também, a permissão para o dono foi a soma dos IDs de leitura e gravação, o grupo recebeu o ID de execução e os demais ficaram sem nenhuma permissão)

Editar arquivos

Para zerar o conteúdo de um arquivo e deixar SOMENTE uma nova linha: echo “palavra” > /pasta/arquivo
Para adicionar uma linha no final do arquivo: echo “palavra” >> /pasta/arquivo

Como usar o vi para editar arquivos:

  • Abrir o arquivo com o vi: vi arquivo ou vi /pasta/arquivo
  • Vamos chamar os modos do vi de modo de edição e modo de leitura (para facilitar a explicação dos comandos)
  • Para inserir uma linha: aperte INSERT do teclado para entrar em modo de edição;
  • Para voltar ao modo de leitura: pressione a tecla ESC;
  • Para apagar uma linha inteira: em modo de leitura digite dd
  • Para salvar as alterações: em modo de leitura, digite :w
  • Para sair do documento: em modo de leitura, digite :q
  • Para confirmar o comando use a exclamação no comando (por exemplo, sair sem salvar use digite :q!, para salvar e sair, digite :wq!)
  • Para localizar uma palavra específica: em modo de leitura digite /palavra (para procurar as próximas pressione n, as anteriores SHIFT+n)
  • Para ir para uma linha específica (exemplo, a 10 linha): em modo de leitura digite :10
  • Para substituir as palavras TESTE por PRODUCAO da linha 20 até o final do documento: em modo de leitura digite :20,$ s/TESTE/PRODUCAO

Manipular discos e partições

Listar discos: fdisk -l

Criar partição: fdisk /dev/sdc (nesse caso, sdc é o nome do disco), dentro do fdisk vamos dar a sequencia de comandos

  • d (e ENTER) para apagar a partição, n (e ENTER) para recriar a partição;
  • p (e ENTER) para a partição ser do tipo primária;
  • 1 (e ENTER) para ser a sdc1;
  • Pressione ENTER (para usar o setor inicial do disco) e ENTER novamente (para usar até o último setor do disco);
  • Pressione w (e ENTER) para salvar o que foi feito e sair.

Formatar uma partição: mkfs.ext4 /dev/sdc1 (nesse caso, sdc é o nome do disco e a partição formatada é a 1)

Outros comandos

  • Consultar histórico dos comandos usados: history | more (o | permite executar um segundo comando em conjunto, nesse caso o comando more vai parar de página em página para você consultar todo o histórico)
  • Entrar em um diretório: cd /var (colocamos a / para ele voltar a raiz do disco e entrar na pasta var, sem a / ele consideraria que existe uma pasta var DENTRO da pasta que você está no momento)
  • Saber em qual pasta está no momento: pwd
  • Para saber com qual usuário está usando: whoami

Mais Informações

Esperamos ter ajudado da melhor forma possível e estaremos sempre a disposição para mais informações.

Entre em contato conosco pelo e-mail equipe@nvlan.com.br.

NVLAN - Consultoria