Escolar Documentos
Profissional Documentos
Cultura Documentos
find comando
/ significa que vai procurar em todo o diretório raíz, se você
não for root, ele ignorará os diretórios com permissão.
-name vai procurar exatamente esse nome, se um caracter
for diferente ou maiúsculo ou minúsculo, ele ignorará.
Passwd nome do arquivo
Operações Avançadas
Procura ignorando case sensitive
./arquivo.txt
./Arquivo.txt
./home/arquivo.txt
./home/Arquivo.txt
./home/Meus_Arquivo-NOVOS.txt
./home/arquivo.sh
Operações Avançadas
Procurando por tipo – Comando –type
f – arquivo normal
d – diretório ou pasta
l – link simbólico
c – dispositivos de caracteres
b – dispositivos bloqueados
Exemplos:
Ex:
head –n 5 /etc/passwd
Operações Avançadas
Se temos um comando para ver o início do arquivo???
Exemplos
$ cat /etc/passwd | grep <seu usuario>
ls /etc | more
Operações Avançadas
Empacotamento, compactação e descompactação de
arquivos
O programa “tar” é utilizado para arquivamento
utilizado para agrupar e extrair arquivos de um
tarfile;
Pode ser considerado o comando mais utilizado
para realizar backups no sistema Linux (Tape
ARchives);
Possui uma série de parâmetros para a realização de suas
funções.
Operações Avançadas
-c : criar um arquivo
-v : lista detalhadamente os arquivos
processados
-f : especifica o arquivo ou dispositivo
a ser utilizado
-x : extrai arquivos de um pacote
Operações Avançadas
O comando “tar” – agrupando
arquivos
tar –cvf backupEtc.tar /etc
Operações Avançadas
O comando “tar” – agrupando arquivos
Bacana, não?
:%s/informatize/Informatize/g
Colocar numeração no texto
:set number
:44
:set nonumber
Editor de texto VI
Para saber mais sobre o vim
man vi
Comandos De Rede
Mudou tudo no CentOS/RHEL 7 – ifconfig,
eth0 , eth1.. onde estão ?
Comandos De Rede
Considerações iniciais
Se você trabalha com Linux e é acostumado com sistemas Debian-
Comandos De Rede
Like deve ter estranhado o fato de que no Centos/RHEL 7 algumas
coisas são diferentes no que diz respeito a configuração de redes.
“Problemas” que você irá encontrar:
•Não encontrar os tradicionais comandos ifconfig, netstat, route,
mii-tool, arp, iptunnel pois eles fazem parte do pacote net-tools que
não está presente de forma padrão na instalação.
Para definir o nome do host, que por padrão vem definido como
localhost, precisamos editar o arquivo /etc/hostname:
# vi /etc/hostname
Então como resolver estes pseudos problemas?
Primeiro vamos nos acostumar com o ambiente para que possamos resolver esses nosso
“problemas”, vamos começar verificarmos como o seu CentOS/RHEL 7 renomeou as suas
placas de rede, para isso iremos um dos comando abaixo :
nmcli d
CONFIGURANDO INTERFACE DE REDE EM
SERVIDORES RED HAT E CENTOS 7
Comandos De Rede
Primeiramente vamos verificar a interface de rede que
iremos configurar:
# ip addr
# ip addr show
Em ambos os comandos você pode observar que as placas de redes têm os nomes enp0s3 e
enp0s8.
A placa física que normalmente se chamaria eth0 ou eth1 está
nomeada como enp0s3 ou ens33. É ela que vou configurar com os
padrões da rede do meu lab.
# vi /etcnetwork-scripts/ifcfg-
ens33/sysconfig/
Resolvendo o “problema”
CONFIGURANDO A PLACA COM UM ENDEREÇO ESTÁTICO
# vi /etc/sysconfig/network
# Created by anaconda
NETWORKING=yes
HOSTNAME=servidordeteste
GATEWAY=192.168.0.13
Caso não existam, crie as linhas acima de forma que o HOSTNAME seja o nome da sua
máquina e o GATEWAY o IP do seu Gateway e/ou roteado
Agora que identificamos as placas de rede vamos verificar se temos internet com o comando
ping vamos “pingar” o ip 8.8.8.8 válido.
Se o ping não responder temos que configurar a placa de rede para ter acesso a Internet, e
como não temos o ifconfig AINDA ,vamos usar o comando ip para isso.
Vi /etc/resolv.conf
•O primeiro comando configura ip e máscara na interface enp0s3
•O Segundo ip configura o gateway
•O terceiro configura o servidor DNS
Caso a sua rede tem um servidor DHCP configure os parâmetros acima como o comando :
dhclient -v ens33
Agora vamos reiniciar o serviço de rede:
# /etc/init.d/network restart
Restarting network (via systemctl): [ OK ]
Agora vamos consultar as configurações da interface para ver se ela puxou o
endereço estático que colocamos:
# ip addr
Antes de instalar o GNOME Desktop certifique-se que a sua máquina tem ligação à Internet. Em caso
afirmativo, vamos usar recorrer à ferramenta yum, executando o seguinte comando:
yum grouplist
Depois de apresentada a lista dos “grupos de software”, devem proceder à instalação do
grupo GNOME Desktop, usando para isso o seguinte comando:
Para resolver esse problema em suas distribuiçõ es, a RedHat desenvolveu o RPM –
RedHat Package Manager. O RPM permite a distribuiçã o de programas compilados em
pacotes fechados, prontos para o uso de acordo com a versã o do sistema operacional e
arquitetura. Por exemplo, o CentOS 6.5 32 bits possui os pró prios arquivos RPMs de
programas, que sã o diferentes dos arquivos RPMs para os mesmos programas para o
CentOS 6.5 64 bits. Isso facilita muito a instalaçã o de programas, uma vez que todos os
sistemas CentOS 6.5 64 bits sã o iguais. No entanto, esse formato criou uma nova
dificuldade, que é a interdependência entre os pacotes. Digamos que o programa A
depende do programa B, que depende dos programas C e D, que dependem do programa
E. Ainda que todos os programas estejam disponíveis, a instalaçã o pode se tornar uma
chata resoluçã o de problemas de dependências.
Solucionando de vez todos esses problemas, o Departamento de Física da Universidade de
Duke criou o yum. O yum é um programa que gerencia a interdependência entre os
pacotes RPM, além de baixar os arquivos pela internet de repositó rios oficiais e seguros. O
uso do yum torna a experiência de uso de distribuiçõ es da RedHat muito mais agradável,
tornando fácil e descomplicada a operaçã o de instalar novos programas.
Os comandos de pesquisa sã o:
O comando exige pelo menos um nome de pacote para a pesquisa, sendo que é possível
passar mais de um argumento ou utilizar caracteres curinga para listar as dependências
todos os pacotes que combinem com a pesquisa.
yum groupinfo
O comando yum groupinfo<GRUPO_DE_PACOTES> mostra os pacotes que fazem parte de
um grupo de pacotes. Os grupos de pacotes sã o compostos por pacotes mandató rios e
pacotes opcionais. Um grupo de pacotes é considerado instalado quando todos os pacotes
do grupo estã o instalados.
A maior parte dos pacotes possuem nome composto. Nesse caso, é necessá rio colocar o
nome do pacote entre aspas duplas.
yum grouplist
O comando exige pelo menos um nome de pacote para a pesquisa, sendo que é
possível passar mais de um argumento ou utilizar caracteres curinga para listar as
dependências todos os pacotes que combinem com a pesquisa.
yum list
O comando yum repolist mostra os repositó rios instalados no sistema Linux, juntamente
com o nú mero de pacotes disponibilizados pelo repositó rio.
Já o comando yum search all <EXPRESSÃO> faz a pesquisa também nos campos de URL e
descriçã o.
Comandos de Instalação
Se os comandos de pesquisa permitem o planejamento de novas instalaçõ es, os comandos de
instalaçã o sã o o coraçã o e a razã o de existir do yum! Os comandos de instalaçã o tornam fácil de
processo de gerenciar pacotes no Linux.
Os comandos de instalaçã o sã o:
Outro ponto importante do yum é a utilizaçã o de chaves de assinatura eletrô nica para
garantir a autenticidade dos pacotes instalados. Caso algum pacote a ser instalado
contenha uma assinatura desconhecida, uma mensagem de aviso será apresentada
perguntando se o usuário realmente deseja instalar o pacote. Desse jeito, é
importante ficar atento à s mensagens de aviso que aparecem durante o uso do yum.
Antes de Começar
Todos os comandos de instalaçã o do yum podem ser utilizados
com a opçã o -y. A opçã o -y determina que todos os
questionamentos de confirmaçã o do yum sejam suprimidos,
automatizando sem interrupçõ es a instalaçã o dos pacotes.
Apesar de ser uma comodidade na instalaçã o dos pacotes, essa
opçã o pode trazer furos de segurança por instalar
automaticamente chaves de assinatura eletrô nica e até
desinstalar pacotes.
Se nenhum nome de pacote for informado, todo o sistema operacional Linux será
sincronizado com as versõ es dos pacotes disponíveis nos repositó rios.
As transaçõ es podem ficar pendentes por diversos motivos, seja porque o usuá rio cancelou o
comando, seja porque o comando falhou de alguma forma.
yum load-transaction
Os comandos de manutenção sã o:
# yum history
——————————————————————————-
27 | User <centos> | 2015-0X-XX 17:00 | Update | 6
26 | User <centos> | 2015-0X-XX 16:58 | Install | 2
25 | User <centos> | 2015-0X-XX 13:59 | Install | 9
Esse comando mostra as últimas execuções que foram feitas com o comando yum.
E eu literalmente uso (quase) esse mesmo comando, para desfazer a atualização de
pacotes:
Com este comando acima, listo os últimos yum’s que rodaram e peço para desfazer
a execução do ID 27 (que é a referente ao update).
# ifconfig
lista as interfaces de rede ativas
# ifconfig -a
lista todas as interfaces de rede ativas e inativas
Digite: netstat
# netstat -r
# netstat -a
Podemos ver em tempo real todo o caminho que o pacote percorre até o destino. Cada
linha que aparece é chamada de pulo.
# traceroute www.clicrbs.com.br
NSLOOKUP
Esse comando resolve o nome de um host para um IP.
# nslookup clicrbs.com.br
DIG
Esse comando já fornece informações mais detalhadas
relacionadas ao DNS.
# dig terra.com.br
A Estrutura De Diretórios Do Linux
/ – O diretório Root (Raiz)
Inicialização: /boot
Serviços: /srv
Dados de servidores e serviços em execução no
computador ficam armazenados dentro desse diretório.
Aquivos pessoais: /home
REISERFS
Se você utilizar VFAT no Linux, esteja certo de perder alguns atributos, tais como:
permissão de execução, links simbólicos, entre outras coisas.
No Linux, os discos são identificados por siglas como sda, sdb, sdc, etc, indicando o tipo de disco (sd =
SATA, hd = IDE) e o número do disco (a = primeiro disco, b = segundo disco, c = terceiro disco, etc).
Não há letras de unidade (C:, D:, etc) como no Windows.
E as partições são representadas por números após a sigla do disco:
sda1 = primeira partição do primeiro disco rígido SATA
sdb2 = segunda partição do segundo disco rígido
sdc8 = oitava partição do terceiro disco rígido
E assim por diante.
Esses dispositivos são acessados por meio de arquivos de dispositivos, que se localizam no
diretório /dev do sistema. Por exemplo, temos um arquivo chamado /dev/sda que representa o
primeiro disco rígido do sistema, e outro arquivo chamado /dev/sda2, que representa a segunda
partição desse mesmo disco.
Acesse o conteúdo do
diretório /dev, e repare
nos arquivos de
dispositivos que
representam os discos e
partições sda e sdb:
Temos duas partições no disco sda:
Fdisk /dev/sdb
Tecle P
Temos o disco sdb que será usado em nossos testes. Ele possui uma partição
primária e duas unidades lógicas que serão formatadas.
# blkid /dev/sda1
O mkfs torna fácil formatar drives de vários tipos, no Linux, tais como pendrives, cartões
de memória, HDs, SSDs etc.
O aplicativo permite várias opções e parâmetros de uso, que lhe conferem grande
versatilidade para realizar a tarefa.
mkfs.ext4 /dev/sdb1
Rode novamente o comando blkid /dev/sdb1
Rode novamente o comando blkdid /dev/sdb5
Bem, agora que as partições foram
formatadas, será que já podemos utilizá-las
para gravar nossos arquivos?
A resposta é “não”.
Ainda precisamos executar um terceiro
processo para tornar as partições formatadas
disponíveis para uso: a montagem dos
sistemas de arquivos.
Montando partições:
O sistema nunca acessa os dados dentro
da partição diretamente. Ao invés disso, ele
permite que você "monte" a partição em
uma determinada pasta e acesse os arquivos
dentro da partição através dela.
A montagem do volume físico é uma
abstração do sistema operacional que nos
permite visualizar o volume em uma forma
lógica e mais compreensível.
Montando partições: mount
# umount /mnt/sdb1
OU
# umount /dev/sdb1
Montando partições: mount
O comando mount é utilizado para montar um dispositivo na
hierarquia do sistema de arquivos do Linux.
As opções mais usadas são:
-a - Monta todos os dispositivos especificados no arquivo
/etc/fstab que não têm a opção noauto selecionada.
-r - Monta o sistema de arquivos do dispositivo como somente
leitura.
-w - Monta o sistema de arquivos do dispositivo como leitura e
gravação.
-o - Especifica as opções de montagem.
-t - Especifica o tipo do sistema de arquivos do dispositivo.
Montando partições: mount
Alguns tipos de sistemas de arquivos:
ext2 - Partições Linux.
ext3 - Partições Linux.
reiserfs - Para partições reiserfs.
vfat - Para partições Windows Fat.
ntfs - Para partições Windows NTFS.
Iso9660 – Para cd-rom
Exemplos:
# mount /dev/hdb1 /mnt/windows -t vfat
# mount /dev/fd0 /mnt/floppy -t vfat
# mount /dev/cdrom /mnt/cdrom -t iso9660
Vejamos as partições existentes em nosso sistema
com o comando fdisk -l:
# fdisk -l
Montar uma partição, basicamente, é torná-la disponível para uso após a formatação,
anexando-a ao sistema de arquivos do Linux. Podemos fazer isso “conectando” a partição
formatada a um diretório criado especialmente para esse fim.
$ df –h
Além dos sistemas de arquivos temporários e especiais, note que sistema tenho a partição
/dev/sda1 montada no diretório raiz do sistema (/).
$ sudo fdisk -l
Temos o disco /dev/sdb, com quatro partições:
- /dev/sdb1, primária;
- /dev/sdb2, estendida;
- /dev/sdb5, unidade lógica dentro da partição estendida
Dessas três, iremos montar as partições primária e unidades lógicas. Vejamos se já estão
formatadas e os sistemas de arquivos usado em caso positivo:
$ sudo blkid
Nosso primeiro passo será criar os pontos de montagem, que nada mais são do que
diretórios que serão usados como “pontos de entrada” para acesso às partições / discos.
Vamos criar então dois diretórios para montar as duas partições do disco sdb:
/ext4 para a partição /dev/sdb1
/ext3 para a partição /dev/sdb5
Note que podemos usar quaisquer nomes para as partições; usarei nomes que reflitam
cada sistema de arquivos apenas para fins didáticos.
Depois a segunda:
$ sudo mount -t ext3 /dev/sdb5 /ext3
Vamos verificar agora as partições montadas com o comando df -h:
Excelente! estão todas montadas em seus respectivos
pontos de montagem!
Agora todo arquivo que for gravado nestes diretórios será,
na verdade, armazenado na partição correspondente deste
disco rígido.
ou
mkdir /media/cdrom
Ali está o shell, esperando ansiosamente por algum comando para ele
poder executar.
Essa é a sua função: esperar e executar. Cada comando digitado é lido,
verificado,
interpretado e enviado ao sistema operacional para ser de fato
executado.
Funcionando como uma ponte, o shell é a ligação entre o usuário e o kernel. O
kernel é quem acessa os equipamentos (hardware) da máquina, como disco
rígido, placa de vídeo e modem. Por exemplo, para o usuário ler um arquivo
qualquer, toda esta hierarquia é seguida:
Exemplo: sistema.sh
OBS: Use apenas letras minúsculas e evite acentos, símbolos e espaço em branco
Use o seguinte comando para que seu script seja reconhecido pelo sistema como um
comando executável:
chmod +x sistema.sh
Comandos mais conhecidos
#!/bin/bash
#!/bin/bash
w
whoami
uname –r
Salve o arquivo
chmod +x meuprimeiroshell
./meuprimeiroshell
#!/bin/bash
whoami
#mostra com qual usuário estou logado (isso é um
comentário de linha inteira)
uname -r
Salve o arquivo.
$ chmod +x meusegundoshell
$ ./meusegundoshell
Viu o resultado? :)
O primeiro shell script (melhorado)
O comando "echo" serve para mostrar mensagens na tela. Que tal anunciar
cada comando antes de executá-lo?
Para usar o echo, basta colocar o texto entre "aspas". Se nenhum texto for
colocado, uma
linha em branco é mostrada.
#!/bin/bash
echo "Data e Horário:"
date
echo
echo "Uso do disco:"
df
echo
echo "Usuários Conectados:"
W
#!/bin/bash
echo "Vou buscar os dados do sistema. Posso
continuar? [sn] "
read RESPOSTA
test "$RESPOSTA" = "n" && exit
echo "Data e Horário:"
date
echo
echo "Uso do disco:"
df
echo
echo "Usuários conectados:"
w
Interagir com o usuário
Ls.log
Cat.log
Top.log
Resolução
#!/bin/bash
#data do sistema
date >> data.txt
#listar
ls >> listar.txt
...
exit
Como Usar o Systemctl para Gerenciar Serviços do
Systemd
Gestão de Serviços
No systemd, o alvo da maioria das ações são “units” (unidades), que são
recursos que Systemd sabe gerir. As unidades são classificadas pelo tipo de
recurso que representam e são definidas com arquivos conhecidos como
arquivos de unidade. O tipo de cada unidade pode ser inferida a partir do
sufixo no fim do ficheiro.
# systemctl -t service
Systemctl list-units
Listagem Unidades Atuais com o Systemctl
Listando Todos os Arquivos da Unidade com o
Systemctl
Systemctl list-unit-files
A saída possui as seguintes colunas:
Se você não tem certeza se o serviço tem a funcionalidade para recarregar sua
configuração, você pode usar o comando reload-or-restart. Isto irá recarregar a
configuração no local, se disponível. Caso contrário, ele irá reiniciar o serviço para
que a nova configuração tome efeito:
Todos estes comandos alertam os usuários logados que o evento está ocorrendo,
algo que simplesmente executando ou isolando o target não iria fazer. Note que na
maioria das máquinas que usam systemd, os comandos mais curtos, são abreviações
dos comandos do systemd, para estas operações e funcionam corretamente
também.
Por exemplo, para reiniciar o sistema,
normalmente você pode digitar:
reboot