Guia Essencial de Comandos e Conceitos Linux

Classificado em Computação

Escrito em em português com um tamanho de 10,27 KB

1. Comando para Exibir Diretórios

Para exibir diretórios, você pode usar:

  • find . -type d: Lista apenas diretórios no diretório atual e subdiretórios.
  • ls -l: Lista o conteúdo do diretório atual em formato longo.

2. Pastas para Armazenar Arquivos do Sistema

A pasta /dev é utilizada para armazenar arquivos de dispositivos do sistema.

3. Controle de Processos: Foreground (FG) e Background (BG)

O estudo do controle de processos envolve como gerenciar tarefas em primeiro plano (FG) e segundo plano (BG).

4. Como Apagar uma Pasta e Seu Conteúdo

O comando para apagar uma pasta e todo o seu conteúdo é rm -r.

5. Gerenciamento de Processos: Background (BG) e Foreground (FG)

O Linux, como qualquer sistema Unix, permite executar várias tarefas simultaneamente. Em sistemas com um único processador, um tempo específico é atribuído a cada tarefa, de modo que para o usuário, elas parecem estar rodando ao mesmo tempo.

Executando um Programa em Segundo Plano (Background)

Para executar um programa em segundo plano, basta colocar o e comercial (&) no final da linha de comando.

Exemplo: Se você quiser copiar o diretório /usr/src/linux para /tmp:

# cp -r /usr/src/linux /tmp &

Quando a execução do programa for concluída, o sistema reportará uma mensagem:

#
[Feito] cp -r /usr/src/linux /tmp
#

Movendo um Processo para Segundo Plano

Se você executar o programa e não colocar o e comercial, ele pode ser movido para segundo plano da seguinte forma:

  1. Suspenda a execução do programa pressionando Ctrl + Z.
  2. Execute o comando: bg

Comandos para Gerenciamento de Processos: jobs, fg e bg

Quando você executa um comando no console, ele aguarda a conclusão do processo. Podemos iniciar a execução e imediatamente retornar o controle para o console. Para fazer isso, devemos usar o operador & no final do comando.

[cfm sal @] $ firefox &
[1] 23710
[cfm sal @] $

Se o processo não estivesse em segundo plano, o console ficaria bloqueado. Podemos ver os processos que estão em execução em segundo plano no console com o comando jobs.

[cfm sal @] $ jobs
[1] + Running & firefox
[cfm sal @] $

Podemos trazer um aplicativo que está em execução em segundo plano para o primeiro plano (foreground) no console com o comando fg, seguido do número listado com o comando jobs. Também podemos parar um processo no console pressionando Ctrl + Z ou de outro console usando o comando kill, e então enviá-lo para o segundo plano com o comando bg.

[cfm sal @] $ fg 1
firefox

Se agora queremos enviar um processo do primeiro plano para o segundo plano, podemos pressionar Ctrl + Z (para parar) e depois bg (para enviar para o background).

[1] + Stopped firefox
[cfm sal @] $ bg 1
[1] + firefox &
[cfm sal @] $

Importante: Se um processo em segundo plano usa o console para interagir com o usuário, o processo será parado.

6. Gerenciamento de Prioridade de Processos: nice e renice

Estes comandos permitem definir a prioridade de um novo processo (nice) e alterar a prioridade de um processo existente (renice).

Comando nice

  • Inicia um programa com uma prioridade alterada.
  • Processos com um valor 'nice' alto (menos prioritários) exigem menos recursos.
  • O intervalo de 'nice' é de 19 (muito bom, baixa prioridade) a -20 (não muito bom, alta prioridade).
  • Usuários comuns podem especificar valores 'nice' de 1 a 19. O usuário root tem acesso a toda a gama (-20 a 19).
  • O valor 'nice' padrão é 0.

Para executar um comando com menor prioridade (valor 'nice' mais alto):

$ nice -n 10 comando_de_longa_execucao &

Para executar um comando com maior prioridade (valor 'nice' mais baixo):

$ nice -n -15 comando &

Comando renice

  • O comando renice altera o nível 'nice' de um processo existente.
  • Usuários comuns não têm permissão para diminuir o nível 'nice' de um processo (ou seja, aumentar sua prioridade).

Exemplos:

  • Para definir o processo com PID 2984 para o nível 'nice' máximo (diminuindo sua prioridade):
    $ renice 19 2984
  • O valor 'nice' é apenas um número; não há símbolo extra para valores positivos.
  • Para definir o processo com PID 3598 para um menor valor 'nice' (maior prioridade):
    $ renice -15 3598
  • Você também pode alterar o nível 'nice' de todos os processos de um usuário:
    $ renice 15 -u miguel

