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.