Você está na página 1de 44

LINUX

Sintaxe: Função:

whoami Exibe o usuário atual


Permite a navegação entre diretórios, sendo “cd ..” útil para subir
Cd
um diretório e “cd ~” para ir à home
Cria diretórios, com -p ele caminha o caminho inteiro, -m ele
Mkdir
atribui as permissões que vc quiser
Rmdir Remove diretórios
Cria arquivos, -a muda somente a hora de acesso, -m muda
Touch somente a hora de modificação e -t permite definir a hora atual
com AAAMMDDhhmm.ss
Rm Remove tudo
Cat Exibe o texto de um documento
Exibe as primeiras 10 linhas de um documento, se colocar head -n
Head 45 ele vai mostrar as 45 primeiras linhas, e isso também se aplica
ao tail
Tail Exibe as últimas 10 linhas de um documento
Nano/vim Editores de texto, com -v vc entra no modo só visualização
Atribui permissões de root ao usuário, se eu usar su -c
“<comando>” é a mesma coisa, ele pode ser usado para executar
Sudo como outro usuário, tipo, eu posso como usuário Pedro usar sudo -
u sunda ifconfig para rodar o ifconfig como sunda, -k tira o
timestamp
Gerencia pacotes.
 Apt install instala os pacotes,
 apt clean apaga todos os pacotes baixados e já instalados,
apt autoclean que apaga os que não existem mais
 apt autoremove, desinstala os bgl inútil
 apt-cache dump lista todos os pacotes instalados
 apt-cache stats mostra um resumo sobre os pacotes do
sistema
 apt -f install verifica e instala todas as dependências
Apt  apt remove, os pacotes mas deixa os seus arquivos de
configuração, para remover até mesmo eles são
recomendados usar apt –-p urge remove
 apt -u dist-upgrade atualiza a distro
 apt-cache pkgnames mostra o nome de todos os pacotes
 apt-cache Search mostra todos os pacotes relacionados
com a palavra
 apt-cache show <pacote> mostra informações sobre o
pacote, e o showpkg mostra mais gerais
 apt-cache depends mostra as dependências
Apt update Atualiza os repositórios
<Comando> “>>” <Arquivo> Coloca o resultado de um comando dentro de um arquivo
Mv Move arquivos, muito usado para renomear
Copia arquivos de um lugar a outro, -r: faz a cópia de tudo dentro
Cp
de um diretório
Acha arquivos dentro de diretórios, <find / -name “nome a
Find
pesquisar”>
Hostname Mostra o nome do host e os IP’s com -I
Free -h Mostra o atual consumo da memoria
Mostra o caminho para o site, -n exibe endereços numéricos ao
Traceroute -I <site> invés de nomes, -w muda o timeout, -q mostra o número de
consultas por saltos
Testa a conectividade, o -c controla a quantidade de pings e o -i
Ping
controla o intervalo entre os pings, -q mostra só o resultado
mostra informações sobre as conexões de rede, tabelas de
Netstat roteamento e estatísticas da utilização da interface na rede.
-r mostra a tabela de roteamento e -i a de interfaçes do kernel
Lista tudo no diretório atual, -a: tudo mesmo, -l: permissões, -h:
mostra em formato humano, -R: mostra os dados dentro dos
Ls
diretórios e subdiretórios possíveis, -S: mostra por tamanho, -r:
inverte a lista
Gerencia permissões como um binário, sendo de 0: 000 até 7: 111
para cada parte, sendo o primeiro digito, as permissões do dono, o
Chmod <0-7|0-7|0-7> <nome do
segundo digito as do grupo a qual o arquivo pertence, e o terceiro
arquivo>
para outros, as permissões são na ordem RWX, sendo r leitura, w
escrita e x execução.
Faz a mesma coisa que o chmod, a diferença é que ele altera as
permissões padrões dos arquivos que serão gerados, e que a lógica
Umask binaria é invertida, 7: 000 e 0:111, porem essas mudanças não são
definitivas, para isso teremos de alterar o arquivo /etc/profile e
mudar a linha “umask 022” para o desejado
Cria um apelido para o comando, ex: alias PEDRO = “rm -i”,
dessa forma, quando eu usar o comando PEDRO ..., ele vai
Alias <palavra>=‘<comando>’
realizar a ação do “rm -i”. Para o alias funcionar para sempre tu
tens que alterar no ~/.bashrc
Usado para filtrar coisas, por exemplo, se eu quero saber se existe
o usuário Pedro no sistema, eu posso pesquisar com grep Pedro
/etc/passwd, no caso quando eu quero usar ele com outros
comandos, por exemplo o find, eu posso usar com o |, ex: cat
/etc/passwd/ | grep Pedro
Grep -c mostra a quantidade de vezes que isso aparece
-i Ignore case
-n exibe as linhas encontradas numeradas
-v exibe as linhas que não correspondem
-E usado pra quando for procurar usando expressões mais
complexas
Como caso especial para o pipe, as vezes (entendi mais ou menos),
ele deixa a gente concatenar comandos, exemplo: grep -r Pedro
|
/etc/ | nl; dessa forma, o “nl” exibe a numeração de linhas,
enquanto o grep vai pesquisar por Pedro
Wc Conta quantas linhas, palavras e caracteres tem no arquivo
Locate É o comando que, assim como o find, localiza arquivos no geral
com um nome, porem funciona com um banco de dados e por
exemplo, se existe o arquivo “Pedro-.txt”, e eu consigo acha-lo
com “locate Pedro”, caso eu o apague com rm -rf Pedro-.txt,
quando eu usar o locate de novo ele vai aparecer de novo, por isso
é melhor usar o find 👍
Init Muda o nível de execução do sistema
Shutdown Desliga o pc, sendo -h para desligar e -r para reiniciar
Muda a senha do usuário, -l é usado para bloquear o usuário e -u
para desbloqueá-lo, -d é usado para excluir a senha, -x define a
Passwd <usuário> quantidade de dias em que a senha vai funcionar, -n muda a
quantidade de dias que o usuário tem que aguardar para mudar a
sua senha de novo, -S exibe o status da conta
Useradd Só adiciona um usuário, enquanto o adduser é um script
que cria várias coisas juntas. Para o useradd, -c define os gecos, -d
Useradd/Adduser
define o diretório home, -m faz com que seja criado e preenchido o
diretório home padrão , -s especifica o shell, -u especifica o uid
Userdel Apaga o usuário, e o -r recursivo apaga tudo sobre ele
Addgroup Cria grupos
Groupdel Deleta grupos
Gpasswd <chave> <usuário> Manipula os usuários nos grupos, -a para adicionar e -d para
<grupo> remover, sem chave você adiciona uma senha
Ps mostra os processos de forma estática e o top mostra de forma
Ps/top
dinâmica
É o comando que envia sinais para os processos, existem vários
Kill tipos de sinais, e o kill trabalha com o número deles, sendo o -9 o
de matar o processo, e quando está sem nada o sinal é de terminar
É o mesmo que o kill, porem responde pelo nome do processo ao
Pkill
invés do PID
É o mesmo que o kill, mas ao invés de usar números usa o nome
Killall
dos sinais, Ex: ao invés de -9, usara -kill
Killall5 É a mesma coisa que o kill, mas pra todo mundo
Comando que configura um valor de gentileza durante a criação de
Nice
um processo
Renice <valor a ser atribuído de
Comando que reconfigura um valor de gentileza após a criação
gentileza> -p <PID>
Comando que monta unidades e habilita para uso
Ex: sudo mount -t iso9660 /dev/cdrom /cdrom
Mount
-t é obrigatório, em seguida o sistema de arquivos usados pela
unidade. Em seguida o que ele vai montar e depois onde
Umount Desmonta as unidades> Umount /cdrom
Fuser Indica o usuário que está usando a unidade: fuser /cdrom, use -v
Ln -s <caminhodoarq_original> Cria links simbólicos, os quais funcionam como atalhos do
<caminhodoarq_link_simbolico> Windows
Ln <caminhodoarq_original>
Cria um hardlink, que funciona como um segundo arquivo
<caminhodoarq_link_simbolico>
Unlink Remove links
Setfacl Configura as ACL’s
Getfacl Exibe as configurações das ACL’s
Usermod Altera algumas características do usuário; -L bloqueia um usuário,
-U desbloqueia o usuário, -u altera o UID do cara, -s muda o shell
dele, -g muda o grupo principal dele, -l muda o nome da conta do
usuário para o login especificado, -G o adiciona em grupos
Mostra o tamanho do sistema de arquivos, df -h mostra os sistemas
Df
de arquivos montados atualmente, -i mostra os inodes
Mostra o tamanho de um diretório, -a mostra todos os arquivos, -h
Du
para formato humano, -s mostra só o resultado
Checa o sistema de arquivos. -A roda em todos os dispositivos
Fsck listados no /etc/fstab, -t especifica o tipo do sistema de arquivos, -c
verifica se tem bad block, -f força a verificação
Dump Reúne os arquivos para fazer backup, rdump é remoto
Restore Restaura um backup
Comando que reúne os arquivos em um só, com algumas chaves
ele faz a compactação, é tipo um zip. Ex: Numa pasta /arquivos
onde tem os arquivos a001, a002 e a003, se eu der tar -cvf eags.tar
a*, ele vai pegar todos os a* do diretório atual e criar um eags.tar
com eles.
Tar Se eu usar tar -cvf ele compacta, agora para descompactar eu
posso usar tar -xvf <nomedoarqcompactado> para retirar os
arquivos
Se eu usar tar -f <nomedoarqcompactado> --delete
<nomedealgumarquivoladentro> ele vai retirar,
Se eu usar -z junto eu posso criar um .tar.gz
Mostra as configurações dos dispositivos de rede atuais, ifconfig
eth0 10.10.10.1 netmask 255.0.0.0 up: Configura o eth0 para esses
padrões
Ifconfig Ifconfig enp0s3 up levanta a placa e ifconfig enp0s3 down derruba
a placa
Ifconfig enp0s3 hw ether 08:08:00:b0:b0:ca muda o MAC de uma
class já derrubadal
Mostra o status da rede, -r mostra a tabela de roteamento e -rn
mostra a tabela de roteamento com os DNS, -I mostra a tabela de
Netstat interfaces , -a exibe em todos os estados, -n mostra em números ao
invés de nomes, -p mostra o pid dos processos também, -s mostra
informações especificas, -v verbose
Exibe as entradas do protocolo arp na maquina
Arp
Arp -a mostra o gateway
Exibe ou altera o nome do host da rede, altera diretamente o
Hostname
arquivo /etc/hostname
Comando usado para alterar funções especificas de adaptadores de
rede. Ex: mii-tool -v eth0: verifica o estado atual do adaptador.
mii-tool
Ex2: mii-toll -force=100baseTx-FD eth0: Configura o adaptador
eth0 para 100Mb Full-Duplex
Estabelece rotas no computador, ele pode ser usado como um
roteador, adicionando ou removendo rotas
Route
Adicionando gateway padrão: Route add default gw
192.168.0.254
Ifdown Comando que desabilita os adaptadores de rede
Ifup Comando que habilita os adaptadores de rede
Mountd Comando usado para montar sistemas remotos
Portmap Faz mapeamento de portas de rede
Lpr Imprime arquivos. Lpr texto1.txt, imprime o texto1.txt
Lpstat Mostra o fila da impressão
Lprm Remove os trabalhos da fila de impressão
Vmstat Mostra o consumo do processador por processo
mpstat Mostra o desempenho de multiprocessamento do sistema
Uptime Mostra a quantidade de tempo que o computador ta ligado
Iostat Monitora o desempenho dos discos
Chown Muda o dono do diretório/arquivo
Chgroup Muda o grupo do diretório/arquivo
Baixa um arquivo de um url, wget <url> vai baixar o arquivo q tu
quer, pode-se usar o -T para especificar o caminho, “wget <url> -T
home/Downloads” -O vai renomear ao baixar, tem como fixar a
velocidade com o –-limit-rate=100k, o -C ele baixa o resto caso já
Wget
tenha sido baixada uma parte, com o -i ele baixa os arquivos que
tem o url listado dentro de um arquivo de texto, e para fazer o
download em segundo plano eu uso -b, para baixar um site inteiro
se usa -m
Mostra os dispositivos de armazenamento que a gente tem
Fdisk -l montado, ele normalmente é usado para gerenciar partições, pra
isso é só usar fdisk /dev/sb*
Reinicia a interface de rede pedindo uma nova configuração dhcp
Dhclient
caso tu tenhas feito merda
Obtém informações sobre os servidores DNS associados ao
Dig
domínio
Whois Mostra informações especificas sobre um dominio
Usado para substituir strings em arquivos, pode ser usado como
script ou no seco, tem seu próprio conjunto de comando
sed <opções> “comando” <arquivos>
Opções:
-f : O arquivo é um script
-g : trata todas as exceções e não só a primeira
Sed -i : Edita o arquivo, sem o -i ele só mostra como vai ficar
Comandos:
d: apaga linhas
s: realiza substituições
Exemplo: sed -i “s/Pedro/Laís/g” /etc/passwd
Esse comando vai substituir todas as ocorrências de Pedro para
lais
Abre uma área do terminal que vai executar uma série de
At comandos em um determinado horário, o -f permite que vc use um
arquivo pra isso
É como um tar, mas ele também compacta, para compactar é só
Gzip
usar gzip e o nome do arquivo, para descompactar é só usar gzip -d
Retorna a data atual. Se usar date +%d ele vai retornar só o dia
Date %m para minuto e assim em diante, date +%d%m%y%H%M, -s
vc ajusta o horário
É o instalador .deb q foi substituído pelo apt, -i instala, -r remove,
-c lista os arquivos dentro do pacote, -l lista todos os instalados, p
Dpkg
mostra detalhes sobre esses pacotes, -s mostra mais detalhes e se ta
instalado
Lsattr Mostra os atributos
Chattr Muda os atributos
Finger Mostra informações sobre os usuários
É o comando que faz a ordenação, padrão é alfabética, -n faz a
Sort ordem numérica, -o gera um novo arquivo, -r gera a ordem
reversa, -f ignora o caso, -M ordena por mês, -u tira as repetições
É o histórico dos comandos que eu usei, ficam armazenados no
History ~/.bash_history. !! referência o comando mais recente, !n refaz o
enésimo comando, -c limpa
Lsblk Mostra todos os devices conectados no linux
Mountpoint <dir> Ve se algo ta montado no diretório
Comando usado para mandar emails no linux pelo terminal, a
Mail forma mais fácil de fazer isso é “echo ’Corpo aquit’>> mail -s
“Assunto Aqui” pedro24253567@gmail.com
É o comando gerenciador do systemd, que gerencia quase tudo no
linux, esse comando é quem comanda o show do sistema de
gerenciamento de serviços do systemd. Pode ser usado com “stats”
Systemctl “show” “start” “stop” “restart” e outros, seguido do nome dos
serviços/daemons desejados
Systemctl status list-unit-files –-type=servisse mostra todos os
daemons e seus status
Blkid Mostra informações como UUID e formatação de um disco
É o comando que formata discos, ex: mkfs.ext4 /dev/sdb1 vai
Mkfs
formatar o disco sdb1 como ext4
Nslookup Útil para ver coisas sobre dns
Last Ve quem entrou e quem saiu
É o mesmo que o ifconfig e o Route,
Ip addr show mostra todas as intefaces de rede
Ip link set enp0s3 up levanta a placa
Ip link set enp0s3 down derruba a placa
Ip addr flush limpa as configurações
Ip addr add 172.16.25.100/24 enp0s3 atribui o ip
Ip addr del 172.16.25.100/24 enp0s3 remove o ip
Ip
Ip Route show mostra as rotas
Ip Route del 10.10.10.23/24 via 192.168.1.55 apaga rotas
Ip Route add 10.10.10.23/24 via 192.168.1.55 dev enp0s3 adiciona
rotas
Ip monitor monitora atividade das placas
Ip neighbour é usado para visualizar o MAC dos dispositivos
conectados

