Comandos Básicos no Shell Linux: mudanças entre as edições
(→Sobre) |
Sem resumo de edição |
||
(11 revisões intermediárias pelo mesmo usuário não estão sendo mostradas) | |||
Linha 2: | Linha 2: | ||
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 | 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. | ||
---- | ---- | ||
Linha 8: | Linha 8: | ||
== Vídeo Parte 01 == | == Vídeo Parte 01 == | ||
<embedvideo service="youtube">https://youtu.be/isMkuY9N3fc</embedvideo> | |||
Link: https://youtu.be/isMkuY9N3fc | Link: https://youtu.be/isMkuY9N3fc | ||
Linha 131: | Linha 132: | ||
== 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
- 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] ssh [email protected] -p 2222