Folha de dicas da linha de comando do Linux
O Linux é um sistema operacional do tipo Unix gratuito e de código aberto baseado em POSIX e Unix. É um sistema operacional multiusuário, multitarefa, multithread e com suporte a vários CPUs. Ele pode executar as principais ferramentas, aplicativos e protocolos de rede Unix e suporta hardware de 32 e 64 bits. Herdando a filosofia de design centrada em rede do Unix, o Linux é um sistema operacional de rede multiusuário estável.
Sistema
| uname | Exibir informações do sistema Linux |
| uname -r | Exibir informações da versão do kernel |
| uptime | Exibir há quanto tempo o sistema está em execução (incluindo a média de carga) |
| hostname | Exibir o nome de rede do sistema |
| hostname -i | Exibir o endereço IP do sistema |
| last reboot | Mostrar o histórico de reinicialização do sistema |
| date | Exibir a data e hora atual do sistema |
| timedatectl | Consultar e alterar o relógio do sistema |
| cal | Exibir o mês e a data do calendário atual |
| w | Exibir usuários conectados no momento |
| whoami | Exibir sua identidade de login |
| finger username | Exibir informações sobre um usuário |
Hardware
| dmesg | Exibir mensagens de inicialização |
| cat /proc/cpuinfo | Exibir informações detalhadas da CPU (modelo, núcleos, fabricante) |
| cat /proc/meminfo | Exibir informações detalhadas da memória do hardware (total, livre) |
| lshw | Exibir informações de configuração do hardware do sistema |
| lsblk | Exibir informações relacionadas a dispositivos de bloco |
| free -m | Exibir memória livre e usada (-m para MB) |
| lspci -tv | Exibir dispositivos PCI em um diagrama de árvore |
| lsusb -tv | Exibir dispositivos USB em um diagrama de árvore |
| dmidecode | Exibir informações de hardware do BIOS |
| hdparm -i /dev/xda | Exibir informações sobre os dados do disco |
| hdparm -tT /dev/xda | Executar teste de velocidade de leitura no dispositivo xda |
| badblocks -s /dev/xda | Testar blocos ilegíveis no disco |
Usuários
| id | Exibir detalhes do usuário ativo (uid, gid, grupos) |
| last | Exibir os últimos logins no sistema |
| who | Exibir quem está logado no sistema |
| groupadd “admin” | Adicionar o grupo “admin” |
| adduser “Sam” | Adicionar o usuário Sam |
| userdel “Sam” | Excluir o usuário Sam |
| usermod | Usado para alterar/modificar informações do usuário |
Arquivos
| ls -al | Listar arquivos - incluindo arquivos regulares e ocultos e suas permissões |
| pwd | Exibir o caminho do diretório atual |
| mkdir ‘directory_name’ | Criar um novo diretório |
| rm file_name | Excluir um arquivo |
| rm -f filename | Forçar a exclusão de um arquivo |
| rm -r directory_name | Excluir recursivamente um diretório |
| rm -rf directory_name | Forçar e excluir recursivamente um diretório |
| cp file1 file2 | Copiar o conteúdo de file1 para file2 |
| cp -r dir1 dir2 | Copiar recursivamente dir1 para dir2. Criar dir2 se ele não existir |
| mv file1 file2 | Renomear file1 para file2 |
| ln -s /path/to/file_name link_name | Criar um link simbólico para file_name |
| touch file_name | Criar um novo arquivo |
| cat > file_name | Criar um arquivo a partir da entrada do teclado |
| more file_name | Exibir o conteúdo de um arquivo página por página |
| head file_name | Exibir as primeiras 10 linhas de um arquivo |
| tail file_name | Exibir as últimas 10 linhas de un arquivo |
| gpg -c file_name | Criptografar um arquivo |
| gpg file_name.gpg | Descriptografar um arquivo |
| wc | Imprimir a contagem de bytes, palavras e linhas de um arquivo |
| xargs | Executar comandos a partir da entrada padrão |
Processos
| ps | Exibir os processos ativos no momento |
| ps aux | grep ’telnet' | Procurar o id do processo de ’telnet' |
| pmap | Exibir o mapa de memória de um processo |
| top | Exibir todos os processos em execução |
| kill pid | Encerrar o processo com o pid informado |
| killall proc | Matar todos os processos chamados proc |
| pkill process-name | Enviar sinal para o processo por nome |
| bg | Retomar um comando suspenso em segundo plano |
| fg | Trazer um comando em segundo plano para o primeiro plano |
| fg n | Trazer o job n para o primeiro plano |
| lsof | Listar arquivos abertos por processos |
| renice 19 PID | Executar um processo com prioridade muito baixa |
| pgrep firefox | Encontrar o ID do processo do Firefox |
| pstree | Visualizar processos em um modelo de árvore |
Permissões de arquivo
| chmod octal filename | Alterar as permissões do arquivo para o formato octal |
| chmod 777 /data/test.c | Definir permissões rwx para o proprietário, grupo e todos |
| chmod 755 /data/test.c | Definir rwx para o proprietário, r-x para o grupo e todos |
| chmod 766 /data/test.c | Definir rwx para o proprietário, rw- para o grupo e todos |
| chown owner user-file | Alterar a propriedade do arquivo |
| chown owner-user:owner-group file_name | Alterar o proprietário e o grupo proprietário de um arquivo |
| chown owner-user:owner-group directory | Alterar o proprietário e o grupo proprietário de um diretório |
Rede
| ip addr show | Exibir endereços IP e todas as interfaces de rede |
| ip address add 192.168.0.1/24 dev eth0 | Atribuir endereço IP 192.168.0.1 à interface eth0 |
| ifconfig | Exibir endereços IP de todas as interfaces de rede |
| ping host | Enviar solicitações de eco ICMP para estabelecer conexão |
| whois domain | Recuperar informações sobre um nome de domínio |
| dig domain | Recuperar informações de DNS para um domínio |
| dig -x host | Executar pesquisa reversa para um domínio |
| host google.com | Executar pesquisa de IP para um nome de domínio |
| hostname -i | Exibir endereço IP local |
| wget file_name | Baixar arquivos de recursos on-line |
| netstat -pnltu | Exibir todas as portas de escuta ativas |
Compressão / Arquivamento
| tar -cf home.tar home | Criar um arquivo tar chamado home.tar para o diretório home |
| tar -xf files.tar | Extrair o arquivo “files.tar” |
| tar -zcvf home.tar.gz source-folder | Criar um arquivo tar compactado a partir de uma pasta de origem |
| gzip file | Compactar arquivo com a extensão .gz |
Instalação de pacotes
| rpm -i pkg_name.rpm | Instalar pacote rpm |
| rpm -e pkg_name | Remover pacote rpm |
| dnf install pkg_name | Instalar pacote usando a ferramenta dnf |
Instalação a partir da fonte (Compilação)
| ./configure | Verificar o sistema quanto a dependências e construir o Makefile |
| make | Compilar o programa |
| make install | Instalar arquivos binários no caminho padrão/modificado |
Pesquisar
| grep ‘pattern’ files | Pesquisar um padrão em arquivos |
| grep -r pattern dir | Pesquisar recursivamente um padrão em um determinado diretório |
| locate file | Encontrar todas as instâncias de um arquivo |
| find /home/ -name “index” | Encontrar nomes de arquivos que comecem com ‘index’ em /home |
| find /home -size +10000k | Encontrar arquivos maiores que 10000k na pasta base |
Login
| ssh user@host | Conectar-se com segurança ao host como o usuário especificado |
| ssh -p port_number user@host | Conectar-se com segurança ao host usando uma porta específica |
| ssh host | Conectar-se com segurança ao host via a porta padrão 22 |
| telnet host | Conectar-se ao host pela porta padrão 23 |
Transferência de arquivo
| scp file1.txt server2/tmp | Copiar com segurança file1.txt para o diretório /tmp do servidor2 |
| rsync -a /home/apps /backup/ | Sincronizar o diretório /home/apps com o diretório /backup |
Uso do Disco
| df -h | Exibir espaço livre em sistemas de arquivos montados |
| df -i | Exibir inodes livres em sistemas de arquivos |
| fdisk -l | Exibir partições de disco, tamanhos e tipos |
| du -sh | Exibir o uso do disco do diretório atual em formato legível |
| findmnt | Exibir pontos de montagem para todos os sistemas de arquivos |
| mount path-do-dispositivo ponto-de-montagem | Montar um dispositivo |
Navegação de diretório
| cd .. | Subir um nível na estrutura de diretórios |
| cd | Mudar para o diretório $HOME |
| cd /test | Mudar para o diretório /test |