Anotações além de comandos:


 PID: É o ID do processo
 PPID: É o ID do processo pai
 UID: É o ID do usuário
 GID: É o ID do grupo
 SUID: é o UID que salva o estado atual do usuário, seja o processo que ele está fazendo
até seus PIDS
 SGID: É o UID que salva o estado atual do grupo, seja o processo que ele está fazendo
até seus PIDS
 EUID: É o UID das permissões atuais do usuário
 EGID: É o GID das permissões atuais do usuário

No usuário, no shadow, está escrito da seguinte forma:


<nome do usuário> : <senha criptografada> : <UID> : <GID> : <gecos> : <diretório inicial> :
<shell padrão>

Estados dos processos:

 Executável: Pronto pra executar.


 Dormente: Está aguardando algum recurso.
 Zumbi: Está tentando se destruir, como um processo que pegou kill -9
 Parado: Suspenso

Prioridade dos processos:


Funcionam com gentileza, quanto menos gentileza mais prioridade, quando mais gentileza,
menos prioridade

Shell:
É tipo a ordem/linha dos comandos que a gente usa, o padrão é o BASH. Chsh: É o comando
que muda o shell

Sistemas de arquivos Jornalados:


Tem a capacidade de recuperação e registro (log dos arquivos). Comando tune2fs: Transforma o
sistema de arquivos em arquivos jornalados

Agendamentos:
Usam os programas de agendamento, sempre com Cron
30 * 13 * 5 root useradd abreu
Minuto:Hora:Dia:Mês:D_semana:Usuario:Comando
Redes:

 Sar: Utilitario de rede que mostra o funcionamento das redes ao vivo


 TcpDump: Analisador padrão dos sistemas de rede
 Wireshark: Analisador de rede com interface visual
 Nmap: Scanner de portas de rede
LOGS:

 Logrotate: Utilitários de rodizio de logs


 Syslog: Sistema de registro de log do sistema considerado o mais abrangente

/etc/shadow:
usuário::senha_criptografada::ultima_mudança_de_senha::dias_até_que_a_senha_possa_ser_alt
erada::dias_até_que_a_senha_precise_ser_alterada::dias_de_aviso_antes_da_expiração_da_sen
ha::dias_entre_expiração_e_desativação::data_de_expiração::campo_livre
o comando usado para mudar essas informações é o chage

Diretórios específicos:

 /etc/passwd : É onde estão listados os usuários


 /etc/group : É onde estão as informações sobre os grupos
 /etc/sudoers : É onde estão os sudosos
 /etc/fstab: É onde contém a lista de todos os dispositivos do sistema de arquivos, tem
também a formatação de cada disco
 /var/spool/cron/crontabs: é onde estão os crons/ + ou –
 /etc/crontab : é onde entra mesmo os crons.
 /var/log e /var/adm : Diretórios normalmente utilizados para armazenar logs
 /var/log/wtmp : É onde estão armazenados os registros de login e logout
 /etc/apt/sources.list : É onde estão os repositórios
 /etc/hosts: Arquivo que mapeia endereços IP’s em nomes, praticamente um DNS
 /etc/resolv.conf: É o mesmo que o /etc/hosts, mas quando usamos um servidor, nele eu
posso mudar os DNS
 /etc/network/interfaces: É o arquivo que tem todas as configurações de rede
 /etc/init.d/networking: Pode ser usado isso mais stop/start/restart pra mexer no serviço
de rede
 /etc/nsswitch.conf: Determina a ordem de busca de quando determinadas informações
são requisitadas
 /etc/host.conf: Controla as funções de nomes em sistemas pré-glic2
 /var/log: É onde estão os logs do sistema;
 /var/log/Syslog.conf: é onde ficam os arquivo de configuração de logs
 /etc/rsyslog.conf: é outro de log
 ip/etc/networks: ip em nomes
 /sys/class/net: É onde tem os arquivos dos dispositivos de rede

