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
 
(15 revisões intermediárias pelo mesmo usuário não estão sendo mostradas)
Linha 1: Linha 1:
== Comandos Básicos no Shell Linux ==
== Sobre ==




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


=== Vídeo Parte 01 ===
<embedvideo service="youtube">https://youtu.be/isMkuY9N3fc</embedvideo>
Link: https://youtu.be/isMkuY9N3fc
 
1- su - SuperUsuario (para alterar para o usuário root)


Link: https://youtu.be/isMkuY9N3fc
2- whoami - para ver quem e o usuário logado


  1- su - SuperUsuario (para alterar para o usuário root)
3- ls - Lista arquivos e diretórios
 
  2- whoami - para ver quem e o usuário logado
 
  3- ls - Lista arquivos e diretórios


Exemplos:
Exemplos:
Linha 51: Linha 51:
    
    


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


Exemplo:  
Exemplo:  
  cria a pasta teste dentro da pasta home do usuário


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


  7- rm - apaga arquivos ou pastas
7- rm - apaga arquivos ou pastas


Exemplos:
Exemplos:
Linha 70: Linha 69:




  8- touch - cria arquivo em branco
8- touch - cria arquivo em branco
 
  9- cat - faz a leitura no shell do arquivo
9- cat - faz a leitura no shell do arquivo
 
  10- echo - printa no shell ou em arquivo um texto ou comando
10- echo - printa no shell ou em arquivo um texto ou comando




Linha 86: Linha 85:
    
    


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


Exemplos:
Exemplos:


   head /home/usuário/teste.txt (lê as primeiras 11 linhas de um arquivo)
   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)
   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
12- tail - faz a leitura das ultimas linhas de um arquivo


Exemplos:
Exemplos:
Linha 103: Linha 101:
      
      


  13- cp - copia arquivos/pastas/subpastas
13- cp - copia arquivos/pastas/subpastas
    
    
Exemplos:
Exemplos:
Linha 112: Linha 110:




  14- mv - move arquivos ou pastas
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/teste.txt /home/usuário/1.txt (move o conteúdo de teste.txt para 1.txt)
Linha 118: Linha 116:
    
    


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


Exemplos:
Exemplos:
Linha 124: Linha 122:




  16- man - manual  
16- man - manual  


Exemplos:
Exemplos:
Linha 132: Linha 130:
   man mv (exibe manual do mv)
   man mv (exibe manual do mv)


=== Vídeo Parte 02 ===  
== Vídeo Parte 02 ==  


<embedvideo service="youtube">https://youtu.be/VR8pjDDsWC4</embedvideo>
Link: https://youtu.be/VR8pjDDsWC4
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 ==
<embedvideo service="youtube">https://youtu.be/eYUWzOTOcrw</embedvideo>
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 ==
#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 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.
#Listando tarefas já agendadas
crontab -l
#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.
# Instalar o server de ssh
    apt-get install openssh-server
# Para acessar máquinas com o ssh-server
Exemplos:
  ssh usuario@ip_do_cliente/servidor
  ssh [email protected] -p 2222

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