Skip to content

thiagoalvesfoz/guia-comandos-linux

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

22 Commits
 
 
 
 

Repository files navigation

Comandos legais de linux
O Guia de Comandos Linux

Esse guia foi criado para ajudar pessoas que querem migrar de sistema operacional para uma distro linux. Sinta-se a vontade para adicionar, fazer correções ou melhorar a descrição de alguns comandos listados aqui

Fiz também um guia de comandos para se dar bem com GIT, você pode acessar por aqui

Linguagem Linux

  • DIRETÓRIOS: Diferente do Windows, no linux é mais comum utilizar o termo diretório do que o termo pasta para se referir a uma localização no disco

  • DISTRO LINUX: O Linux (GNU/Linux) em si, é apenas um kernel de Sistema Operacional. Não existe um Linux S.O oficial, na verdade, o que existe são distribuições feitas em cima do kernel do linux, dentre elas estão o ubuntu, fedora, manjaro, debian, centOS e etc... Todas essas distribuições são conhecidas como distro linux, e por serem baseados no kernel do linux, essas distros tendem a compartilhar os mesmos comandos no terminal.

  • SUDO: Alguns comandos requerem que você tenha permissão root para serem executados. A menos que você não esteja no modo root, utilize a palavra sudo antes de executar comandos que exigem uma permissão de usuário root.

Sumário

  1. Operadores básicos
  2. Símbolos Importantes
  3. Atalhos do terminal
  4. Comandos úteis para obter informações do S.O
  5. Comandos básicos de navegação no terminal
  6. Instalação de softwares com o gerenciador de pacotes "apt"
  7. Instalação de softwares baixados pela internet
  8. Manipulação de arquivos
  9. Comandos para pesquisa
  10. Controle de usuários
  11. Alterando permissões
  12. Manutenção do sistema
  13. Processos e serviços
  14. Comandos de rede
  15. Utilidades para o SSH
  16. Entendendo as permissões no linux
    1. Tabela de permissões
    2. Comando chmod explicado
    3. Estrutura das permissões mostrada no terminal

Operadores básicos

COMANDO O QUE ELE FAZ
cd Utilizado para fazer a navegação entre [ pastas / diretórios ]
ls Utilizado para listar tudo o que tem dentro de um diretório
cat Utilizado para mostrar o conteúdo dentro do arquivo no terminal
rm Utilizado para apagar permanentemente algum arquivo ou diretório
mkdir Utilizado para criar um novo [ diretório / pasta ]
touch Utilizado para criar arquivos com qualquer extensão.
grep Procura por padrões e destaca em cores a palavra que o usuário especificar
sudo Utilizado para executar comandos com permissão de usuário root
history Mostra o histórico de comandos utilizados no terminal
clear Limpa o terminal
exit encerra a sessão atual no terminal

Símbolos Importantes

SIMBOLO O QUE SIGNIFICA
$ Esse simbolo no inicio do terminal, indica que você está logado como usuário comum
# Esse simbolo no inicio do terminal, indica que você está logado como usuário root
./ Significa "o diretório atual / a pasta atual"
../ Significa "o diretório anterior / a pasta anterior"
* Significa "tudo ou todos" (exemplo: *.txt. todos os arquivos que terminem com .txt)
| Faz o encadeamento de comandos.
Ex: ( ls | grep a ) primeiro faz a listagem, o resultado cai no segundo comando que filtra todo o conteúdo iniciando com a
> Redireciona a saida de um comando para outro comando ou arquivo
>> Redireciona a saida e adiciona a mesma para um comando ou arquivo
& Permite usar dois comandos e separar suas saidas no terminal
&& Usado para que dois comandos só sejam executados se o primeiro for executado com sucesso.

Atalhos do terminal

ATALHO O QUE ELE FAZ
CTRL + ALT + T Abre o terminal linux
CTRL + C Cancela o comando atual em funcionamento
CTRL + W Apaga a palavra digitada da linha de comando
CTRL + U Apaga a linha inteira
CTRL + L equivalente ao comando clear, limpa a tela
CTRL + R Busca um comando recente
CTRL + D equivalente ao comando exit, encerra a sessão atual

Comandos úteis para obter informações do S.O

