Comandos Básicos no Shell Linux

De Wiki Projeto Root
Ir para navegação Ir para pesquisar

Sobre

Olá! Visitante, reunimos aqui, uma listagem de alguns comandos que podem ajudar você a administrar servidores e desktop com Sistemas Operacionais (SO) GNU-Linux. Como esta lista é grande, deixamos apenas o que achamos mais relevantes para pessoas que estão começando a se aventurar com sistemas GNU.


Vídeo Parte 01

Link: https://youtu.be/isMkuY9N3fc

1- su - SuperUsuario (para alterar para o usuário root)

2- whoami - para ver quem e o usuário logado

3- ls - Lista arquivos e diretórios

Exemplos:

  ls -l -> mostra com detalhes
  
  ls -la -> mostra com detalhes e também arquivos escondidos (ocultos)
  
  ls -lR -> mostra com detalhes recursivamente, do diretório principal pra baixo
  
  ls -lt -> mostra com detalhes decrescente
  
  ls -ltr -> mostra com detalhes invertendo a operação realizada
  
  ls -lh -> mostra com detalhes e o tamanho dos arquivos e mostrado em K, M, G, T
  
  ls -l *.conf -> mostra com detalhes arquivos com extensão .conf
  
  ls -ld etc -> mostra com detalhes o diretório especificado no comando


4- cd - entra em diretórios

Exemplos:

  cd ~user -> vai pra pasta do usuário
  
  cd / -> raiz
  
  cd . -> diretório corrente
  
  cd ~ -> vai para home do usuário corrente
  
  cd -> vai para home do usuário corrente
  

5- pwd - mostra a localização atual nas pastas

6- mkdir - cria pastas

Exemplo:

  mkdir -p /home/usuário/teste
  *cria a pasta teste dentro da pasta home do usuário
  

7- rm - apaga arquivos ou pastas

Exemplos:

  rm teste.txt (arquivo)
  rm -rf /home/usuário/teste (pasta/subpasta)


8- touch - cria arquivo em branco

9- cat - faz a leitura no shell do arquivo

10- echo - printa no shell ou em arquivo um texto ou comando


Exemplos:

  echo 1 (printa 1 no shell)
  
  echo "1" > /home/usuário/teste.txt ( adiciona na primeira linha 1, apagando todo o resto do conteudo )
  
  echo "2" >> /home/usuário/teste.txt ( adiciona na ultima linha 2, mantendo o conteudo anterior)
  

11- head - faz a leitura das primeiras linhas de um arquivo

Exemplos:

  head /home/usuário/teste.txt (lê as primeiras 11 linhas de um arquivo)
  head -n1 /home/usuário/teste.txt (lê a primeira linha de um arquivo)
  

12- tail - faz a leitura das ultimas linhas de um arquivo

Exemplos:

   tail -n10 /home/usuário/teste.txt (lê as ultimas 10 linhas do arquivo)
   tail -f /var/log/syslog (fica monitorando a saída de log, exibindo em tempo real as ultimas linhas)
   

13- cp - copia arquivos/pastas/subpastas

Exemplos:

  cp /home/usuário/teste.txt /home/usuário/novo_teste.txt
  cp -r /home/usuário/ /tmp/ (copia de modo recursivo -r)
  cp -p /home/usuário/ /tmp/ (copia de modo a manter as permissões de arquivos)


14- mv - move arquivos ou pastas

  mv /home/usuário/teste.txt /home/usuário/1.txt (move o conteúdo de teste.txt para 1.txt)
  mv /home/usuário/ /tmp/ (move a pasta usuário para tmp)
  

15- scp - cp utilizando o ssh (para copiar arquivos ou pastas entre computadores distintos conectados em rede ou internet)

Exemplos:

  scp /home/usuário/teste.txt [email protected]:/home/user/ (copia da maquina local para pasta user de uma maquina remota)


16- man - manual

Exemplos:

  man ls (exibe manual do ls)
  man cp (exibe manual do cp)
  man mv (exibe manual do mv)

Vídeo Parte 02

Link: https://youtu.be/VR8pjDDsWC4


Sistemas de Arquivos:

  • FAT-16 (Máximo de tamanho de arquivos 2GB)
  • FAT-32 (Máximo de tamanho de arquivo 4GB)
  • EXT2 (Máximo de tamanho de arquivos 2GB)
  • EXT3 (Rápido e uso de Journing e máximo de tamanho de arquivos 2TB)
  • RaiserFS (Tolerância a falha *mas está descontinuado)
  • NTFS (Padrão após o WindowsXP)
  • XFS (Permite aumentar partições em funcionamento)
  • JFS (Melhor desempenho, *para desktop não é recomendado)
  • EXT4 (Melhor desempenho e máximo de tamanho de arquivos 16 TB)
  • SWAP (Memória em arquivo/partição)


Comandos:

whoami: mostra quem está logado

exemplo:

  whoami


fdisk: particionamento de discos

parâmetros

-l: exibe informações sobre os discos e as partições /dev/sdXX: utiliza o fdisk no caminho especificado para fazer o particionamento


exemplos:

  fdisk -l
  fdisk /dev/sdb
  
  Dentro fdisk
  m: ajuda
  n: criar nova partição
  p: exibe tabela de partição
  d: deleta partição
  w: aplicar mudanças e sair