Diretórios: Função:
Contém arquivos programas do sistema que são usados com frequência
/bin
pelos usuários.
/boot Arquivos estáticos e gerenciador de inicialização.
/dev Arquivos de dispositivos (periféricos).
/etc Arquivos de configuração do sistema, específicos da máquina.
/home Contém os diretórios dos usuários.
/lib Bibliotecas essenciais compartilhadas e módulos do kernel.
Ponto de montagem para montar um sistema de arquivos
/mnt
temporariamente
/proc Diretório virtual de informações do sistema.
/root Diretório home do usuário root.
/sbin Diretório que possui arquivos de inicialização e configuração críticos
/tmp Arquivos temporários
Contém a maior parte de seus programas. Normalmente acessível
/usr
somente como leitura.
Dados variáveis, como: arquivos e diretórios de spool, dados de
/var
administração e login, e arquivos transitórios.
/opt Aplicativos adicionais e pacotes de softwares.

Últimos comandos específicos:

Comandos: Função:
Mostra um resumo sobre o cache do apt, por exemplo quantos
Apt-cache stats
pacotes estão instalados
ldconfig Atualiza as bibliotecas, caso tenha sido adicionado alguma nova
Exibe o que vc escrever dps no terminar, se usar echo
Echo
$<nomedevariaveldeambiente> ele vai mostrar o conteúdo dela
Isso pode ser usado para mudar o conteúdo das variáveis de
PATH=$PATH:/novocaminho
ambiente
Env Mostra o conteúdo de todas as variáveis de ambiente
Corta uma parte do texto e exibe, sendo -c o caractere, -f[n] os
campos e -d[d] o delimitado, porexemplo, para imprimir as colunas
Cut
de 1 até 6, cut -c1-6 arq1, cut -d: -f3 arq1, vai imprimir o 3º campo
usando o caractere : como delimitador
Divide um arquivo em vários pedaços, -l especifica as linhas e -b
Split
especifica os bytes, ex: split -l 2 /etc/passwd-
Administra conjunto de multidispositivo, muito usando para fazer
Mdadm RAID. mdadm [modo] [nome_doarray] [opções]
[componentes_doarray]
Bg <PID> Coloca um processo em segundo plano
Fg <PID> Coloca um processo em primeiro plano
Jobs Lista as tarefas ativas
Dmesg Permite visualizar as mensagens do kernel do Linux
Lsmod Tras informações sobre os módulos (drivers) carregados atualmente
Lsdev Tras informações sobre o hardware do sistema
Mostra toda a configuração de hardware do sistema, com –short ele
Hwinfo
mostra algo menor
Lspci Tras informações detalhadas sobre os dispositivos pcis
Lsusb Listagem dos barramentos usb do sistema
Whereis Acha executáveis do sistema
Which Faz a mesma coisa que o whereis, n sei a diferença
Cria e extrai arquivamentos e copia arquivos de um local para
outro, um arquivamento é como um zip sem compactação, é só
uma porrada de coisa junta
Cpio
Cpio -o <opções> <arquivos> > <arquivamento>
Cpio -i < <arquivamento>
Cpio -p dir_destino <arquivos
Comando usado para converter e copiar arquivos
dd <entrada> <saída> <bloco> <opções>
opções: if=arquivo: lê a partir desse arquivo como entrada,
of=arquivo: saída do arquivo em vez do padrão, ibs: lê n bites por
vez, obs: grava n bites por vez
Exemplo: para gerar uma iso de um dvd: dd if=/dev/sr0
Dd of=/sdb1/imagem.iso bs=2048 conv=noerror, Sync;
Bs=2048 fala o tamanho dos blocos de bytes, conv=noerror, Sync
significa que ele vai ignorar erros e se faltar dados para completar o
bloco ele vai preencher com nulos
Pode ser usado para criar uma iso: assim:
dd if=/dev/sda of=/tmp/sda disk.img

Dumpe2fs Mostra informações sobre os superblocos


Stat <arquivo> Mostra informações sobre os arquiv
File Diz o tipo do arquivo, o -s fala sobre as partições
Bc É a calculadora do Linux
Abre uma lista de comandos, permitindo você fazer várias
operações ao mesmo tempo, por exemplo:
bc << EOF
> a1 = (2 + 3)
<< > a2 + (7 + 4)
> a1 + a2
> EOF
Fiz esse exemplo usando a calculadora, mas tu podias fazer com oq
tu quisesses
É usado para mostra o conteúdo de um arquivo em um formato
Od especifico, -d mostra o conteúdo em decimal, -b em octal, -h para
hexa, -c para ascii
Usado para mudar as configurações de expirações das contas dos
usuários no arquivo /etc/shadow, -d data da última expiração, -E
Chage data da expiração, -I número de dias para ser inativa, -l
informações relativas a essa expiração, -m tempo mínimo entre as
alterações de senha, -M máximo de tempo da senha
Mostra informações sobre o sistema, -a mostra tudo, -s o nome do
Uname kernel, -m nome da máquina, -p é o nome do processador, -o a
versão do SO
Pinky Mostra informações sobre os usuários, -l é a sainda loga
W É o mesmo que o pinky
Hwclock --show mostra a hora
Comando que faz vários comandos de uma vez, se for xargs -n 2
ele vai executar 2 de uma vez, tipo o seq q cria uma sequência, se
for executado junto com o xargs -n 2 ele vai dar echo em 2 por
linha, por exemplo eu tenho uma lista de nomes em um arquivo, se
Xargs
eu der cat arqsnomes | xargs -n 1 touch ele vai criar um arquivo
com o nome de cada.
E um find . -Name “r*” | xargs rm -rf, ele vai apagar todos os
arquivos do diretório atual que começam com R
Lscpu Mostra informações sobre os processadores
Usando para ver status de conexões rodando, tipo sistemctl status
Sistemctl
mysql
Ethtool Mostra informações sobre as placas ethernet
Tcpdump É um snipper de rede, sudo tcpdump -i enp0s3 udp (tcp)
Nmtui É um gerenciador de rede em modo gráfico no terminal

Configurar IP estático:
Para configurar precisamos acessar o /etc/network/interfaces, e inserir as seguintes
configurações:
“Ip addr” para mostrar as informações sem o “net-tools”
Allow-hotplug <nomeplaca>
Iface <nomeplaca> inet Static (dchp)
Address 192.168.1.1
Broadcast 192.168.1.255
Netmask 255.255.255.0
Gateway 192.168.1.1
Dns-nameservers 1.1.1.1 8.8.8.8

Raid no Linux:
Usamos o comando mdadm.

 Usando o /dev/sdb e /dev/sdc

1. Cria partições no disco que deseja fazer o raid, caso o /dev/sdb e /dev/sdc
a. Fdisk /dev/sdb
b. Após isso cria uma partição usando “n” para o disco todo omo “fd”, que é
o especifico para raid,
c. Fazer a mesma coisa para o sdc
2. O próximo passo é criar o RAID, mdadm –-create /dev/md0 –-verbose –-level=1 –raid-
devices=2 /dev/sdb1 /dev/sdc1
a. O – Create é pra criar
b. O /dev/md0 é o nome do raid
c. O -Verbose é pra mostrar mensagens durante a criação
d. O –Level é para especificar qual raid
e. O -raid-devices=2 é pra falar que são 2 dispositivos
f. O /dev/sdb1 /dev/sdc1 são os 2 dispositivos, e tem o 1 dps pc são partições
3. Agora o array já está up, mas para verificar como esta é usado o cat proc/mdstat
4. Depois adicionar o array ao arquivo de configuração do mdadm pra funcionar, usando o
comando mdadm -Es | grep md >> /etc/mdadm/mdadm.conf
5. Formatar o array: mkfs.ext4 /dev/md0
6. Montar o array, montando no /raid: mount -t ext4 /dev/md0 /raid

Atalhos linux
Ctrl + C: Interrompe qualquer processo
Ctrl + Z: Pausa qualquer processo

Metacaracterers:

. = f.b == “fab”, “feb”. Especifico


[A-Z] == “A”, “B”. Intervalo
M[^ae] == “mi”, “mo”, “mu”. Negação dentro de um intervalo
^abc = “abcde”. ^ representa o começo da linha
De$ = “abcde”. $ representa o final da linha

Exemplo de repetições:
* = item aparece 0 ou mais vezes
/+ = item aparece 1 ou mais vezes
/? = item aparece 0 ou 1 vez

 Laranja
 Laranjas
 Laranjass

Ex: Laranjas* = Laranja, Laranjas, Laranjass


Ex: Laranjas/+ = Laranjas, Laranjass
Ex: Laranjas* = Laranja, Laranjas

{x} : Item anterior aparece x vezes


{x,} : Corresponde ao menos x vezes
{x,y} : Corresponde entre x e y vezes

Expressões POSIX
[[:alpha:]] = equivale a a-zA-Z
[[:upper:]] = equivale a A-Z
[[:lower:]] = equivale a a-z
[[:digit:]] = equivale a 0-9
[[:allnum:]] = equivale a a-zA-Z0-9
[[:space:]] = equivale a “ “

Particionamento:
Fdisk -l : consulta os dispositivos de armazenamento instalados
O meu /dev/sdb não tem uma tabela de partições validas, pra isso, eu crio uma partição com o
fdisk /dev/sdb
Depois só apertar “n” pra criar uma nova partição e ir seguindo no padrão, ao final, eu posso
apertar fdisk /dev/sdb e depois apertar “p” para verificar a tabela de partições
Depois a gente precisa formatar o dispositivo com algum sistema, pra isso eu posso usar o
comando “mkfs.ext3”
Agora ele está pronto, mas eu ainda preciso montar ele pra poder usar, pra isso eu crio um
diretório “montagem” no raiz, depois eu uso o comando mount -t ext3 /dev/sbd /montagem
Agora está tudo lindo, mas se eu reiniciar o computador ele vai tirar o meu ponto de montagem,
pra deixá-lo permanente eu preciso mudar o sistema de configuração
Para isso, eu abro o /etc/fstab, lá tem configurações sobre os dispositivos montados, e eu preciso
montar lá, mas pra isso eu preciso do UUID da placa, eu posso conseguir isso digitando “sudo
blkid” no terminal, com o UUID eu posso adicionar

