Resumo Prova LPIC101
Resumo Prova LPIC101
Resumo Prova LPIC101
/bin = Binarios para uso do Ambiente Linux - (Equivale aos exe no Windows).
/lib = Equivale as dll do Windows, São as Bibliotecas dos binarios do /bin e do /sbin.
/tmp = Guarda arquivos temporários utilizados por programas ou Serviços. Recurso TMP
WACTCH
User --> SHELL (sh, zsh, csh, bash) --> Kernel (Núcle do S.O.)
COMANDOS LINUX
man cp = Manual do cp
man -k firewall = -k busca por palavas chaves no Cache. Quando não sabe o nome. ufw é o
nome do firewall
ATALHOS NO TERMINAL
&& = Equivale ao AND (Se o 1 clausula for verdade, vai executar a 2).
COMANDOS LINUX
TTY = Áreas de Trabalho EM modo TEXTO.(Multi Usuários). Crtl + Alt + F1 .. Crtl + Alt + F12
TTY padrão 0
Estou pegando o resultado da busca do ls filtrado por arquivos bz2 e enviando esse resultado
para o xargs como parametro, depois executando o rm -f.
Ou seja, vou remover todos os aquivos que sejam bz2 informados pela saida do ls | grep bz2
ls /etc | tee arquivo.txt = Além de mostar na tela o resultado do ls, vai também gerar um
arquivo txt com esse resultado. O tee direciona para STDIMP e também para o ARQUIVO.
$HISTFILE =
~/bash_history
Echo $HISSIZE=1000
$PS1 =
\u@h \w\s
NOME=“Diogo Menezes“
export NOME = Transforma uma variável local em global. (Se fechar o bash, perde).
O comando bash dentro do terminal cria um bash filho do terminal (bash) aberto.
A Variável Gobal pode ser acessada tanto no bash pai, quanto no bash filho.
env -u NOME = Destroi a Variável criada. SOMENTE NA HORA(A variável continua existindo).
env -u NOME env | grep -i NOME = Vai perquisar pela variável NOME nas variáveis Globais.
/etc
No /etc/bashrc OU /etc/bash.bashrc
No /etc/profile
vi /etc/profile - Toda vez que existe um loggin na maquina esse arquivo será executado.
/home/dmenezes/.profile = /etc/profile
STANDINPUT = 0
STANDOUTPUT = 1
STANDERROR = 2
HERE DOCUMENT
Voce pode digitar o que quiser no arquivo.txt e quando digitar EOF ele finaliza o arquivo
e executa o comando cat no arquivo que você acabou de fazer. Pode ser qualquer
palavra chave, nesse caso escolhemos EOF
HERE STRING
Passamos uma string para a entrada de um comando. Usei a string como entrada do
comando cat.
OBS1.: apt get update 2>1 Nesse caso o Terminal entende que deve criar um arquivo 1 e
colocar nele a menssagem de erro.
OBS2.: apt get update 2>&1 Nesse caso vamos fazer a redundância de exibir na tela a
menssagem de erro.
OBS3.: ls /etc > /dev/null Nesse caso vai jogar a saida do comando no buraco negro
/dev/null
adduser
O sinal de % indica que é um grupo, ou seja o grupo SUDO pode fazer tudo (Primeiro all).
ls -i = Listar todos os arquivos e o seu Inod (Indice no sistema de arquivos, Não exite um
arquivos com o mesmo numero de inod, exceto se ele for um link Físico).
find . -iname Arquivo.txt = Pesquisar pelo nome do Arquivo. NÃO Diferencia Maiusculo de
Minusculo.
find . * -print =Pesquisa todos os arquivos. Formata a exibição comando find no padrão, um
abaixo do outro, em uma lista. (SAIDA NORMAL DO COMANDO).
find . * -print0 =Pesquisa todos os arquivos. Formata a exibição comando find, um ao lado do
outro sem espaços entre os arquivos. (ALTERA A SAIDA).
find . -maxdepth 0 -iname *.txt = Pesquisa por todos os arquivos txt e Faz uma pesquiza
apenas no primeiro nível da hierarquia de arquivos.
find . -maxdepth 1 -iname *.txt = Pesquisa por todos os arquivos txt e Faz uma pesquiza
apenas no primeiro e segundo níveis da hierarquia de arquivos.
find . -maxdepth 2 -iname *.txt = Pesquisa por todos os arquivos txt e Faz uma pesquiza
apenas no primeiro, segundo e terceiro níveis da hierarquia de arquivos.
Vamos fazer uma pesquisa por todos os arquivos .txt no diretório local e em seus dois sub-
níveis, Depois vamos executar o comando cp passando esse retorno do find dentro das chaves
para o diretório test. Devemos sempre fechar o comando exec com o \;
Vamos fazer uma pesquisar TODOS os DIRETORIOS com nome oi1,oi2 ou oi3, exibir e
deletar.
mkdir -m 777 NovoDiretorio = Define uma permissão padrao par o diretório (tudo liberado).
dd = Comando para CONVERTER Arquivos ou fazer COPIAS BIT a BIT (Gravar ISO, Copiar
Partição).
dd if=/dev/urandom of=/dev/sdX
count = Quantas vezes vai copiar. (Voce poderia fazer uma copia desse arquivo mais de
uma vez).
(j) Bz2 ou (z) gz = Comando utilizado em conjunto com o tar para comprimir arquivos.
Compactar Arquivos
zip -r(recursivo)
tar t(ver o que esta dentro) f(aponta o arquivo) . Ver o conteudo sem descompactar.
gunzip arq.gz
bunzip2 arq.bz2
unzip arq.zip
gzip -k arq.tar
bzip2 -k arq.tar
xz -k arq.tar
gunzip arq.tar.gz
gzip -d arq.tar.gz
bunzip2 arq.tar.bz2
bzip2 -d arq.tar.bz2
unxz arq.tar.xz
xz -d arq.tar.xz
ls *.pdf | cpio -o > TodosPDF.cpio = O cpio recebe de uma lista de arquivos e AGRUPA.
cpio -i -d < TodosPDF.cpio = Comando para desagrupar os arquivos e criar uma pasta
USER --> Soliciata ao INODE (Informações gravadas sobre o arquivo Owner, Grupo,
Permissões e o Bloco) --> Que pesquisa no DISCO
INODE = Metodo que o Linux utiliza para organizar os arquivos dentro do Sistema de
Arquivos (FHS).
No Link Simbólico seria a mesma coisa que o atalho no Windows. O link simbólico aponta
para o Arquivo e não para o INODE. É POSSIVEL CRIAR ENTRE SISTEMAS DE ARQUIVOS
DIFERENTES
ln -s File1 Atalho_File2 = Comando para criar o Link Simbólico. File2 é um Atalho para o File1.
No Link Físico o pontero irá apontar para o INODE do Arquivo e não para o arquivos. Irá
apontar para o local no HD onde a informação esta gravada. Na criação do Link Físico, ele vai
add mais um arquivos ai link count
ln File1 File2 = Comando para criar o Link Físico. File2 é um apontamento para o INODE do
File1.
BIOS --> MBR (512bytes) --> BOOTLOADER (grub2) --> KERNEL --> INITRD e INIT -->
RUNLEVEL
Initrd é um arquivo compactado que fica no /boot. Ele vai ter drivers (ext4, LVM). Ele monta
uma partição temporária no padão tempPSF, Carrega os drivers para a memoria de depois
desmonta.Assim depois que os drivers temporário é desmontado o sistema monta o Root ( / ).
Depois de tudo montado e funcional o sistema irá chamar o primeiro processo do Linux.
Init é responsavel por iniciar todos os aplicativos que estão configurados para inciar junto com
o sistema de arquivos (MySQL, Apache...). O Init irá identificar em qual RUNLEVEL o sistema
deve bootar. RUNLEVEL é o nivel de execução do Sistema Operacional.
LPI - Para fazer o Backup do BootLoad devemos salvar apenas os primeiros 440 ou 446 bytes.
GRUB2
GRUB_CMDLINE_LINUX=""
Ubuntu = update-grub
/etc/grub.d/
,INITRD e KERNEL
/boot
O Arquivo do Kernel sempre terá um arquivo initrd (Que monta os Drivers temporarios EXT4,
LVM .. ) compativel com ele.
update-initramfs -u = Esse comando ira pegar o arquivo initrd atual e vai atualizar ele de
acordo com o que voce instalou
DIRETÓRIO DO INIT
/sbin
a = TODOS os Usuário
ps aux | grep -i init
dmesg = Comando para ler o Log do Sistema ou o Log do Boot - kernel ring buffer
cat /var/log/kernel.log = Esse arquivo conten o log de boot do kernel (Dristros Novas
SystemD).
Upstart = Evolução do sysv. (Outra Programação). Criado pela Canonical e era baseado em
Eventos.
SysV = Gerenciador de inicialização que Trabalha com números. Que pode varias de acordo
com cada distribuição.
2 = x (Personalisável)
4 = x (Personalisável)
6 = Reboot
Upstart = Arquivo de configuração em /etc/init/
PRINCIPAIS COMANDOS =
initct list
Systemd = Não usa mais os Run Level com números e sim com target (grupo de units).
systemctl reboot
TIPOS DE SERVICOS:
Servive
Device
Mount
Automount
0 = poweroff.target
1 = rescue.target
2 = multi-user.target
3 = multi-user.target
4 = multi-user.target
5 = grafical.target
6 = reboot.target
Scapchat
SYSTEMD
SYSV
O arquivo para alterar o Run Level padrão do sistema fica em /etc/inittab NAO
EXISTE MAIS.
default id:2:initidefault
Por padrão o Ctrl + Alt + Del chama um script em /sbin/shurdown -t1 -a -r now
SYSTEMD
/etc/systemd/system -->
/run/systemd/system -->
/usr/lib/systemd/system -->
/lib/systemd/system
CONFIGURAÇÕES DO SYSTEMD
/etc/systemd/
Compress = yes
Storage = auto
cd /lib/systemd/system
rm default.target
ln -s rescue.target default.target
poweroff
reboot
INSTALAÇÃO DO GRUB - 07
grub-install /dev/sda
TABELA DE PARTIÇÕES
/bin
/sbin
/dev
/proc
/sys
/etc
m = Para ajuda.
m = Para ajuda.
mke2fs.ext4 /dev/sdb1
MONTAR O DISCO
DESMONTAR O DISCO
unmount /mnt
blkid /dev/sadb1
lsblk /dev/sadb1
lsblk /dev/sadb1 -f
mke2fs -j /dev/sdb2
mkswap /dev/sdc1
ATIVANDO A PARTIÇÃO DE SWAP
swapon /dev/sdc1
cat /proc/swaps
swapon -s
swapon --show
swapoff /dev/sdc1
LG = Logical Volume.
VAMOS CRIAR O LVM SEGUINDO A IDEIA DA FIGURA ACIMA. 02 Discos Físicos - SDB e
SDC
m = Ajuda
w = Sair e Salvar.
m = Ajuda
w = Sair e Salvar.
pvcreate /dev/sdb1 = Add um disco na camada, para que depois possa ser add a um grupo.
pvcreate /dev/sdb2 = Add um disco na camada, para que depois possa ser add a um grupo.
pvcreate /dev/sdc1 = Add um disco na camada, para que depois possa ser add a um grupo.
pvcreate /dev/sdc1 = Add um disco na camada, para que depois possa ser add a um grupo.
Temos 04 Phisical Volumes Criados no LVM
LV UUID = O ID do Disco
FORMATANDO A PARTIÇÃO.
Devemos Desmontar
m = Ajuda
w = Sair e Salvar.
xfs_growfs = lvextend
Desenvolvido por um grupo de Empresas: Oracle, Red Hat, Fujitsu, Intel, SuSe, FaceBook...
SubVolumes
Compressão Tranparente
Snapshot
> 32GB
Nos FileSystems mais "tradicionais", como os ext2/ext3/ext4 por exemplo, a alocação de espaço
para os inodes é fixa e determinada no momento da criação da partição. No entanto, alguns
sistemas de arquivos possuem um recurso chamado "Alocação Dinâmica de Inodes", em que o
problema de falta de espaço disponível para os inodes não deve acontecer pois o FileSystem se
encarregará de criar dinâmicamente mais espaço se necessário, entre eles temos o ReiserFS (em
desuso), XFS, JFS, ZFS e BTRFS.
-h = Humam Readeble.
-c = Mostra o Total.
du -sch * | sort -h = Verifica o tamanho das pastas e ordena por tamanho. Maior no FIM.
du -sch * | sort -rh = Verifica o tamanho das pastas e ordena por tamanho. Maior no INICIO.
dbugfs = Comando que serve para DEBUGAR um SISTEMA de ARQUIVOS. Voce pode
buscar por dados atraves de uma busca por inodes.
tune2fs -m 2 /dev/sdb2 = Altera o TAM do Espaco Reservado SEM USO pelo Sistema.
(2%)
DESMONTAR O DISCO
unmount /mnt
xfs_info sda1.dump
mount = cat /etc/fstab Comando para exibir todas as partições montadas no nosso sistema.
mount -a = Exibe todas as partições do arquivo fstab que nao estejam com a opção NO
AUTO.
mount /dev/sda1 /mnt = Para montar uma partição devemos informar qual é e o local a ser
montada.
mount -L DADOS /mnt = Comando para montar uma partição a partir de um Label.
mount -L DADOS -n /mnt = Comando para montar uma partição a partir de um Label, SEM
ESCREVER na fstab.
mount -o ro /dev/sdb1 /mnt = Comando para montar uma partição como somente leitura.
ro = Somente Leitura.
rw = Leitura e Escrita.
vi /etc/fstab = Local onde ficam a lista de partições que serão montadas automaticamente.
/run/systemd/system -->
/usr/lib/systemd/system -->
/lib/systemd/system
[Unit]
[Mount]
What=/dev/sdb2
Where=/mnt/montagem
Type=xfs (auto)
Options =defaults
[Install]
WantedBy=multi-user.target
cat /etc/paswd | cut -f 1,2 -d : = Exibe o conteudo do arquivo da coluna (-f) 1 e 2 tendo como
delimitador (-d ) o :
-1 = Primeiro Arquivo
1 = Primeira Coluna
-2 = Segundo Arquivo
1 = Primeira Coluna
-1 = Primeiro Arquivo
1 = Primeira Coluna
-2 = Segundo Arquivo
1 = Primeira Coluna
COMANDOS LINUX
less = Comando que possibilida voce navegar pelo arquivo, para cima ou para baixo.
more = Comando que possibilida voce navegar pelo arquivo, para cima ou para baixo.
less Arquivo.txt
nl Arquivo.txt.
paste = Comado similar ao JOIN, porém não precisa informar as colunas de link entre os
aquivos.
pr file1.txt = Irá definir margens, paragrafos e paginas... (Utilizado qunado não tinha GUI).
s = Substitui.
g = Em todo o Texto.
sed -i ‘s/Morbi/Sub/g` Arquivo.txt = Irá substituir todas as ocorrencias de Morbi por Su.
du -sch * | sort -rh = Exibe todas as pastas do local da maior pra menor.
split -b 2048 File1.txt File_ = Irá quebrar o arquivo File1.txt em arquivos de 2048 Bytes e
vai renomear como File_aa, File_ab...
cat File1.txt | tr [:lower:] [:upper:] = irá conveter todo o arquivo para maiusculo.
50%
GERENCIAMENTO DE PACOTES
Dedian
.deb = Extensão do arquivo auto instalável
dpkg -I (i) pacote.deb (i) = Informacoes dos arquivos que estao dentro do .deb
dpkg -l (L) | grep -i chrome = Lista todos os pacotes .deb e filtra pelo chrome.
dpkg -r chrome = Irá remover a instalação do chrome porém NÃO irá remover os
arquivos de configuração.
dpkg --purge (-P) chrome = Irá remover o Chrome e todas as suas configurações.
dpkg -I (i) chrome.deb = Serve para verificar informações do pacote antes da instalação
(Ver dependências).
dpkg -s Chome = Serve para verificar se o pacote foi corretamente instalado e o seu
status.
dpkg-reconfigure chrome = Se o pacote deu pau, vc pode tentar recuperar ele assim.
dpkg-reconfigure tzdata = Abre a tela de configuracao do TIME ZONE (Pais).
alien= Usado para CONVERTES pacotes .rmp em pacotes em .DEB e entre outros.
COMANDOS DO APT
apt-cache list chrome = Comando utilizado para buscar pelo NOME do aplicativo na lista
de cache da distribuição.
apt-get purge chrome = irá remover a instalação do chrome e tambem irá remover os
arquivos de configuração e as libs.
aptitude = apt-get
-q = Query, Busca.
-q = Busca.
rpm -qRp chrome = Lista todas as dependencias (Libs) do pacote NAO INSTALADO.
rpm -qi chrome = Exibe informações dos pacotes que sera intalado.
-k = Check.
rpm -ihv chrome.rpm = Instalação do pacote chrome exibindo uma barra de progresso e
detalhes das instalaçao
rpm -ihvv chrome.rpm = Instalação do pacote chrome exibindo uma barra de progresso e
detalhes das instalaçao. Mais informações ainda.
POSSO USAR TANTO A OPÇÃO rpm -Uhvv chrome ou rpm -ihvv chrome para instalar
pacotes.
rpm --verify bash = Se ouve alguma alteracao o sitema ira retornar qual foi e o que foi
alterado.
-R = --Requires
-i = Extrair
m = Manter as permissões.
d = Cria os diretórios.
v = Exibe os detalhes.
/etc/yum.repos.d = REPOSITÓRIO
Yum install --downloaderonly chrome = Server para fazer download do pacote .rpm (Não
baixa as dependencias).
GERENCIAMENTO DE PROCESSOS
pgrep -t tty1 -l -a = Lista todos NUMEROS, NOMES e DETALHES dos processos na tty1
homo
kill -15 (SIGTERM) 10665 = kill 10665 = PEDE para o firefox desligar.
ls | nohup cpio -o > arquivo.cpio & = Ira compactar tudo em background sem parar se o
terminal for fechado
uptime = Exibe a hora do sistema, Qtd de tempo ligado, N. de usuarios, Carga do sistema
1min 5min e 15 min.
nice = Comando utilizado para iniciar um processo com uma determinada prioridade.
renice = Comando utilizado para reiniciar um processo com uma determinada prioridade.
ls | grep ^l.*t$
^l = Comece com L
t$ = Termine com T
ls l*t
l = Comece com L
t = Termine com T
ls | grep -vi “file” = Pesquisa por aquivos que não são file ou File.
ls | grep -vin “file” = Pesquisa por aquivos que não são file ou File e NUMERA A ordem dos
aquivos onde estão localizados
cat Text1.txt | fgrep “[“ = O mesmo retorno do acima porem nao precisa do \
$LD_LIBRARY_PATH = Variável (SEM USO - ANTIGA) - Era o path onde estavam todas as
Libs.
- = Arquivo
L = Link Simbolico
D = Diretorio
chmod -R 777 * = Permissao Total para TODOS os usuarios e para TODOS os arquivos.
chmod u=r,g=r,o=r file01 = Add permissao de leitura ao Dono, leitura ao grupo e leitura para
outros.
chgrp games file1 = Muda o grupo do arquivo file1 para o grupo games
chown games file1 = Muda o grupo do arquivo file1 para o grupo games.
BIT SUID (4) = Qualquer usuario pode executar esse executavel com a mesma permissao do
dono do executavel
BIT SGID (2) = Qualquer usuario que pertenca ao mesmo grupo do grupo dono do executavel
pode executar o executavel. Mas utilizado em diretorios. Todos os arquivos criados no
diretorio com oBIT SGID setado pertencem ao grupo que foi definido pelo comando e nao de
acordo com que fez.
drwxr-sr-x 2 root dmenezes 4096 Aug 29 12:00 Ditetorio = Ira herda o grupo definido no
GID.
STICK BIT (1) = Funciona apenas em diretórios. Apenas o Dono do arquivo pode apagar ou
modificar.
drwxr-sr-t 2 root dmenezes 4096 Aug 29 12:00 Ditetorio = Ira herda o grupo definido no
GID.
UMASK = 0022
VALORES PADRÕES:
Diretorios (777-026)=751 Umask --> 750 (Mudamos para que outros nao tivessem permissão
de executar aquivos no diretorio).
umask 0027
Permissao
Arquivos (666).
Diretorio (777).
Tivemos que ajustar o umask para 0027, evitando que outros tenham permissão de executar
no diretorio.
COMANDOS LINUX
whereis find
apropos ufw
man - k ufw = Busca pela palavras nas paginas do manual. Mesma coisa do comando
apropos ufw
EDITOR VI LINUX
esq
MODO DE COMANDO
h = Esquerda
j = Baixo
k = Cima
l = Direita
yy = Copia uma linha toda
p = Cola
p = Cola
P = Cola
:x = Sair e Salvar
:e = Carrega uma alteracao feita em paralelo no aquivo. Se eu nao alterei nada no arquivo.
ZZ = Sair e Salvar
:!Comanddo = Sai do VI para Executar o comando e depois, apertar enter, Volta ao VI.
:! ls/tmp
EDITOR NANO
( M = Alt )
sudo update-alternatives --config editor = Seleciono qual o editor padrao quando digitar
editor no terminal
ls /proc
Cada processo cria uma pasta dentro do /proc o numero da pasta é o PID do processo.
Arquivos e diretórios dinamicos.
cat /proc/modules =
cat /proc/mounts = Link Simbolico para /proc/self/mounts.(Exibe tudo que está montado
no Sistema).
ls /sys
Similar ao /proc, mostra informações sobre o kernel, modulos, BUS. lspci utilição esse diretório
para obter informações.
cat /proc/mounts | grep -i sys = Mostra que o /sys também é um sistema de arquivos
virtual.
ls /dev
Cada dispositivo tem uma instancia no /dev. (demon) é a mesma ideia de um serviço, porém
fica sem uso na memória, esperando vc add um novo dispositivo.
Plugou o USB --> Gera o UEVENT--> UDEV --> Verifica em /etc/udev/rules.d --> Toma uma
ação e monta o dispositivo.
lsusb -s 003:
lsusb -d 1d6b:
ls /lib/modules/NKERNEL/kernel
cat /etc/modules = Voce pode definir quais modulos serao carregados pelo linux.
lsmod = Comando utilizado para exibir todos os modulos que estão na memoria do sistema.
insmod /lib/modules/NKERNEL/kernel/...ko
sudo find / -iname alx.ko
cd /usr/lib/modules/5.3.0-40-generic/kernel/drivers/net/ethernet/atheros/alx/
insmod alx.ko = Devo estar dentro da pasta onde o alx.ko foi encontrado pelo find
cat nvidia-kms.comf
ls -l /etc/modprobe.d
cat
COTAS DE DISCOS
cat /etc/fstab
sudo quotacheck -cug /mnt = Verifica se a partição esta configurada com suporte a cotas.
u = De usuarios
g = De grupos
/mnt = No /mnt
u = Usuarios.
g = Grupos.
soft = echo “45*1024” | bc Limite que assim que ultrapassado começa a avisar ao usuário
inodes =