PROBLEMA COMANDO
Quero ver a data e hora atual date
Quero ver o tempo que o S.O está ligado uptime
Quero ver qual usuário está logado whoami
Quero ver a versão atual da minha distro cat /etc/*-release
Quero entrar no modo usuário root para executar comandos com permissões elevadas sudo su

Comandos básicos de navegação no terminal

PROBLEMA COMANDO
Quero navegar para pasta raiz do disco cd /
Quero navegar para pasta raiz do meu usuário cd ~
Quero voltar uma pasta anterior cd ..
Quero criar uma nova pasta mkdir <nome-da-pasta>
Quero criar um arquivo touch <arquivo.extensao>
Quero que mostre o diretório atual de onde eu estou pwd
Quero remover uma pasta vazia rmdir <nome-da-pasta>
Quero remover uma pasta/diretorio e tudo que tem dentro rm -r <nome-da-pasta>
Quero FORÇAR a remoção de uma pasta/diretorio com tudo o que tem dentro rm -rf <nome-da-pasta>

Instalação de softwares com o gerenciador de pacotes "apt"

PROBLEMA COMANDO
Quero sincronizar meu repositório com a lista de pacotes e programas mais recentes disponíveis para instalação apt-get update
Quero atualizar meu sistema, baixar e instalar os pacotes de atualização dos programas instalados. apt-get upgrade
Quero instalar um software na minha distro linux apt-get install <programa>
Quero desinstalar um software na minha distro linux apt-get remove <programa>
Quero fazer uma pesquisa no repositório apt-cache search <programa>
Quero fazer uma pesquisa no repositório filtrando por palavra-chave apt-cache search <programa> | grep <palavra>

Instalação de softwares baixados pela internet

PROBLEMA COMANDO
Quero baixar um arquivo de instalação da internet. wget <url.deb>
Quero instalar um programa que eu baixei da internet.
OBS: Se houver problemas de dependências durante a instalação, rode na sequência o comando apt-get -f install. (não é necessário o rodar o comando dpkg novamente.)
dpkg -i <diretorio/arquivo-baixado.deb>

Manipulação de arquivos

PROBLEMA COMANDO
Quero RENOMEAR um arquivo mv <nome-atual> <novo-nome>
Quero MOVER um arquivo para outro diretório mv <arquivo-origem> <diretorio-destino>
Quero COPIAR um arquivo e enviar para outro diretório (ctrl+c - ctrl + v) cp <arquivo-origem> <diretorio-destino>
Quero que mostre no terminal o conteúdo dentro de um arquivo cat <arquivo.extensao>
Quero que mostre no terminal o conteúdo dentro de um arquivo em ordem inversa tac <arquivo.extensao>
Quero que mostre em binário o conteúdo dentro de um arquivo xxd -b <arquivo.extensao>
Quero que mostre com paginação o conteúdo dentro de um arquivo. cat <arquivo.extensao> | more
Quero que mostre com paginação o conteúdo dentro de um arquivo. ² less <arquivo.extensao>
Preciso filtrar por palavra-chave o conteúdo dentro de um arquivo e mostrar no terminal cat <arquivo> | grep <palavra>
Quero ver as 10 primerias linhas do conteúdo de um arquivo no terminal head <arquivo>
Quero ver as 10 últimas linhas do conteúdo de um arquivo no terminal tail <arquivo>
Quero ver as últimas linhas de um arquivo no terminal em tempo real tail -f <arquivo>
PROBLEMA COMANDO
Quero listar todos os arquivos dentro do diretório atual, incluindo os arquivos dentro dos subdiretórios find <diretorio>
Quero procurar todos os arquivos em um diretório que possuem um determinado nome find <diretorio> -name <nome.extensao>
Quero listar todos os arquivos que possuem uma determinada extensão dentro de um diretório e seus subdiretórios find <diretorio> -name '*.<extensao>'
Quero listar tudo o que tem dentro do diretório, mas, limitando o nível de subdiretórios que será exibido no terminal find <diretorio> -maxdepth 1
Quero procurar todos os arquivos em um diretório que possuem um determinado nome, mas com limite de subdiretórios find <diretorio> -maxdepth 1 -name <arquivo>
Quero mostrar somente arquivos durante a listagem find <diretorio> -type f -name <arquivo>
Quero mostrar somente diretórios durante a listagem find <diretorio> -type d -name <arquivo>

Controle de usuários

PROBLEMA COMANDO
Quero adicionar um novo usuário adduser <nome-usuario>
Quero remover um usuário mantendo a pasta pessoal userdel <nome-usuario>
Quero remover um usuário e a pasta pessoal userdel -r <nome-usuario>
Quero trocar de usuário sudo <usuario>
Quero trocar a senha do meu usuário passwd <nova-senha>
Quero ver todos usuários cat /etc/passwd
Quero ver todos os grupos cat /etc/group
Quero adicionar um usuário em um grupo adduser <usuario> <grupo> ou gpasswd -a <usuario> <grupo>
Quero remover um usuário de um grupo gpasswd -d <usuario> <grupo>
Quero remover um grupo groupdel <grupo>
Quero verificar o meu nome de usuário whoami
Quero ver os dados do meu usuário e seus grupos id
Quero o número de identificação do meu usuário id -u
Quero saber a quais grupo meu usuário pertence groups
Quero saber a quais grupo um usuário pertence groups <usuario>

Alterando permissões Ver tutorial

PROBLEMA COMANDO
Quero listar os arquivos e diretórios mostrando as permissões ls -lh
Quero listar todos os arquivos e diretórios mostrando as permissões incluindo as que estão ocultas ls -lha
Quero alterar a permissão de um arquivo ou pasta chmod <permissao> <diretorio-ou-arquivo>
Quero adicionar permissão de execução de um arquivo ou pasta para todos chmod +x <diretorio-ou-arquivo>
Quero remover permissão de execução de um arquivo ou pasta para todos chmod -x <diretorio-ou-arquivo>
Quero alterar o dono de um diretório ou arquivo chown <usuario> <diretorio-ou-arquivo>
Quero alterar o dono de um diretório e tudo que tem dentro dele chown <usuario> -R <diretorio-ou-arquivo>

Manutenção do sistema

PROBLEMA COMANDO
Quero que mostre um resumo das partições do disco df
Quero um resumo das partições em disco de forma mais amigável df -h
Quero todas as partições com inodes mostrando o tamanho em disco de forma amigável df -ih ou df -i -h
Quero saber o tamanho dos arquivos no diretório atual du -sh *
Quero ver informações da memoria ram de forma amigável -h free -h
Quero ver informações do processador lscpu

Processos e serviços

PROBLEMA COMANDO
Quero ver os processos rodando na minha máquina ps
Quero ver todos os processos com informações detalhadas ps aux
Quero ver todos os processos de um usuário específico ps -f -u <usuario>
Quero ver todos os processos filtrados por palavra-chave ps aux | <nome-programa>
Quero que mostre o PID de um programa específico em execução pgrep <nome-programa>
Quer ver todos os processos em tempo real top
Quer ver em hierarquia todos os processos em execução pstree
Quer ver em hierarquia todos os processos em execução com os PIDs ao lado pstree -p
Quero parar um serviço service <serviço> stop
Quero iniciar um serviço service <serviço> start
Quero reiniciar um serviço service <serviço> restart
Quer matar um processo pelo código PID kill <PID>

Comandos de rede

PROBLEMA COMANDO
Quero fazer o diagnósticos dos pacotes enviados e perdidos ping <site-ou-dns>
Quero rastrear o caminho utilizado até o destino final tracepath <site-ou-dns>
Quero fazer o diagnósticos dos pacotes enviados e perdidos, incluindo as rotas utilizadas mtr <site-ou-dns>
Quero que mostre os processos com portas apertas no S.O netstat -atunp
Quero ver informações da minha interface de rede ifconfig
Quero ver informações da minha interface de rede ² ip addr

Utilidades para o SSH

PROBLEMA COMANDO
Quero copiar um arquivo da minha máquina para uma máquina remota scp <meu-arquivo> <usuario@IP-REMOTO:diretorio/final>
Quero copiar um arquivo de uma máquina remota para a minha máquina scp <usuario@IP-REMOTO:diretorio/arquivo-remoto> <meu-diretorio>
Quero copiar o diretório inteiro scp -r <args...>
Quero copiar um arquivo ou diretório utilizando compactação scp -C <args...>


Entendendo as permissões no linux

Tabela de permissões

CHAR BINARIO DECIMAL PERMISSÃO
--- 000 0 Nenhuma permissão
--x 001 1 Execução
-w- 010 2 Escrita
-wx 011 3 Escrita e execucão
r-- 100 4 Leitura
r-x 101 5 Leitura e execução
rw- 110 6 Leitura e escrita
rwx 111 7 Permissao total

Comando chmod explicado

COMANDO PROPRIETÁRIO GRUPO OUTROS ARQUIVO O QUE FAZ
chmod 7 5 1 <diretorio/arquivo> O primeiro número da permissão total para o dono.
O segundo número dá permissão de leitura e execução para o grupo.
O terceiro número dá permissão de execução para outros usuários

Estrutura das permissões mostrada no terminal

TIPO PROPRIETÁRIO GRUPO OUTROS ARQUIVO
- --- --- --- Ex: Nenhuma permissão
- rwx r-x --x texto.txt
d rwx r-x --x /diretorio
i rwx r-x --x atalhos

O primeiro hífen faz referência ao tipo, em seguida há 3 hífens agrupados por tipos de usuários.

  • text.tx tem permissão total para o dono do arquivo, leitura e execução para o grupo e somente execução para outros usuários.
  • /diretorio possui as mesmas permissões que o texto.txt
  • atalho ou link simbolico possui as mesmas permissões que o arquivo texto.txt

About

Guia criado para ajudar pessoas que querem migrar de sistema operacional para uma Distro Linux.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published