Formatar um disco:
É mt mole no Linux, é só eu usar mkfs.ext3 /dev/<nomedodisco>, se quiser usar outro padrão só
mudar la

Cotas:
Limite hard: usuário não pode exceder esse limite se n fica impossibilitado
Limite soft: É o aviso antes do limite hard
Período de tolerância: é o período após o limite hard onde ele ainda consegue gravar dados

Drivers:
São programas que servem de interface entre os hardwares específicos e o kernel do Linux
Diretório /sys
Facilita a troca de informações entre os programas que rodam no kernel como os drivers e os
programas que rodam no espaço do usuário
Módulos terminam com .ko

 Lsmod: lista informações sobre os módulos carregados


 Modinfos: fala sobre módulos específicos
 Insmod: carrega um modulo
 Rmmod: remove um modulo

Compilar e instalar programas a partir do código fonte no Linux:


1. Baixar o pacote de código fonte e desempacote-o
2. Ler a documentação
3. Configurar o ambiente com o script de configuração do bagulhete, normalmente
entrando no diretório e usando ./configure
4. Compilar com make
5. Instalar o pacote com sudo make install

Alterar fuso horário


1. Cd /user/share/zoneinfo
2. /etc/timezone tem o nome do atual, se vc mudar vai dar bom
3. /etc/localtime usado para traduzir entre a hora UTC e a hora local
4. Rodar o sudo tzselect também faz isso
5. Depois é só reiniciar a máquina ou exportar a variável
Baixar X Window System
A gente pode baixar com apt install x-window-system, simples, e podemos verificar a versão
com X -version
Instalando Ambiente de Desktop
Pra instalar a gente usa o apt install gnome, pra escolher essas interfaces a gente reinicia a
maquina e na hora de iniciar a sessão no gerenciador de sesa gente pode escolher, o wmctrl -m
nos permite saber qual ambiente de desktop estamos usando, apt install wmctrl para baixar-lo
Instalando gerenciadores de sessão
Apt install kdm, instala o gerenciador de sessão e na hora da instalação ele mostra a tela de
configuração para determinar o gerenciador de sessão padrão, para saber o gerenciador de
sessão padrão podemos olhar em /etc/X11/default-display-manager, e para alterar o padrão a
gente pode alterar esse mesmo arquivo, ou então usando o comando sudo Dpkg-reconfigure
kdm, ou o nome do gerenciador que vc quer usar
Backup
Entender o dado a ser feito o backup
Tempo de vida
Acesso
Validação
Método
RSYSLOG:
O arquivo etc/rsyslog.conf: é o arquivo onde tem as configurações do Syslog,
Para receber logs de outras maquinas em um servidor remoto, primeiro precisamos habilitar as
portas UDP no rsyslog.conf de quem vai receber, descomentando 2 linhas lá
Agora, na maquina que vai enviar os logs para a máquina receptora, precisamos criar o
arquivo /etc/rsyslog.d/log-remoto.conf, e primeiro colocar o que vamos enviar, sejam “*.*”
(tudo), “auth,authpriv.*” (todos de autenticação) e para onde depois, @<ip_dequemvaireceber>
Vai ficar assim no /etc/rsyslog.d/log-remoto.conf:
*.* @192.168.1.10

SSH:
É coisa de terminal remoto, podemos usar com <usuário>@<ipmaquina>, e para instalar
instalamos com apt install open-ssh
Anotações de rede Linux:
Ifconfig ta obsoleto mas posso usar na prova, agora é mais usado o “ip”

Configurar Gateway Linux:


Para isso, é importante que o servidor tenha duas placas de rede, uma para o roteador (brigde) e
outra para a LAN (intnet).
Primeiro, abrimos o servidor que vai ser um gateway e colocamos ele na rede mais abrangente,
para isso usamos “ip addr” para saber o ip das duas placas
Após isso, podemos deixar a rede que vai acessar a WAN em dhcp, mas a rede da LAN tem que
ficar com ip fixo, coloca 192.168.200.1 e network 192.168.200.0
Agora precisamos habilitar o serviço de redirecionamento de pacotes, para que o linux possa
servir como Router, para isso, vamos em “/etc/sysctl.conf” e remover o comentário da linha
“net.ipv4.ip_foward=1”
Agora, para dar certo mesmo, nos precisamos do IPTables para redirecionar os pacotes da
melhor forma, e pra isso nos vamos criar um script que rode sempre que o linux iniciar, para
isso, nós vamos criar o seguinte arquivo “/usr/local/sbin/gateway.sh”.
O script é o seguinte:
“#! Bin/bash
Iptables -A INPUT -m state –-state RELATED,ESTABILISHED -j ACCEPT
Iptables -A FOWARD -m state –-state RELATED,ESTABILISHED -j ACCEPT
Iptables -t nat -A POSTROUTING -o enp0s3 -j MASQUERADE // A interface é a que acessa a
WAN
Depois dar chmod +x para o script
Para fazer com que rode instantaneamente, “sudo nano /etc/systemd/system/gateway.service”, a
gente vai usar esse comando para criar isso no systemd que inicia junto com o linux
Dentro desse arquivo vamo ter:
[Unit]
Description=Gateway
After=network.target
[Service]
ExecStart=/usr/local/sbin/gateway.sh
[Install]
WantedBy=graphical.target
Pronto, agora só ativar, sudo systemctl enable gateway.service
Agora no cliente:
A gente precisa colocar o ip Static de 192.168.200.2, network de 192.168.200.0 e gateway
192.168.200.1
MySQL
Comandos: Função:

Create database Cria um banco de dados


Show databases Mostra os bancos de dados criados
Use <bd_name> Indica o banco de dados a ser usado
Create table Cria uma tabela
Show tables Mostra as tabelas existentes
Describre <tb_name> Mostra detalhe sobre os campos da tabela
Drop table <tb_name> Exclui uma tabela
Insere dados em uma tabela, pode ser usado com um select:
Insert into <tb_name>
INSERT INTO Customers (CustomerName, City, Country)
(<nomedoscampos>) values
SELECT SupplierName, City, Country FROM Suppliers;
(<valoresparacadacampo>)
Load data infile
‘/home/Pedro/texte.txt’ into table Insere dados em uma tabela por um arquivo
<tb_name> Fields terminated by ‘:’;
Insere colunas em uma tabela pode-se colocar “after
Alter table <tb_name> add
<colum_name>” para coloca-la depois de uma coluna
<colum_name>
especifica
Alter table <tb_name> drop
Remove colunas de uma tabela
<colum_name>
Alter table <tb_name> modify Modifica um campo da tabela, para colocar um not null q n
<colum_name> tava la por exemplo
Alter table <tb_name> change
Faz a mesma coisa que o modify, mas permite mudar o nome
<colum_name>
Update <tb_name> set
Atualiza os valores, tipo update usuário set nome=’Jao’,
<colum_name>=’<value>’ Where
email=’jao@gmail.com’ Where id=2
<colum_name>=’<value>’
Define um numero de execuções, tipo, caso tivessem mais de 2
ids 2 no exemplo anterior, eles ocorreriam as 2 vzs, se eu
colocasse limit 1, ele só aconteceria uma vez
Limit <n>
Offset: A gente usa pra mostrar meio que o começo, por
exemplo: select * from questão limit 5 offsets 10, assim, ele
vai mostrar do 10 até o 15
Define mais de um valor, tipo, update usuário set
In() nome=’eduarda’ Where id in(1,6), vai fazer a alteração onde o
id for 1 e 6
É como se fosse um delete inteiro, ou seja, apaga a tabela
Truncate
inteira, e tira todo o “cache” da tabela
Select Seleciona os dados
 Select <colums> from <tb_name>: Seleciona as
colunas especificas de uma tabela especifica
 Select <colums> from <tb_name> Where
<colum>=<value>: O Where especifica uma condição
 Select concat(‘Materia: ‘, matéria) from <tb_name>
Where <colum>=<value>: O concat concatena os
textos com campos e tals
 Select concat(‘Materia: ‘, matéria) as ‘Materias’ from
<tb_name> Where <colum>=<value>: O “as” dá um
nome especifico para a coluna
 Select q.matéria q.id from questões q: O “q”
funcionaria como um alias
Funciona como um ==, por exemplo:
Select id_questao, matéria from questão Where matéria like
‘Direito trabalhista’;
A diferença do like pro = é que é possível usar operadores
como %, [A-Z], _,
LIKE
O like pode ser precedido com um “not” negando a saída, e
também com mais de uma condição, usando um “and” e a
próxima condição. Ex:
select id_questao, matéria from questão Where matéria like
‘_ire%’ and matéria like ‘%ta’;
Fazem comparações:
 < menor: select id from questão Where id < 5
 > maior: select id from questão Where id > 5
 <= menor igual: select id from questão Where id <= 5
 > maior igual: select id from questão Where id >= 5
 != / <> diferente: : select id from questão Where id !=
5
Operadores de comparação
 Is null /  verifica se um campo é nulo: select id
from questão Where matéria is null
 Between entre uma coisa e outra: select id from
questão Where id between 5 and 10
 In() especifica os que eu quero: select id from questão
Where id in(5,10)

Fazem comparações:
 And / && é o E logico: select id from questão Where
id>5 and id<10;
 or / || é o OU logico: select id from questão Where
id=5 or id=10;
Operadores Lógicos
 xor é o XOU logico: select id from questão Where
id=5 xor id=5;
 not / ! é o NÃO logico: select id from questão Where
id not int (5, 10, 11);

Realizam contas
Operadores aritméticos  + : soma | * : multiplicação | / : divisão | / -subtração |
%: Módulo
MIN = valor mínimo, MAX = valor máximo, AVG = Média
aritmética, SUM = soma total, COUNT = total de linhas.
Ex: select min(id) from questão
Funções de Agregação Ex: select max(id) from questão
Ex: select avg(id) from questão
Ex: select sum(id) from questão
Ex: select count(id) from questão
https://dev.mysql.com/doc/refman/8.0/en/mathematical-
Funções Matemáticas functions.html, aqui tem todas as funções
ceiling: Arredonda pra cima, ceiling(4.5) = 5
floor: Arredonda pra baixo, floor(4.5) = 4
power: Potenciação, power (4,2) = 16
sqrt: Raiz quadrada, sqrt(9) = 3
truncate: elimina casas decimais, truncate(9.999,1) = 9.9
Faz a ordenação, por exemplo:
select matéria from questão order by matéria: Vai retornar tudo
em ordem alfabética
select matéria from questão order by matéria desc: Faz o
Order by mesmo só que decrescente
select matéria from questão order by matéria asc, questão desc:
Vai retornar todas as matérias em ordem crescente, e quanto
elas se repetirem as questões delas vão estar em ordem
decrescente
Agrupa dados, exemplo:
Group by
select matéria, Count(*) from questão, group by matéria
Existe por que o WHERE n permite funções agregadas, tipo:
SELECT COUNT(CustomerID), Country
FROM Customers
Having
GROUP BY Country
HAVING COUNT(CustomerID) > 5;

Ve se existe né carai kkkkkkkkkkkk


Ele retorna verdadeiro se a query feita nele resultar em pelo
menos uma “record”
SELECT SupplierName
EXISTS
FROM Suppliers
WHERE EXISTS (SELECT ProductName FROM Products
WHERE Products.SupplierID =
Suppliers.supplierID AND Price < 20);
A instrução CASE verifica condições em ordem e retorna um
valor assim que a primeira condição é satisfeita, muito
parecido com uma declaração if-then-else. Portanto, uma vez
que uma condição é avaliada como verdadeira, o CASE para
de verificar as outras condições e retorna o resultado.
CASE SELECT OrderID, Quantity,
CASE
WHEN Quantity > 30 THEN 'The quantity is greater than 30'
WHEN Quantity = 30 THEN 'The quantity is 30'
ELSE 'The quantity is under 30'
END AS QuantityText
Comentarios :) É feito com --

Como criar uma tabela:


Create table <tb_name>(
Id_user int(3) unsigned unique auto_increment primary key,
Nome varchar(30) not null,
Email varchar(30) not null,
Datanasc date not null,
Sexo enum(‘M’,’F’)
);

Unsigned: impede que a tabela armazene valores negativos


Not null: impede que o campo esteja vazio
Unique: faz com que o valor não possa se repetir
Auto_increment: faz com que o valor seja incrementado automaticamente

Tipos de variáveis em MySQL:

Tipos Numéricos Tamanho

TINYINT 1byte

SMALLINT 2bytes

MEDIUMINT 3bytes

INT 4bytes

BIGINT 8bytes

FLOAT 4bytes

DOUBLE 8bytes

Tipos Data e Hora Tamanho

Date YYYY-MM-DD

Time Hh:mm:ss

Datetime YYYY-MM-DD hh-mm-ss

Timestamp YYYY-MM-DD hh-mm-ss

YEAR YYYY

Tipos String Tamanho

Char Entre 0 e 255

Entre 0 e 65535, pode se atribuir um valor


Varchar fixo a ele

Text Entre 0 e 65535

Enum Apenas um valor de uma lista preexistente


Charsets e collations:
São conjuntos de caracteres como o Unicode e UTF-8, os mais usados são charsets utf8mb4 e
collation utf8mb4_general_ci

Para ver os charsets disponíveis podemos usar show charset;


Caso eu queira mudar o charset e os collations do meu banco de dados eu posso rodar o
comando alter database <dbname> charset=<charsetname> collate=<collatename>

Na hora de colocar em uma tabela, a gente pode fazer o seguinte:


create table <tbname>(
Nome varchar(20)
) default charset uft8;

Na hora de colocar em um campo especifico a gente pode fazer o seguinte:


create table <tbname>(
Nome varchar(20) charset utf8mb4
);

Backup no Mysql Workbench


Salvar: Server > Data Export > Escolher banco de dados > Marcar “Export to self-contained
file” e “Include Create Schema” > Create
Restaurar: Server > Data Import > Marcar “Import to self-contained file” > Start import
Anomalias:
São problemas que ocorrem em banco de dados mal organizados e mal planejados, não
normalizados no caso, geralmente ocorrem por excesso de dados armazenados em uma tabela.
Existem 3 principais tipos de anomalias:
Anomalias de inclusão:
Ocorre quando tenta incluir um dado, por exemplo: Não deve ser possível adicionar um dado a
não ser que outro dado esteja disponível, como o exemplo de não ser permitido cadastrar um
livro sem que tenha algum autor cadastrado
Anomalias de exclusão:
Ao excluirmos um registro, os dados referentes a ele em outra tabela também são excluídos
Anomalias de modificação
Ao alterar um dado de uma tabela, os mesmos precisam ser alterados nos dados referentes em
outras tabelas
Dessa forma, para eliminar as anomalias, precisamos projetar as relações no banco de dados, de
forma que não haja nenhuma dessas anomalias, para isso, usamos o processo de Normalização

Normalização

A normalização consiste em um processo de análise feita para assegurar que seja bem formada,
decompondo relações com anomalias para produzir relações menores e bem estruturadas, ou
seja, um banco de dados node conseguimos incluir, excluir e modificar dados sem gerar
anomalias
Os principais objetivos da normalização são analisar esquemas com base em suas dependências
funcionais e chaves primarias para minimizar as redundâncias e minimizar as anomalias
São dividas em 3 formas normais, FN1, FN2, FN3
Primeira forma normal (FN1):
É o processo de reprovar atributos multivalorados, compostos e suas combinações, ou seja,
valores redundantes
Uma tabela esta na primeira forma normal quando: Somente possui valores atômicos, não há
grupos de atributos repetidos, existe chave primaria e não há tabelas aninhadas. Ex: O campo
endereço é multivalorado, pois ele possui Rua, número, CEP. Esses dados são atômicos
Segunda forma normal (FN2):
Funciona no conceito de Dependencia funcional total, e todas os campos não PK for total e
funcionalmente dependente da chave primaria

Terceira forma normal (FN3):


Baseada no conceito de dependência transitiva, a relação não deve ter um atributo não chave
determinado funcionalmente por outro atributo não chave. Não deve haver dependência
transitiva de um atributo não chave sobre a PK;
JOINS:
INNER JOIN: Pega a interseção dos 2 conjuntos
OUTER JOIN: É o complemento da interseção
LEFT JOIN: Ele vai trazer a interseção e a tabela esquerda
RIGTH JOIN: Ele vai trazer a interseção e a tabela direita
FULL JOIN: Traz tudo
SEMI JOIN: Pega os dados da tabela da direita que estão na interseção
Semantica: SELECT <campos> FROM <tabela1> JOIN <tabela2> ON <PKtabela1> =
<FGtabela2>
Exemplo> SELECT first_name, last_name, adress FROM customer JOIN adress ON
customer.adress_id = adress.adress_id;
Nessa query, queremos os nomes e o endereço de um consumidor, mas o endereço esta na tabela
adress, para junta-las, usamos o JOIN e colocamos o “ON” para fazer a referencia de qual
registro se refere a qual

PHP
Comandos: Função:

Echo Exibe textos na tela


Print Também exibe textos na tela
// | /* */ Cria comentários
<?php ... ?> Abertura e fechamento do php
O $ inicia as variáveis, as variáveis só podem iniciar com letras
$var maiúsculas ou minúsculas e o _, além de não poderem ter
caracteres especiais no meio
Var_dump() Mostra informações sobre variáveis
Is_string() / is_float() / is_int() Retorna um booleano
A aspas duplas são usadas para dinamismo, exemplo:
$nome = Pedro;
Echo “Meu nome é $nome”
“”,’’ Isso vai retornar “Meu nome é Pedro”, agora:
Echo ‘Meu nome é $nome’
Isso vai retornar “Meu nome é $nome” pois as aspas simples são
usadas para literalismos.
. É o operador de concatenação.
$nome = Pedro;
Echo ‘Meu nome é’ . $nome;
Isso vai retornar “Meu nome é Pedro”, mesmo que as aspas simples
sejam literais
Global $var Define a variável como global para problemas de escopo
Define uma constante, o nome normalmente é em capslock, elas
Define(“<nome>”, “<valor”);
sempre são globais
Define um array, exemplo:
$carros = array(“veloster”,”Hilux”,”BMW”);
Pode se especificar ainda os índices
$carros = array(1 => “veloster”, 2 => ”Hilux”, 3 => ”BMW”);
Array(“...”, “...”, “...”)
Para adicionar valores em um array é muito fácil, usando o array
carros como exemplo, se eu fizer
$carros[] = “Amarok”;
O Amarok será automaticamente adicionado no final do array
Printr Exibe um array
Count() Exibe o tamanho de um array
É um loop para exibir o valor de um array, exemplo:
foreach ($carros as $valor){
Foreach
echo $valor;
}
Um array é associativo quando suas chaves são strings, Ex:
$pessoa = array(“nome” => “Pedro”, “idade” => 18);
Array Associativo Uma forma de exibir isso como um índice é
foreach ($pessoa as $indice => $valor){
echo $indice . “:” . $valor . “<br>”;
Um array é multidimensional quando tem um array dentro de um
array, Ex:
$times = array(“cariocas” => array(“botafogo”, “vasco”,
Array Multidimensional
“fluminense”), “paulistas” => array(“São Paulo”, “Palmeiras”,
“Santos”));
Echo times[“cariocas”][0]
$GLOBALS
$_SERVER: Contém informações e exibe arquivos
$_REQUEST
$_POST
Superglobais $_GET
$_FILES
$_ENV
$_COOKIE
$_SESSION
$GLOBALS Define uma variável como global
É usada para pegar dados de um formulário, na hora de fazer o
formulário tu coloca o “action=<nomedophp>” e “method=POST”
$_POST Quando estiver no arquivo php para pegar o valor de um campo do
formulário e adiciona-lo em uma variável é só fazer $var =
$_POST[“<camponamedoinput>”]
É a mesma coisa que o post, porem na tu vai substituir todos os
$_GET post por get, a principal diferença é que os valores vão ser passados
pela URL
Filtros da validação Usamos com a função filter_input e filter_var,
para o filter input nos usamos ex:
$idade = filter_input(INPUT_POST, “idade”,
FILTER_VALIDATE_INT) assim, a gente consegue verificar se o
valor inserido no input é um inteiro, e existem vários filtros
O FILTER_VALIDATE_INT verifica se é um inteiro
O FILTER_VALIDADE_EMAIL verifica se é um email
O FILTER_VALIDADE_FLOAT verifica se é um float
O FILTER_VALIDADE_IP verifica se é um ip
O FILTER_VALIDADE_URL verifica se é uma url
Esses são os filtros de validação
Já os filtros de sanitização são os que limpam
O FILTER_SANITIZE_SPECIAL_CHARS retira as tags html
O FILTER_SANITIZE_INT retira os textos
O FILTER_SANITIZE_EMAIL retira o que é fora do email
O FILTER_SANITIZE_URL retira tudo oq n é URL

Isset Ve se foi criado o objeto com o name


Base64_encode(<text>) /
Codifica e decodifica a senha do usuário;
base64_decode(<text>)
Faz o mesmo que o base64, porém é de mão única e menos segura,
Md5() para fazer a verificação vc tem que comparar as senhas
criptografadas, o mesmo ocorre com sha1();
É o mais seguro atualmente, é só fazer:
$senhasegura = password_hash($senha, PASSWORD_DEFAULT);
E para fazermos a verificação, podemos usar a função
$password_hash
password_verify($senha, $senhasegura);
supondo que a senha segura seja a que tava no bd e a senha a que o
usuário digitou
É de forma simplificada um arquivo de texto armazenado no
computador do usuário que contem algumas informações, para
criar um cookie usamos o comando “setcookie(“user”,”Pedro”,
$_COOKIE time()+3600);
Sendo assim, eu criei um cookie chamado user, com o conteúdo
Pedro, que vai ficar disponível por 3600 segundos, para remove-lo
é só colocar o – na hora da validade
Retorna informações sobre datas:
d: dia em inteiro
D: dia em textual
M: retorna o mês com 2 dígitos
m: Retorna o Mês no modo textual
y: Retorna o ano com 2 digitos
Y: Retorna o ano com 4 digitos
Date() l: dia da semana
h: horário no formato 12hrs
H: horário no formato 24hrs
i: Minutos
s: segundos
Porém é recomendável que sempre setemos a hora antes de usa-la,
e isso podemos fazer com
date_default_timezone_set(“America/Sao_Paulo”);
Retorna a quantidade de segundos que passaram desde 1970 até
Time()
agora
O mktime pode ser usado em conjunto com o date para mostrarmos
a hora que quisermos no formato que quisermos. Por exemplo:
$data_pagamento = mktime (15(hora), 30(minuto), 00(segundo),
Mktime()
02(mês), 15(dia), 2023(ano));
Parar exibir podemos fazer>
echo date(“d/m – H:i”, $data_pagamento)
Strtotime() Converte uma string em uma data, tipo, tu pega a data de um banco
de dados no formato “YYYY-mm-dd” mas vc quer formata-la, é
possível usar $datanew = strtotime($data);
Echo date(“d/m/Y”, $data);
Podemos manipular arquivos em php, para isso, é recomendável
que criemos uma variável com o caminho do arquivo, tipo
“$arquivo = “../arquivo.txt”;”
Depois precisamos abri-lo, “$arqopen = fopen($arquivo,”r”);”
Fopen() abre o arquivo
Manipulação de arquivos Fwrite() escreve no arquivo “fwrite($arquivo, $conteudo)”;
Fclose() fecha o arquivo
Feof() indica o final do arquivo
Fgets() pega uma linha do arquivo, “$linha = fgets($arqopen,
$tamanho_do_arq);”
Filesize() retorna o tamanho do arquivo;
É uma consulta que retorna um valor verdadeiro ou n, muito usado
dentro de if’s, por exemplo
$string=”abc”
$padrão= “/^a c$/ ”
if(preg_match($padrão, $string){
Echo “valido”; } else {
Echo “invalido; }
Regras para padrão: Os padrões devem sempre estar entre 2 “/”. ^
indica o início da string, $ indica o final de expressão, [a-z] indica
Preg_match($padrão, $string)
um conjunto, “/i” O “i” após a barra tira o case sensitive, “{x,y}”
indica a quantidade de caracteres, exemplo, “/[a-z0-9]/i” só
corresponderia valido caso fosse só um caractere, para aumentar a
quantidade podemos fazer o seguinte “/[a-z0-9]{1-4}/i” agora
aceita de 1 a 4 caracteres, ocorrências: ?aceita uma ou nenhuma
ocorrência, *aceita nenhuma o mais ocorrências, +aceita uma ou
mais ocorrências, o “\” faz com que o caractere a seguir ganhe
sentido literal, exemplo de padrão para email:
“/^[a-z0-9.\-\_]+@[a-z0-9.\-\_]+\.(com|com.br|br)$/i”
Class É o que usamos para definir uma classe em PHP
Atributos Podem ser public, private ou proteged
Metodos Abrimos com function
New É usado para instanciar uma classe
É usado para atribuições ou usar metodos, por exemplo a classe
pessoa possui o método falar, e o atribuito nome
 $pedro = new Pessoa();
$Pedro->nome= “Pedro Henrique Silva”
Pedro->falar();

Funções de arrays:

 Is_array($array) : Verifica se uma determinada variável é um array


 In_array($valor, $array) : Verifica se um valor está dentro de um array
 Array_keys($array): Retorna um novo array usando as chaves do primeiro
 Array_values($array): Retorna um novo array usando os valores do primeiro
 Array_merge($array1, $array2): Agrega o conteúdo de dois arrays
 Arary_pop($array): Exclui o ultimo valor de um array
 Array_shift($array): Exclui o primeiro valor de um array
 Array_unshift($array, $valor): adiciona um ou mais valores no começo de um array
 Array_push($array, $valor): Adiciona um ou mais valores no final de um array
 Array_combine($keys, $valor): Mescla os dois arrays passados
 Explode(“/”, “20/11/2021”) = Transforma valores em arrays
 Implode(“-“, $array): Transforma arrays em valores

Funções de Strings:

 Strtoupper: deixa tudo em maiúsculo


 Strtolower: deixa tudo em minúsculo
 Substr: retorna uma parte da string a partir de uma posição, substr($mensagem, 4, 4)
 Str_pad: Adiciona caracteres em uma string, str_pad(“mouse”, 10, “*”,
STR_PAD_LEFT);
 Str_repeat: Repete uma string x vezes
 Strlen: Retorna o comprimento de uma string
 Str_replace: Substitui uma palavra em um texto, str_replace(“Argentina”, “Brasileira”,
$texto);
 Strpos: exibe a posição de uma palavra, strpos( $texto, “copa”);

Funções de Numeros:

 Number_format: Formata as casas decimais, $nform = number_format($num, 2, “,” ,


“.”), sendo “,” o separador decimal e “.” o outro
 Round: Arredonda os números, 3.4 = 3, 3.6 = 4
 Ceil: Arredonda pra cima
 Floor: Arredonda pra baixo
 Rand: gera números aleatórios de x à y, rand(x,y)
Upload de Arquivos
O 1º passo para conseguir fazer upload de um arquivo é, na hora de abrir o formulário adicionar
além do “action=php.php method=”POST”” o “enctype=”multipart/form-data””, a seguir, o
código fica assim:

if (isset($_POST["enviar"])) {

$formatos = array("png", "jpg", "jpeg", "gif");


$extensao = pathinfo($_FILES["arquivo"]["name"],
PATHINFO_EXTENSION); // pathinfo vai me retornar uma informação sobre o
arquivo enviado, para isso eu passo os parametros sendo arquivo o nome do input, o
PATHINFO_EXTENSION diz que tipo de informação eu quero receber

if (in_array($extensao, $formatos)) {
$pasta = "Arquivos/"; // Especifica o local
$temporarios = $_FILES["arquivo"]["tmp_name"]; // ta retornando o tmp
name de arquivos
$novonome = uniqid() . ".$extensao"; // uniqid gera um nome unico

if (move_uploaded_file($temporarios, $pasta . $novonome)) {


echo "Upload feito com Sucesso";
} else {
echo "Arquivo Inválido";
}
} else{
echo "Não existe";
}

Sessões:
As sessões são como “salas”, onde um navegador de um usuário especifico vai gerar um ID para
a sessão, e isso vai fazer com que as informações da sessão sejam compartilhadas entre paginas
de um mesmo dominio enquanto a sessão estiver ativa
Para inciar uma sessão, usamos um “session_start()”, após isso, damos um nome pra sessão,
assim: “$_SESSION[“carro”] = “Veloster””;
Para limparmos a sessão usamos “session_unset()” e para destruí-la usamos “session_destroy()”
PHP ORIENTADO A OBJETOS:
Criação de classes:
Class <nomeclasse>{}

Criação de atributos:
public/private <nomeatributo>

Para referenciar um atributo dentro de uma classe, usamos $this->[nomeatributo];


Para criar um novo objeto de uma classe, fazemos $<nome_var> = new <nomeclasse>();

Getter e Setter:
Para instanciar valor a um atributo de uma classe fazemos o seguinte: $<nome_var>-
><atributo> = <valor>;
Porem esse método de atribuição não é o mais adequado a ser feito, já que para isso precisamos
que o atributo seja “public” O
O mais interessante disso é que podemos filtrar os valores, e implementar funções dentro dele.
O ideal a ser feito é a colocar os atributos em private e criar os métodos getters e setters,
Exemplo:

public function getEmail(){


return $this->email;
}
public function setEmail($email){
$this->email = $email;
}

Herança:
Herança é um recurso que permite que classes compartilhem atributos e métodos a fim de
aproveitar código e comportamento genéricos, então, ao invés de fazermos

Class carro {

public $modelo;
public $cor;
public $ano;

public function Andar(){

}
public function Parar(){
}
}

Class moto {

public $modelo;
public $cor;
public $ano;

public function Andar(){

}
public function Parar(){

}
}

É melhor que façamos:

Class Veiculo {
public $modelo;
public $cor;
public $ano;

public function Andar(){

}
public function Parar(){

}
}

class Carro extends Veiculo{

class Moto extends Veiculo{

}
Modificadores de acesso:

 Public: permite acessar os atributos e métodos de dentro e fora da classe;


 Protected: permite acessar os atributos e métodos de dentro das classes filhas e não
permite acessar de fora da classe;
 Public: permite acessar os atributos e métodos dentro do escopo da classe, não para as
classes filhas nem para fora da classe;

Abstração:
É quando uma classe serve apenas de modelo para outras classes, onde não se definem funções
especificas, e sim gerais, o mesmo para as funções, já que elas só serem descritas nas classes
filhas, mas para os métodos, eles precisam necessariamente serem definidos em suas classes
filhas. Assim como este exemplo:

<?php

abstract Class Banco{

protected $saldo;
protected $limite;
protected $saque;

abstract protected function Sacar();


abstract protected function Depositar();

class itau extends Banco{

public function Sacar(){


echo "Sacou";
}

public function Depositar(){


echo "Depositou";
}
}

class Bradesco extends Banco{

public function Sacar(){


echo "Sacou";
}
public function Depositar(){
echo "Depositou";
}
}

$itau = new itau();


$itau->saldo = 1000;

Constantes:
Para criar uma constante é muito simples, só usar “const <nome>”, para referenciar essa
constante, usamos “self::<nome>”, o self se refere a constante com o determinado nome dentro
da classe, se por acaso tiver uma constante com o mesmo nome na classe pai, podemos
referencia-la com “parent::<nome>”

Métodos estáticos:
Em métodos estáticos, não precisamos instanciar objetos de classes para usar seus métodos,
podemos usar direto

<?php

class login {

public static $user;

public static function verificalogin(){


echo "O usuario ".self::$user." está logado";
// Como o atributo é estatico, usamos "self" ao invés de
"this";
}
}
//Como é um atributo estatico não precisamos instancia-lo;
login::$user = "admin";

//Como é um metodo estatico não precisamos instancia-lo;


login::verificalogin();

Polimorfismo:
É quando um método obtém comportamentos diferentes em cada classe

<?php
class Animal{
public function andar(){
echo "O animal andou";
}
}

class Cavalo extends Animal {


public function andar(){
echo "O cavalo andou";
}
}

$animal = new Cavalo;


$animal->andar();

Interfaces:
É o que usamos para atribuir um modelo a outras classes, definimos com “interface <nome>”
para uma classe implementar a interface é simples, “class <nome> implements <interfacenome>

<?php

interface CRUD {
public function create();
public function read();
public function update();
public function delete();
}

Class noticias implements CRUD{


public function create(){
// lógica devida
}
public function read(){
// lógica devida
}
public function update(){
// lógica devida
}
public function delete(){
// lógica devida
}
}
NameSpaces:
É usado quando temos por exemplo, 2 arquivos separados que são juntos em 2 requires de um
index, nesses arquivos, ambos tem a classe produto, então na hora de instanciar um objeto dessa
classe na index daria um conflito, para isso, em cada arquivo daremos um namespace, supondo
que em uma escrevemos “namespace classes” e em outro “namespace modelos”, para
instanciarmos, usaríamos o seguinte: “$produto = new \classes\Produto()

Tratamentos de Exceções:
Exceções são os erros e mensagens do php, nos podemos trata-los, seja criando exceções e até
manipulando

<?php
// São ocorrencias anormais que afetam o processo da aplicação
// message, code, file, line

class news{
public function cadastraremail($email) {

if(!filter_var($email, FILTER_VALIDATE_EMAIL)){
throw new Exception ("Este email não é valido ", 1);
} else {
echo "esse email ta safe";
}

$news = new news();


$news->cadastraremail("Pedro@");

Throw new Exception é o que usamos para criar uma nova exceção, o numero ali do lado é o
numero do tipo da mensagem

Dessa forma nós conseguimos criar exceções, mas agora se quisermos trata-las, usamos try e
catch, assim:

$news = new news();


try {
$news->cadastraremail("Pedro@"); }
catch (Exception $e){
echo "Mensagem: " . $e->getMessage(). "<br>";
}

Trocando só a ultima parte do código por isso no caso, o código vai tentar executar o que ta no
try, se resultar em algum erro ou exeção ele vai pro catch, e dentro dos parênteses criamos a
variável $e que vai ser a referencia das exceções, podendo usar métodos como o
“getMessage()”, “getCode()”, “getLine()”, “getFile()”
Relação entre objetos:
Associação:
Acontece quando o objeto “utiliza” o outro, porém, sem depender um do outro

<?php

class pedido{
public $numero;
public $cliente;
}

class cliente{
public $nome;
public $endereço;
}

$cliente = new cliente();


$cliente->endereço = "Rua Altaneira";
$cliente->nome = "Pedro";

$pedido = new pedido();


$pedido->numero = 2;
$pedido->cliente = $cliente;

$dados = array("numero" => $pedido->numero, "nome" => $pedido-


>cliente->nome, "endereço" => $pedido->cliente->endereço);

var_dump($dados);

Agregação:
Acontece quando uma classe precisa da outra para executar ação sua, ou seja, a classe utiliza
alguma outra ou a si própria;
<?php

class Produtos {
public $nome;
public $valor;

function __construct($nome, $valor){


$this->nome = $nome;
$this->valor = $valor;
}
}

class Carrinho {
public $produtos;

public function adiciona(Produtos $produto){


$this->produtos[] = $produto;
}

public function exibe(){


foreach ($this->produtos as $valor){
echo $valor->nome;
echo $valor->valor;
}
}
}

$produto = new Produtos ("Lapis" , "1500");


$produto2 = new Produtos ("Telefone" , "500");

$carrinho = new Carrinho();


$carrinho->adiciona($produto);
$carrinho->adiciona($produto2);
$carrinho->exibe();

Composição:
Na composição, uma classe cria a instancia de outra classe dentro de si própria, sendo assim,
quando ela for destruída, a outra classe também será.

<?php

class Pessoa {
public function atribuiNome($nome){
return "O nome da pessoa é ". $nome;
}
}

class Exibe {
public $pessoa;
public $nome;

function __construct($nome) {
$this->pessoa = new Pessoa;
$this->nome = $nome;
}

public function exibeNome(){


echo $this->pessoa->atribuiNome($this->nome);
}
}

$exibe = new Exibe("Pedro");


$exibe->exibeNome();

Métodos Mágicos:
Construtor:
É inicializado automaticamente ao instanciar um objeto, permitindo que já coloquemos os
valores dos atributos ao instanciar, sem ter que usar os getters e setters
Para definir um construtor, fazemos o seguinte, “public function __construct()”, um exemplo a
seguir

<?php

Class login{

private $email;
private $senha;

public function __construct($email, $senha){


$this->setEmail($email);
$this->setSenha($senha);
}

public function getSenha(){


return $this->senha;
}
public function getEmail(){
return $this->email;
}
public function setEmail($email){
$email = filter_var($email, FILTER_SANITIZE_EMAIL);
$this->email = $email;
}
public function setSenha($senha){
$this->senha = $senha;
}

public function Logar(){


if($this->email == "teste@gmail.com" and $this->senha ==
"123"){
echo "Logado com Sucesso";
} else {
echo "Erro ao Logar";
}
}
}

$logar = new login("teste@gmail.com", "123");


$logar->Logar();

Clone:

<?php

class Pessoa {
public $idade;
}

$pessoa1 = new Pessoa();


$pessoa1->idade = 35;
$pessoa2 = clone $pessoa1; // se n tivesse o clone ali ele
exibiria o 35 no echo, mas como o pessoa2 é um clone de pessoa 1
ent ele aparece
$pessoa2->idade = 25;

__set() e __get():
É como se fosse uma forma mais simples de usar os getters e setters, por mais que eles só
funcionem em um atributo, pois não podem se repetir, são muito usados para tratar arrays de
uma forma dinâmica, já que na hora de atribuir ou exibir não precisam ser chamados os métodos
getters e setters, assim:

class pessoa {
private $dados = array();

public function __set($v, $valor){


$this->dados[$v] = $valor;
}

public function __get($v){


return $this->dados[$v];
}
}

$pessoa = new pessoa;


$pessoa->nome = "Pedro";
$pessoa->idade = "16";
$pessoa->sexo = "M";

echo $pessoa->nome;
echo $pessoa->idade;
echo $pessoa->sexo;

__tostring():
É o método que é chamado quando tentamos imprimir a própria classe em si
__invoke():
É o método chamado quando tentamos chamar o método como função
COMPOSER:
É um gerenciador de dependências do php, é muito usado com pessoas que já sabem como fazer
as coisas em PHP, mas precisam fazer projetos sem precisar “reinventar” a roda toda vez que
forem fazer um projeto, por isso são usada bibliotecas que fazem muitos trabalhos para eles, o
que os poupa de ter que fazer as coisas do zero toda vez
Variaveis de ambiente:
São valores dinâmicos e nomeáveis que ficam acessíveis para todos os processos de um mesmo
ambiente, tendo que todos os sistemas operacionais possuem suas próprias variáveis de
ambiente definidas, podemos pegar as variáveis de ambiente com o comando “getenv()” para
pegar todas, ou passando o nome da variável entre aspas para pegar ela em específico, podemos
criar variáveis de ambiente com “putenv(“<nomevar>”=”<valor>”)”, porém essa criação de
variável não é a melhor, pois de deixarmos de defini-la ela vai deixar de existir
Servidor Embutido:
Nas versões do php, mesmo sem o apache, podemos usa-lo só por digitar “php -S
localhost:8080” no CMD, estando na pasta do nosso projeto

Trabalhando com o COMPOSER:


Para iniciar o composer, podemos dar um “composer init” no terminal, respondendo algumas
perguntas básicas e aproveitando de ser gerado o “composer.json” automaticamente, até chegar
a parte de definir dependências, nessa parte, colocaremos yes, depois disso ele vai perguntar o
pacote extra que queremos usar em dependências, para isso, iremos ao site “Packagist” e
procuraremos o pacote que queremos instalar, por exemplo o “dompdf/dompdf”, logo após ele
pergunta a versão e podemos deixar em branco, depois ele pergunta se queremos usar outro
pacote, sendo que só apertamos enter e pronto, depois ele pergunta se queremos usar nossas
dependências para um ambiente de desenvolvimento, da um “no”, depois ele pergunta que
confirmamos o código gerado “yes” e depois se queremos instalar as dependências “yes”,
gerando assim o nosso “composer.json” e instalou todas as dependências
Para instalar um pacote extra, podemos usar no CMD o código que tem no final da pagina do
packagist quando entramos em um pacote, algo tipo “composer require <nomedopacote>
Composer update atualiza tudo de acordo com o composer.json
Prática de Redes
Wifi Analyser:
É o aplicativo para android que analisa as redes
Xyrus:
É o aplicativo que mostra informações para rede do pc
WDS é a tecnologia que transforma as redes em uma só

Configurações básicas do roteador

 Abrir o CMD
 Dar um “ping” em qualquer coisa para verificar a internet
 Dar um “ping” no endereço de loopback para verificar o estado da placa de rede
 Rodar “ipconfig” para pegar o endereço do gateway padrão
 Depois jogar esse IP no navegador
 Indo em “Configuração rápida”, você pode né, configurar rapidamente...

 Em “Wireless” e “Segurança“ você pode alterar a segurança, o recomendado é WPA2


Pessoal, o WPA2 Empresarial é para quando vc tem um servidor e tem que se autenticar
nele tbm
 Nas configurações de “modo” também em Wireless, você pode alterar o modo, se vai
ser hibrido ou não, ele sendo hibrido perde performance mas atende a todo mundo
 Ainda em wireless, o ideal é escolher o canal manualmente para que não gere conflito
com outras redes, os que podemos escolher é o 1, 6 e o 11
 O “poder de transmissão” se refere ao tamanho que vai abrangir
 Sobre o local, é o ideal ficar longe de metal

Calculo de sub-redes:
Servem para dividir uma faixa de rede em varias, o numero da rede sempre vai ser par e o
broadcast sempre em impa
Só existe subrede se tiver existir um octeto misto, ex: 255.255.255.192.
Obs: Como diferenciar mascara de rede de rede nesse caso, oq faremos é olhar para o octeto
misto e ver se na conversão os 0 e 1 estão separados, se sim, é sub rede, se n, é paia. Ex:
11111111.11111111.11111111.1100000 é sub rede, agora 11111111.11111111.11111111.10111000
n é subrede

 1º Passo: Olhar para máscara e identificar onde ta o octeto misto, e todo o calculo vai
sempre ser feito ali
 2º Passo: Pegar o octeto misto e diminuir ele de 256, ex: 256 – 192, isso vai nos gerar o
valor dos saltos de 64, esse é o valor de redes, por que o de host é esse valor -2
 3º Passo: Determinar os endereços de rede: Ex: 255.255.255.192:
Rede Hosts Broadcast
192.168.1.0 192.168.1.1 – 192.168.1.62 192.168.1.63
192.168.1.64 192.168.1.65 – 192.168.1.126 192.168.1.127
192.168.1.128 192.168.1.129 – 192.168.1.190 192.168.1.191
192.168.1.192 (sempre 192.168.1.193 – 192.168.1.254 192.168.1.255
vai acabar no octeto

Rede: É o primeiro valor da faixa, sempre começando no 0, depois somando o número do salto
Broadcast: É o valor da próxima rede -1
Host: É quem ta entre eles

Bloquear invasores:
Em “segurança” e “controle de acesso” você pode gerenciar quem entra ou é bloqueado da rede

Packet Tracer:
Baixamos namoral, depois colocamos o roteador, a nuvem e o modem, ligamos o modem na
nuvem, o roteador no modem e os computadores no roteador
Depois disso a gente entrou nos computadores e Configurou a rede deles indo em “desktop” >
“Ip configuration” > “DHCP”, depois foi no canto superior esquerdo em “simulation” editou os
filtos deixando só ICMP e fomos na cartinha la em cima
Tem o pacote da rede doméstica na área de trabalho >> Pasta >> PPE >> packetTracer
Agora pra um bgl mais bonitin, a gente tem que adicionar um servidor, liga ele em um roteador
e liga em 2 dispositivos, depois a gente adicionar um ip estático pro servidor, tipo “10.0.0.1” e
configura ele como DHCP, indo em Services> Service ON > DNS Server: 10.0.0.1 (O ip do
servidor) > Add; Se der certo na hora de colocar o DCHP nos computadores eles vão aceitar,
caso de errado eles vão receber o ip “169.XXX.XXX” depois criamos um dns para
“nomedosite” na parte de DNS e atribuímos o ip 10.0.0.1, após isso, é só ir em HTML e editar o
“index.html” caso eu queira, e ir no computador, Desktop e web browser, depois colocar o nome
do site, depois é só jogar o switch na nuvem e dps no dsl e no computador

CLI:
É a linha de comando do switch, usado para fazer configurações no mesmo. > representa o
modo de usuário. “enable” ativa o “root”, deixando com # ao invés de >. Show mac-address-
table mostra a tabela de roteamento do switch
“configure terminal” <enter> “hostname <name>” Muda o nome do host, “end” sai do modo
configure terminal e “wr” sai e salva
“show vlan brief” mostra as vlans, para criar uma vlan, usamos “conf” <enter> <enter> “vlan
<value>” “name <nome>” “end” “wr”.
Para relacionar uma porta a uma vlan, precisamos que ela esteja criada, depois fazemos
“interface fastEthernet 0/1” “switchport mode acess”, “switchport acess vlan <vlan_value>”
ADSL
É um dispositivo que passa internet pela telefonia no cabeamento de cobre, tem que estar
próximo ao provedor, Download e Upload com velocidades diferentes
SDSL
É a mesma coisa que a ASDL porém o Download e o Upload tem velocidades iguais
MPLS
Usa uma tag para economizar tempo de roteamento, Download e Upload tem a mesma
velocidade, é muito rápido e usa QoS.

No Windows:
Eu já sei como colocar um IP estático no Windows, agora vou aprender a dividir e compartilhar
arquivos na rede pelo mesmo

 1º Windows > Sistema > configurações avançadas do sistema > nome do computador >
Alterar > “Ai sim mudar o nome do computador e o grupo de trabalho, porém isso tem
que ser mudado em todos, ou seja, tem que ter o mesmo nome de grupo”
 2º Colocar um IPfixo(Recomendado) para que saibamos como gerenciar
 3º Particionar um HD para criar uma unidade compartilhada (Melhor que compartilhar
uma pasta), para isso: Este computador > Gerenciar > Gerenciamento de disco > Botão
direito na parte do HD a ser particionada( Normalmente a do meio) > Diminuir volume
> Diminuir
 4º Ainda que o disco agora esteja particionado é preciso formata-lo: Botão direito no
disco a ser formatado > Novo volume > Avançar em tudo
 5º Agora para compartilhar, basta ir no explorador de arquivos, clicar com o botão
direito e depois em conceder acesso á > Compartilhamento avançado > Compartilhar a
pasta > Criar nome> Permissões
 6º Ainda la, saindo de permissões: Adicionar > E ai dentro gerenciar quem vai ter
acesso ou n
 2º Central de rede e compartilhamento > Alterar as configurações de compartilhamento
avançadas > Ativar a porra toda heheheh, só desativar o compartilhamento protegido
por senha
 3º Para compartilhar: Criar a pasta > Propriedades (da pasta) > Compartilhamento
Avançado > Compartilhar pasta > Permissões > Adicionar > Avançado > Localizar
agora > Todos > Ok > OK > Mudar as permissões de acordo com oq eu quero (Leitura,
execução e escrita)
 4º Ainda para compartilhar: Propriedades (da pasta) > Segurança > Editar > Adicionar >
Avançado > Localizar agora > Todos > Ok > OK > Mudar as permissões de acordo com
oq eu quero (Leitura, execução e escrita)
 5º Se n estiver aparecendo, da pra digitar \\<ip> inserindo o ip do computador que a
gente quer na barra de pesquisa
 6º Abrir a central de rede e compartilhamento > Alterar as configurações de
compartilhamento avançadas > Ir la em baixo e desativar compartilhamento protegido
por senha
 7º Mapeamento de rede: É basicamente criar um atalho pra uma pasta que ta em outro
computador, para isso, vamos em “Este computador” > Mapear unidade de rede (la em
cima) | Ou ent Botao direito > Adicionar um local de rede > avançar > avançar >
escolher o computador > Escolher a unidade a se mapear, se n aparecer \\<ipdedestino>

Impressoras:
1º. Ligar a impressora por cabo > propriedades da impressora > Compatilhamento >
Marcar tudo > OK
2º. Ir em impressoras no outro computador > Adicionar uma impressora > Adicionar uma
impressora de rede

Você também pode gostar