Comandos Básicos no Shell Linux: mudanças entre as edições

De Wiki Projeto Root
Ir para navegação Ir para pesquisar
Sem resumo de edição
 
Linha 226: Linha 226:




* Configurando o FSTAB
== 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.
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.
Linha 256: Linha 256:




* Comando Mount/Umount
== Comando Mount/Umount ==


#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.
#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.
Linha 269: Linha 269:




* Verificação de integridade de discos (FSCK/XFS_Check)
== 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.
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.
Linha 281: Linha 281:




* Agendando Tarefas na Cron (crontab)
== 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.
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.
Linha 316: Linha 316:




* Comando SSH
== 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.
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.

Edição atual tal como às 22h05min de 8 de julho de 2019

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