mkfs: software que prepara (formata a partição)

exemplos:

  mkfs.ext4 /dev/sdb1
  mkfs.xfs /dev/sdb2


mount: software que faz a montagem (disponibilização) de devices

exemplos:

   mount (exibe os pontos de montagens no sistema)
   mount -t ext4 /dev/sdb1 /mnt/hd_01
   mount -t xfs /dev/sdb2 /mnt/hd_02


df: comando que exibe os pontos de montagem

parâmetros

-h exibe em formato humano (melhor entendível)

exemplos:

  df
  df -h


fstab ( arquivo que faz a montagem automática no boot )


exemplo:

   nano /etc/fstab
   
   # Dispositivo    ponto de montagem    sistema de arquivo    opções        verificação de integridade
   /dev/sdb1            /mnt/hd_01             ext4           defaults            *            *

Vídeo Parte 03

Link: https://youtu.be/eYUWzOTOcrw


Configurando o FSTAB

O FSTAB (File System Table) localizado em /etc. Sem dúvidas, é um dos arquivos de configuração mais importantes do GNU/Linux. O arquivo é lido na inicialização do sistema e é quem diz ao sistema o que montar, onde montar e os parâmetros de montagem.


   nano /etc/fstab


Modelo das informações

  #Dispositivo(Device) Ponto de montagem(/mnt) sistema de arquivo(ext3,ext4,etc..) opções(utilizada para infos avançadas) verificação de integridade(check disk)
  
  UUID=6ee6502d-9078-4f59-b843-0f56af2871b6  /mnt/HD_01   ext4   defaults 0   0
  UUID=3bc4806f-4056-1d56-c983-0d54a7f631d5  /mnt/HD_02   xfs    defaults 0   0


  • Parâmetros de opções mencionadas no vídeo:

noexec: diz ao disco ou partição que este não tem permissão de execução.

noatime: diz ao disco ou partição que não são considerados os valores de data e hora no momento da gravação de informação.


BLKID(UUID) do Disco

  blkid /dev/sdb
  Exemplo: UUID="6ee6503d-8078-4f59-b943-0f56af2771b6" TYPE="ext4" PARTUUID="91a56830-02"


Comando Mount/Umount

  1. Comando Mount: quando utilizado sozinho exibe os pontos de montagens já realizados, porém quando se fornece o comando seguido de um dispositivo, o tipo de sistema e um caminho ele faz a montagem.
  2. Comando Umount: utilizado para fazer o processo inverso, ou seja, desmonta os devices anteriormente montados, diferentemente do mount, o umount é utilizado apenas o comando seguido da unidade a ser desmontada, sem a necessidade de parâmetros.


Exemplo:

  mount 
  mount -t xfs /dev/sdb1 /mnt/HD_02
  umont /dev/HD_02 


Verificação de integridade de discos (FSCK/XFS_Check)

Utilizados para verificar se existem inconsistências nos discos, geralmente quando um servidor ou desktop com Linux não inicializa é preciso verificar os discos, estes são dois dos comandos primordiais para tal realização.


Exemplos:

  fsck.ext4 /dev/sdb1
  xfs_check /dev/sdb2
  xfs_repair /dev/sdb2


Agendando Tarefas na Cron (crontab)

O crontab, é um programa do Unix que edita o arquivo onde são especificados os comandos a serem executados e a hora e dia de execução pelo cron, um serviço que executa comandos agendados nos sistemas operacionais do tipo Unix. O cron se encarregará de verificar a hora e determinar se existe ou não algum programa a ser rodado. Caso exista ele o rodará na hora e data solicitada.


  1. Listando tarefas já agendadas

crontab -l


  1. Editando as tarefas

crontab -e

Exemplo de agendamento:

   [minutos] [horas] [dias do mês] [mês] [dias da semana]    [comando]
   
   28          01      *              *     *               ls /etc/ > /home/agenda.txt    
   
   29          01      *              *     *               mv /home/agenda.txt /home/agenda2.txt    


  • Monitorar atividades com o watch

Exemplo:

   watch -n 1 ls /home
  • Manual do Cron
  man crontab


Comando SSH

Secure Shell (SSH) é um protocolo de rede criptográfico para operação de serviços de rede de forma segura sobre uma rede insegura. A melhor aplicação de exemplo conhecido é para login remoto a sistemas de computadores pelos usuários. O SSH fornece um canal seguro sobre uma rede insegura em uma arquitetura cliente-servidor, conectando uma aplicação cliente SSH com um servidor SSH. Aplicações comuns incluem login em linha de comando remoto e execução remota de comandos, mas qualquer serviço de rede pode ser protegido com SSH. A especificação do protocolo distingue entre duas versões maiores, referidas como SSH-1 e SSH-2. Por padrão é utilizada a porta TCP 22, pondendo ser modificada para qualquer porta definida pelo administrador, para se conectar em porta fora do padrão basta adicionar o parâmetro -p (PORTA) seguido da nova porta.


  1. Instalar o server de ssh
   apt-get install openssh-server
  1. Para acessar máquinas com o ssh-server


Exemplos:

  ssh usuario@ip_do_cliente/servidor
  ssh [email protected]
  ssh [email protected] -p 2222