7. Comando para Excluir Arquivos e Diretórios

Comando rm

  • Para excluir um arquivo: rm nome_do_arquivo
  • Para excluir uma pasta vazia: rmdir nome_da_pasta (ou rm -d nome_da_pasta)
  • Para excluir uma pasta e seu conteúdo (recursivamente): rm -r nome_da_pasta

8. Sistemas de Arquivos do Linux

Sistemas de Arquivos Comuns no Linux

O Linux suporta diversos sistemas de arquivos, incluindo:

  • ext2
  • ext3
  • ext4 (o mais comum atualmente)
  • swap (partição de troca, não um sistema de arquivos para dados)

9. Como Criar um Link Rígido (Hard Link)

Comando ln

Para criar um link rígido, utilize o comando ln. Exemplo: ln arquivo_original link_rigido

10. Arquivos de Usuários e Senhas no Linux

Arquivos de Configuração de Usuários e Senhas

  • Informações de usuários: /etc/passwd
  • Senhas criptografadas (sombra): /etc/shadow

11. Alterando a Prioridade de Processos em Execução (renice)

O comando renice é usado para alterar a prioridade de processos em execução. Aplicar renice a um grupo de processos ou a um usuário faz com que a prioridade de agendamento de todos os processos associados seja alterada.

Sintaxe:

renice prioridade [-p pid ...] [-g pgrp ...] [-u user ...]
  • pid: ID do processo
  • pgrp: ID do grupo de processos

Opções:

  • -g: Opção para forçar que os parâmetros sejam interpretados como IDs de grupo de processos.
  • -u: Usado para forçar que os parâmetros sejam interpretados como nomes de usuário.
  • -p: Usado para forçar que os parâmetros sejam interpretados como IDs de processos (Padrão).

Exemplos:

  • renice 15 785 (785 é o PID)
  • renice +20 -u Pedro (Pedro é o usuário)

12. Entendendo o Comando umask

Cálculo de Permissões com umask

O comando umask define as permissões padrão para novos arquivos e diretórios. Ele subtrai o valor da máscara das permissões máximas (666 para arquivos e 777 para diretórios).

  • Exemplo 1: Se umask for 022:
    • Permissão para arquivos: 666 - 022 = 644 (rw-r--r--)
    • Permissão para diretórios: 777 - 022 = 755 (rwxr-xr-x)
  • Exemplo 2: Se umask for 222:
    • Permissão para arquivos: 666 - 222 = 444 (r--r--r--)

13. Comando para Exibir Processos

Comando ps aux

O comando ps aux é utilizado para exibir todos os processos em execução no sistema, incluindo informações sobre a utilização de memória e CPU.

14. Geração de Chaves SSH (Públicas e Privadas)

Gerando Chaves SSH

Execute o seguinte comando:

ssh-keygen -t rsa

Este comando é usado para criar um par de chaves RSA (pública/privada) com um comprimento padrão de 1024 bits. O programa responderá com:

Generating public/private rsa key pair.
Enter file in which to save the key (/home/javier/.ssh/id_rsa):

Você será solicitado a inserir o nome do arquivo onde deseja salvar a chave privada. O padrão é /home/javier/.ssh/id_rsa, que geralmente é aceitável para a configuração do cliente SSH. Pressione Enter para aceitar o padrão.

Em seguida, será solicitada uma frase-chave (passphrase):

Enter passphrase (empty for no passphrase):
Enter same passphrase again:

Pressionar Enter duas vezes omitirá o uso de uma frase-chave. É recomendado usar uma frase-chave para maior segurança.

Finalmente, o sistema informará:

Your identification has been saved in /home/javier/.ssh/id_rsa.
Your public key has been saved in /home/javier/.ssh/id_rsa.pub.
The key fingerprint is:
13:08:b:23:74:53:e4:0f:b3:16:49:01:b:79:64:60:7c:38 javier@cliente

15. Como Trocar de Console (TTY)

Atalho para Troca de Console

Para trocar de console virtual (TTY) no Linux, utilize a combinação de teclas: Ctrl + Alt + F1 a F6.

16. Portas de Rede Privilegiadas e Comuns

Portas de Rede e Seus Usos

  • As portas de 1 a 1023 são consideradas portas privilegiadas (requerem permissões de root para serem usadas).
  • O número total de portas TCP/UDP é 65535.

Exemplos de Portas Comuns:

  • HTTPS: 443
  • SSH: 22
  • Telnet: 23
  • NetBIOS: 139
  • CUPS (impressão): 631

Entradas relacionadas: