SlideShare uma empresa Scribd logo
O que é o shell (bash)?
É através do shell que nos comunicamos com o
núcleo do sistema (kernel)
shell significa concha ou algo que envolve
http://linuxdicas.wikispaces.com/comandos-linux
 
Esta apresentação também foi postada no blog do Sérgio 
neste link:
 
http://vivaotux.blogspot.com/2009/08/material-para-uma-aula-que-vou.html
O que é o shell (bash)?
imagem do terminal do linux
As camadas do sistema
O prompt de comandos
usuario@maquina:~$
O prompt de comandos
O prompt de comandos
O prompt de comandos
O prompt de comandos
Entrada e saída de comandos
Por padrão a entrada de dados no shell é o teclado, é o 
que se denomina em inglês de stdin (standard input)
 
A saída padrão é o monitor stdout (standard output)
Por exemplo podemos redirecionar a saída padrão de 
qualquer comando para um arquivo:
 
cal 2007 > cal2007.txt
Redirecionamento não destrutivo:
Para redirecionar a saida de um comando para um arquivo 
sem destruir o que já existe previamente no mesmo, use 
o redirecionamento duplo >>
 
cal 2008 >> cal2007.txt
assim teremos dois calendários, já se 
Redirecionando o terminal
cada sessão do shell tem uma identidade acessível através 
do comando 'tty'
 
Exercício:
1 - abra um terminal e digite 'tty' sem aspas e anote esta 
identiciação, por exemp '/dev/pts/0'
2 - abra outro terminal e digite:
    cal > /dev/pts/0
O que aconteceu?
A saída do comando 'cal' que deveria ser a saída padrão 
'monitor' foi redirecionada para o outro terminal.
Obs: o comando cal sem argumentos retorna o calendário do 
mês atual
A extrutura de pastas
Pasta pessoal
fica em /home/usuario
~/ ..... atalho para /home/usuario
./ ../
./ ...... pasta atual
../ ...... pasta acima
O linux é case sensitive
Isto significa que você pode 
criar uma pasta Casa outra 
CASA e outra casa no mesmo 
diretório
Comandos internos do shell
São chamados built-in e são mais rápidos
pois já estão na memória
cd ......... mudar de diretório
mkdir ...... criar diretórios
> .......... cria arquivos 
pwd ........ exibe pasta atual
ls ......... listar conteúdo
Listando o conteúdo da
pasta
ls ............... listagem simples
ls –l ............ listagem com permissões
ls –a ............ lista inclusive ocultos
ls -1 ............ listagem simples 1 por linha
ls -Ssh1 ......... exibição detalhando o tamahno 
Como exercício acesse o manual do ls "man ls" e 
busque com o uso da barra "/" as opções do último 
comando desta lista. 
Para sair do man pressione 'q'
O comando cal
Exibe o calendário
cal ........ exibe o calendário do mês
cal 2 2007   exibe fevereiro de 2007
veja o manual do 'cal' man cal
O comando cd
mudar de diretório
cd /usr/bin ... local específico
cd –  ......... último local
cd   .......... pasta pessoal (cd sem nada)
Table completion
Ao começar a digitar um comando você
pode usar o <tab> para solicitar a
complementação do nome.
cd /etc/init.<tab>
ls ~/De<tab>
Limpando a tela
^l 
O comando Ctrl-l limpa a tela,
equivale ao comando “clear”
O comando mkdir
mkdir pasta 
mkdir ../teste
mkdir $(date +%d-%m-%Y)
mkdir -p docs/{img/{fotos,icons,wallpapers,svg},textos/
{artigos,man},tmp}
 
O comando acima mostra todo o poder da linha de comandos, não poderia-
mos criar uma extrutura de pastas como esta usando o mouse de forma tão 
rápida e precisa.
O comando mkdir
mkdir -p docs/{img/{fotos,icons,wallpapers,svg},textos/{artigos,man},tmp}
 
o comando acima cria a extrutura abaixo 
 
Mover ou renomear
  mv origem destino   
Obs: Se o nome de destino não existir ele renomeia
Deletando uma pasta e seu
conteudo
 
 
 
rm -rf pasta
A letra "r" indica recursividade, ou seja, a
pasta e tudo que estiver nela, para
arquivos não é necessário o "r".
O comando echo
Exibe uma mensagem na tela
echo "teste"
echo "agora são $(date +%H:%M) horas"
echo "você está em $(pwd)"
Dica: o bash substitui o conteúdo do $
(pwd) por sua saida que corresponde à
pasta atual
Quem sou ?
whoami
se notar-mos este
comando é abreviação
do ingles "who am i?"
echo "olá `whoami`"
Onde estou?
pwd
O comando pwd exibe em que pasta
você está
echo "você está em $(pwd)"
Atalhos do bash - shell
Considere o circunflexo como Ctrl
^u ...... Apaga até o começo da linha
^y ...... Cola o que foi apagado
^e ...... Vai para o fim da linha
^a ...... Vai para o começo da linha
^p ...... comando anterior
^n ...... próximo comando
^k ...... Apaga até o final da linha
^d ...... Fecha a seção
^c ...... interrompe um comando
alt. ... insere argumento ultimo comando
O comando man
Acessa o manual de um comando qualquer
/ ...... Ativa a busca
n ...... Repete a busca (next)
N ...... Repete a busca em sentido inverso
gg ..... Vai para a linha 1
G ...... Vai para o final
q ...... Sai do comando man
Histórico de comandos
Seta acima exibe o históico de comandos
O comando history exibe uma lista de todos os
comandos executados para paginar usamos:
history | less
Na verdade o comando less é um paginador e esta
barra vertical é um modo de repassar um comando para
dentro de outro (redirecionamento), seu nome é pipe.
Para sair do less pressione q
Sobre o comando tail
Para exibir as últimas 5 linhas de um
arquivo - por padrão o comando tail
exibe as últimas 10 linhas
history | tail –n 5
Mas sobre o comando tail
Para acompanhar interativamente a saída
de um log
tail -f /var/log/squid /access.log 
| awk '{print $3" "$7}'
Obs: usando a barra invertida podemos
digitar comandos longos em várias
linhas
Mais sobre o histórico de
comandos
Cada comando do histórico tem um
número, vamoz exibir os últimos 10
comandos?
history 10
O comando acima é um exemplo de que a
pesquisa nunca para
history | tail
Repetindo o comando “n”
do histórico
history | less
Uma vez que você saiba o numero de um comando
que lhe interessa faça
!1234
Este comando repete o comando 1234
Repetindo o último
comando do "history"
Há duas formas legais de repetir um comando
no shell
seta acima - enter
!! enter
Para paginar os comandos do histórico sem tirar as mãos
do teclado use Ctrl-n Ctrl-p
Repetindo o último comando
Na verdade há outra forma legal de
acessar o histórico de comandos...
se testarmos se o google está
acessível assim:
ping -c 2 www.google.com
Podemos em seguida fazer assim:
!ping
Listando os ultimos 16
comandos
O comando
fc -l
Lista os ultimos 16 comandos, para mais
detalhes "man fc"
Interrompendo um comando
Ctrl-c
Quando um comando longo está em execução
e você quizer cancela-lo use a combinação de
teclas acima, lembre-se que nos manuais
Ctrl-c equivale a ^c
É uma forma facilitada de anotações :)
O usuário root
É o usuário administrador do
sistema, para se tornar root use um
dos seguintes comandos
sudo su –
su
Obs:
• somente o root pode usar o comando adduser (criar usuários)
• No primeiro comando o sistema pede nossa própria senha
• No segundo comando o sistema pede a senha do root diretamente
Alterando sua senha
passwd
Digitando o comando passwd sem argumentos o sistema assume que se
deseja mudar a senha para o usuário corrente, mas caso necessite mudar a
senha de outro usuário você terá duas opções
• tornar-se root usando o comando "sudo su -" e
digitar passwd usuario
• fazer login na conta do usuário em questão e digitar
passwd sem nada
Permissões...
Ao usar o comando
ls -l
Obtemos algo como:
drwx------ 2 sergio sergio 4096 2009-08-21 01:15 bin
drwxr-xr-x 5 sergio sergio 4096 2009-08-24 15:17 Desktop
drwxr-xr-x 11 sergio sergio 4096 2009-08-11 11:49 docs
drwxr-xr-x 2 sergio sergio 4096 2009-08-24 16:07 dwhelper
-rw-r--r-- 1 sergio sergio 56 2009-08-18 14:27 limpafirefox.sh
-rwxr-xr-x 1 sergio sergio 5028 2009-08-18 14:27 ramprofile.sh
A primeira letra indica se é arquivo "-" ou diretório "d"
rwx indica que pode ler "read" escrever "write" e executar "execute" para o
dono (os três primeiros flags) os outros grupos são flags para grupo e outros.
Permissões...
Permissões...
baixe o svg aqui --> http://www.mediafire.com/?4ymnduntlm1
Permissões...
chmod 750 file
mkdir -m 755 /shared
man umask
Mudando a propriedade
chown -R sergio.sergio /home/sergio
/etc/group
/etc/passwd
Arquivos de usuários e
grupos
Ejetando o cd
eject
eject -t
O editor nano
É um editor básico
sudo nano /etc/network/interfaces
O comando acima edita o arquivo
/etc/network/interfaces como root
Para salvar Ctrl-o
Para sair Ctrl-x
Gerenciamento de pacotes
como instalar e remover pacotes
como funciona o apt
como procurar pacotes
sudo apt-cache search nome
como editar o /etc/apt/sources.list
sudo nano /etc/apt/sources.list
Como editar o sources.list
sudo nano /etc/apt/sources.list
Adicionando repositórios
Atualizando o apt
sudo apt-get update
Script para automatizar
instalação
#!/bin/bash
# Criado em:Qua 02/Set/2009 hs 17:18
# Last Change: Qua 02/Set/2009 hs 17:18
# vim:ft=sh:fdm=syntax:nu:
# Instituicao: <+nome+>
# Proposito do script: <+descreva+>
# Autor: <+seuNome+>
# site: <+seuSite+>
# testa se está logado como root
if [ "$(id -u)" != "0" ]; then
echo " Need be root"
sleep 2
exit 1
fi
apt-get install quanta
Como configurar a rede
sudo /etc/init.d/networking stop ... stop na rede
sudo /etc/init.d/networking start .. inicia a rede
sudo nano /etc/network/interfaces .. edite o arquivo
auto eth0 ............... qual a interface
iface eth0 inet static .... ip estático
address 10.3.0.12 ......... endereço de rede
netmask 255.255.255.0 ..... máscara
gateway 10.3.0.1 .......... computador que fornece sinal
sudo nano /etc/resolv.conf .. indica o DNS
search domain.velox ......... dns do velox
nameserver 200.165.132.155 .. primário
Nameserver 200.165.132.148... secundário
Como configurar a rede
Em alguns casos é necessário também parar o
serviço NetworkManager pois ele reescreve o
arquivo /etc/resolv.conf e você não consegue
navegar se configurar a rede na mão.
sudo find / -iname networkmanager
No linux educacional ele não fica em
/etc/init.d/ por isso é bom saber o nome e
como busca-lo
No linux educacional /usr/bin/NetworkManager
Qual o endereço de rede
atual?
ifconfig
ifc<tab>
"Seja esperto o bash
completa com TAB"
Qual o gatway da rede?
O gateway é o local por onde sua rede chega, ou
seja, se na configuração de rede não colocar-mos
o mesmo você não navega!
route -n
na segunda coluna da
última linha ou:
route -n | awk '/UG/ {print $2}'
Dica sobre o ping
O comando ping é um comando para testar se um
computador (host) está ativo.
O comando ping no linux por padrão fica mandando um
ping indefinidamente isto é útil quando você está
testando cabos de rede, você pinga para uma máquina
local e vai testando os cabos.
Usamos a opção -c do ping apenas para limitar o
número de pings
ping -c 2 www.google.com
Dica sobre o ping (2)
O comando nmap (por padrão não instalado) é
capaz de dar um ping numa faixa inteira de ip's
sudo apt-get install nmap
nmap -sP 192.168.0.1-254 | awk '/^Host/ {print $2 " ativo"}'
 
O comando acima testa uma faixa inteira de ips retornando o ip e a 
palavra "ativo" para cada host que responder ao ping. Caso queira gerar 
um relatório redirecione a saida para um arquivo>> relatorio.txt
Copia simples via rede
scp ./pastalocal usuario@ip:/caminho/para/pasta
scp usuario@ip:/home/usuario/imagens ./
Ele vai pedir a senha do usuário e colocará a pasta “imagens” inteira
no diretório corrente --> ./
Obs: na primeira vez que este comando for executado ele vai perguntar
sobre a criação da chave (digite yes)
Gerenciando serviços
Como parar e iniciar a interfaçe de rede
sudo /etc/init.d/networking stop ... stop na rede
sudo /etc/init.d/networking start .. inicia a rede
Serviço de impressão
sudo /etc/init.d/cups stop ... stop cups
sudo /etc/init.d/cups start .. inicia cups
Gerenciando serviços II
Serviço de impressão
Pelo navegador acesse: http://localhost:631/
para configurar o servidor de impressão
Obs: defina uma senha para o root com o comando
sudo passwd (o cups necessita deste passo)
sudo /etc/init.d/cups stop ... stop cups
sudo /etc/init.d/cups start .. inicia cups
Administração remota via
ssh
Nas máquinas que irão ser
administradas remotamente faça:
sudo apt-get install ssh
Para acessar --> ssh usuario@ip
o servidor irá perguntar sobre a
criação de uma chave de acesso "Yes"
em seguida pedirá a senha do usuário
indicado acima
backup com rsync
rsync origem destino
Se você precisar do pendrive para transportar um
arquivo muito grande e o espaço estiver pouco
você pode fazer isto
rsync –avz /media/<tab> ~/backup-pendrive
rm -rf /media/<tab> indique o pendrive
agora pode copiar o arquivo para o pendrive
Duas outras opções interessantes do rsync:
--update --delete (veja man rsync)
backup com rsyncrsync origem usuario@destino:/home/usuario/backup
Backup via rede: A extrutura usuario@ip:/dir pode
estar na origem ou no destino, assim se eu desejar
trazer para a máquina atual faço:
[ -d ~/img ] || mkdir ~/img && cd ~/img
O comando acima diz "se a pasta existir [ -d ~/img ] ou tiver
que cria-la || mkdir ~/img e entre na mesma && cd ~/img.
rsync –avz sergio@10.3.0.154:/home/sergio/img/wallpapers ./
Obs: o rsync vai perguntar sobre a criação de uma
chave de acesso digite yes em seguida a senha do
usuário
veja também: https://help.ubuntu.com/community/RsyncCdImage
Acessando
compartilhamento samba
Compartilhamento via nfs
sudo apt-get install 
nfs-common nfs-kernel-server
sudo nano /etc/exports
Referências:
https://help.ubuntu.com/community/NFSv4Howto
http://www.vivaolinux.com.br/artigo/NFS-sem-segredos/
O que é o UDEV volid
Identificação de discos à partir de
indentificadores únicos permitindo o
encaixe de hds em locais distintos sem
perder a referência.
vol_id --uuid /dev/sda5
Referência: http://jfmitre.com/2006/11/descobrindo-o-cdigo-uuid-de-uma-partio.html
Qual o espaço ocupado?
du –sh ./
./ ..... pasta atual
Qual o espaço livre?
df –h /media/disk
Pendrives cds e hds são montados
em /media
Qual a memória livre?
free -m
Liberando o cd ou pendrive
para desmontar
Quando você tenta remover um
pendrive e o sistema diz que o mesmo
está ocupado faça:
fuser -mkv /media/<tab>
Referências: http://linuxdicas.wikispaces.com/fuser
Acessando linux e windows
via live-cd
Usar a mini distro goblinx para
acessar dados locais e enviar
peloa rede usando rsync
Recuperando a senha de root
• Iniciar com um livecd  
• montar a partição / do hd
• mount /dev/sda? /mnt/lin
• chroot /mnt/lin
• passwd (nova senha)
Compactando com tar.bz2
tar cjvf nome.tar.bz2 ./pasta
-c .......... Create
-j .......... Gera tar.bz2
-v .......... Gera saida visual
-f .......... Nome a ser usado
./pasta ...... Será compactada
Obs: para visualizar o conteúdo de um
pacote tar jtvf (para tar.bz2), para mais
detalhes 'man tar'
Descompactando com tar.bz2
tar jxvf arquivo.tar.bz2
Podemos indicar o destino
assim:
tar jxvf file.tar.bz2 –C 
destino
O comando grep
Usado para filtrar conteúdo
ps aux | grep firefox  
“ps aux” exibe todos os processos em execução, já o
grep filtra somente os processos que contiverem a
palavra firefox
Mais sobre o comando grep
 grep “^admin” /etc/passwd 
Se filtrassemos apenas a palavra "admin" o grep
filtraria esta palavra em qualquer posição, contudo
usamos expressões regulares para buscar no
começo da linha.
Para aprender sobre expressões regulares acesse:
http://guia-er.sourceforge.net/
Mais sobre o comando grep
grep -v “^#” /etc/apt/apt.conf   
Usando a opção –v do grep estamos
dizendo: mostre as linhas que não contém
“#” no começo, ou seja, linhas comentadas.
A mesma saida do comando anterior
poderia ser paginada com o less
grep -v “^#” /etc/apt/apt.conf  | less
Mais sobre o comando grep
vim $(grep –irl “sergio” ~/)  
O comando $(grep –irl “sergio” ~/) retornará
uma lista de arquivos que contenham a palavra “sergio” e
entregará para o editor vim.
Um livro sobre o vim pode ser baixado aqui:
http://vivaotux.blogspot.com/2009/01/nosso-livro-sobre-o-vim.html
Matando um programa
com o comando pkill
Cada processo (daí a letra ‘p’ no nome) tem uma identidade
chamada pid (process id). O pkill é um comando que mistura
o kill com o grep (busca por padrões) na prática podemos
forçar o fechamento de um programa de forma trivial.
pkill firefox
Modo arcaico para matar
programas
listar todos os processos, filtrar o
processo desejado com o grep e em
seguida dar um kill -9
ps aux | grep firefox
digamso que o numero do processo do firefox
seja 1342
kill -9 1342
O comando find
find [local] opções
find ~/ -iname “*.txt”
Contando a quantidade
find ~/ -iname “*.txt” | wc -l
Obs: se o local da busca for omitido
o find considera a pasta atual como
lugar da busca
Mais sobre o comando find
find –size +10M | less
 
No próximo comando vamos usar o continuador de
linha “”
find ~/ -iregex "(.*.doc|.*.odt)"
 
O comando acima usa expressões regulares para buscar
arquivos do word ou openoffice (ignorando maiúsculas ou
minúsculas)
Gerando relatórios com o
comando find
find –size +10M | less
Ao invés de paginar na tela usamos um
redirecionamento
find –size +10M > ~/Desktop/bigfiles.txt
Para adicionar algo ao final use >>
Ou fazer uma contagem com o wc
find –size +10M | wc -l
backup com find
Vamos criar um backup de arquivos odt criados
nos últimos 10 minutos
mkdir ~/backup
find . -name '*.odt' -cmin -10 -print0 | xargs
-0 cp -ft ~/backup
find . -iname "*.odt" -cmin -120 | 
xargs cp -t ~/backup
Obs: digitar os comandos é melhor pois ao copiar
e colar os caracteres podem não ser os mesmos.
Sobre comandos longos
Quando digitamos uma barra invertida em um
comando estamos protegendo o Enter, isto significa
que o shell não reconhecerá o enter como tal, veja:
tail -f /var/log/squid /access.log 
| awk '{print $3" "$7}'
É como se a linha fosse uma só, apenas
estamos jogando a saida do tail para o comando awk,
veja mais sobre ele aqui. Obs: o comando acima depende
da existência do squid.
Mais sobre o comando less
Ele é muito útil para ler a saida de comandos muito longos
O comando find por exemplo tem um man
muito extenso
man find | less
/ .......... o less também tem busca
n .......... repete a busca
gg ......... vai para linha 1
G .......... vai para o final
q .......... sai do less
O comando date
http://linuxdicas.wikispaces.com/date
date +%d .... dia
date +%H .... hora
man date
data no padrão americano ano-mes-dia:
date -I
Dica do comando mkdir
Caso necessite criar uma pasta e entrar na
mesma pode fazer
 
[ -d pasta ] || mkdir pasta && cd pasta
O comando acima diz "se a pasta existir [ -d pasta ] ou
tiver que cria-la || mkdir pasta e entre na mesma && cd
pasta.
Na prática isto fará com que você termine na pasta de qualquer
modo, tanto faz, se houver ou não o sistema entra na mesma, se
não houver ele cria e entra na mesma.
Usando o comando cat para
ler conteúdo
cat arquivo.txt
Exibe na tela o conteúdo do arquivo.
Quando o conteúdo tiver que ser
pipeado use-o ao invés do less.
Baixando arquivos com o
wget
wget -c http://www.rau-tu.unicamp.br/nou-
rau/softwarelivre/document/?down=143
 
wget –c –i urls.txt
-c .......... continuar dowload
-i .......... Lista de links a baixar
--limit-rate taxa de download
wget –c –-limit-rate=15k –i links.txt
Desligamento programado
O comando shutdown pode ser usado
das seguintes formas
sudo shutdown -r +10
sudo shutdown -h 0
No primeiro caso reinicia
em 10 minutos (restart) no
segundo caso desliga agora
(halt)
Desligamento programado
Uma outra forma de agendar o desligamento
sudo echo 'shutdown -h 0'| at 3:40
Referências
 É impressindível dominar técnicas de busca no google para solucionar problemas
cotidianos:
http://sergioaraujo.pbworks.com/Como-usar-melhor-o-google
 
http://www.hackmyidea.com/wordpress/2007/12/09/google-sre-question-on-mass-
changing-file-extensions/
 
Buscar livros:
-inurl:htm -inurl:html intitle:"index of" +("/ebooks""/book") +(chm | pdf | zip)
nome livro

Mais conteúdo relacionado

Mais procurados

Comandos linux
Comandos linuxComandos linux
Comandos linux
Ultima Ratio
 
Dicas e Princípios Básicos do Linux
Dicas e Princípios Básicos do LinuxDicas e Princípios Básicos do Linux
Dicas e Princípios Básicos do Linux
Wellington Oliveira
 
Trabalhando na Linha de comando
Trabalhando na  Linha de comandoTrabalhando na  Linha de comando
Trabalhando na Linha de comando
SoftD Abreu
 
YUM, APT-GET, DPKG, RPM
YUM, APT-GET, DPKG, RPMYUM, APT-GET, DPKG, RPM
YUM, APT-GET, DPKG, RPM
SoftD Abreu
 
Programação em bat
Programação em batProgramação em bat
Programação em bat
hackernoob
 
Linux shell
Linux shellLinux shell
Linux shell
Frederico Madeira
 
Shell Script - Controle de fluxo
Shell Script - Controle de fluxoShell Script - Controle de fluxo
Shell Script - Controle de fluxo
Frederico Madeira
 
Linux - Shell e Comandos Básicos
Linux - Shell e Comandos BásicosLinux - Shell e Comandos Básicos
Linux - Shell e Comandos Básicos
Frederico Madeira
 
Comandos do linux
Comandos do linuxComandos do linux
Comandos do linux
PeslPinguim
 
Introdução ao Linux - aula 03 e 04
Introdução ao Linux - aula 03 e 04Introdução ao Linux - aula 03 e 04
Introdução ao Linux - aula 03 e 04
Renan Aryel
 
Shell Scipt - Comandos
Shell Scipt - ComandosShell Scipt - Comandos
Shell Scipt - Comandos
Frederico Madeira
 
Linux comandos gerais e servidores de rede
Linux   comandos gerais e servidores de redeLinux   comandos gerais e servidores de rede
Linux comandos gerais e servidores de rede
fernandao777
 
Bash, o poder da linha de comando! - Tchelinux.org 2017
Bash, o poder da linha de comando! - Tchelinux.org 2017Bash, o poder da linha de comando! - Tchelinux.org 2017
Bash, o poder da linha de comando! - Tchelinux.org 2017
Sandro Custodio
 
Comandos linux
Comandos linux Comandos linux
Comandos linux
Erivan Cledson
 
Guia com mais de 500 comandos do linux explicados computeiro da depressão
Guia com mais de 500 comandos do linux explicados   computeiro da depressãoGuia com mais de 500 comandos do linux explicados   computeiro da depressão
Guia com mais de 500 comandos do linux explicados computeiro da depressão
Jesser Martins Medeiros
 
Comandos linux
Comandos linuxComandos linux
Comandos linux
Wesley Germano Otávio
 
Guia 500 comandos_linux
Guia 500 comandos_linuxGuia 500 comandos_linux
Guia 500 comandos_linux
Dario Nakazima
 

Mais procurados (17)

Comandos linux
Comandos linuxComandos linux
Comandos linux
 
Dicas e Princípios Básicos do Linux
Dicas e Princípios Básicos do LinuxDicas e Princípios Básicos do Linux
Dicas e Princípios Básicos do Linux
 
Trabalhando na Linha de comando
Trabalhando na  Linha de comandoTrabalhando na  Linha de comando
Trabalhando na Linha de comando
 
YUM, APT-GET, DPKG, RPM
YUM, APT-GET, DPKG, RPMYUM, APT-GET, DPKG, RPM
YUM, APT-GET, DPKG, RPM
 
Programação em bat
Programação em batProgramação em bat
Programação em bat
 
Linux shell
Linux shellLinux shell
Linux shell
 
Shell Script - Controle de fluxo
Shell Script - Controle de fluxoShell Script - Controle de fluxo
Shell Script - Controle de fluxo
 
Linux - Shell e Comandos Básicos
Linux - Shell e Comandos BásicosLinux - Shell e Comandos Básicos
Linux - Shell e Comandos Básicos
 
Comandos do linux
Comandos do linuxComandos do linux
Comandos do linux
 
Introdução ao Linux - aula 03 e 04
Introdução ao Linux - aula 03 e 04Introdução ao Linux - aula 03 e 04
Introdução ao Linux - aula 03 e 04
 
Shell Scipt - Comandos
Shell Scipt - ComandosShell Scipt - Comandos
Shell Scipt - Comandos
 
Linux comandos gerais e servidores de rede
Linux   comandos gerais e servidores de redeLinux   comandos gerais e servidores de rede
Linux comandos gerais e servidores de rede
 
Bash, o poder da linha de comando! - Tchelinux.org 2017
Bash, o poder da linha de comando! - Tchelinux.org 2017Bash, o poder da linha de comando! - Tchelinux.org 2017
Bash, o poder da linha de comando! - Tchelinux.org 2017
 
Comandos linux
Comandos linux Comandos linux
Comandos linux
 
Guia com mais de 500 comandos do linux explicados computeiro da depressão
Guia com mais de 500 comandos do linux explicados   computeiro da depressãoGuia com mais de 500 comandos do linux explicados   computeiro da depressão
Guia com mais de 500 comandos do linux explicados computeiro da depressão
 
Comandos linux
Comandos linuxComandos linux
Comandos linux
 
Guia 500 comandos_linux
Guia 500 comandos_linuxGuia 500 comandos_linux
Guia 500 comandos_linux
 

Destaque

Sistemas operacionais e aplicativos
Sistemas operacionais e aplicativosSistemas operacionais e aplicativos
Sistemas operacionais e aplicativos
guicabral6
 
Java Script
Java ScriptJava Script
Java Script
José Lamaison
 
Apresentação da Linguagem de Programação PHP
Apresentação da Linguagem de Programação PHPApresentação da Linguagem de Programação PHP
Apresentação da Linguagem de Programação PHP
Lorranna Machado
 
Sistemas Operacionais em redes
Sistemas Operacionais em redesSistemas Operacionais em redes
Sistemas Operacionais em redes
Daniel Brandão
 
PHP - Introdução
PHP - IntroduçãoPHP - Introdução
PHP - Introdução
Fabio Moura Pereira
 
Shell Script
Shell ScriptShell Script
Shell Script
Wellington Oliveira
 
Primeira Aula PHP
Primeira Aula PHPPrimeira Aula PHP
Primeira Aula PHP
Helton Ritter
 
Introduction to c programming
Introduction to c programmingIntroduction to c programming
Introduction to c programming
Manoj Tyagi
 
Unix - Sistema Operacional
Unix - Sistema OperacionalUnix - Sistema Operacional
Unix - Sistema Operacional
Prof Anderson Favaro
 
Minicurso Shell Script
Minicurso Shell ScriptMinicurso Shell Script
Minicurso Shell Script
Luís Eduardo
 
Introducao ao Shell Script
Introducao ao Shell ScriptIntroducao ao Shell Script
Introducao ao Shell Script
Hugo Maia Vieira
 
Linguagem PHP
Linguagem PHPLinguagem PHP
Linguagem PHP
guest9c455546
 
Interfacing C/C++ and Python with SWIG
Interfacing C/C++ and Python with SWIGInterfacing C/C++ and Python with SWIG
Interfacing C/C++ and Python with SWIG
David Beazley (Dabeaz LLC)
 
Algoritmos - Pascal
Algoritmos - PascalAlgoritmos - Pascal
Algoritmos - Pascal
Elaine Cecília Gatto
 
Sistemas operacionais
Sistemas operacionaisSistemas operacionais
Sistemas operacionais
guicabral6
 
Curso Gratuito de Shell Script
Curso Gratuito de Shell ScriptCurso Gratuito de Shell Script
Curso Gratuito de Shell Script
Wanderlei Silva do Carmo
 
Curso Desenvolvimento WEB com PHP - PHP (parte 1)
Curso Desenvolvimento WEB com PHP - PHP (parte 1)Curso Desenvolvimento WEB com PHP - PHP (parte 1)
Curso Desenvolvimento WEB com PHP - PHP (parte 1)
Willian Magalhães
 
Começando com o Html
Começando com o HtmlComeçando com o Html
Começando com o Html
Renato Melo
 
Php 07 Cakephp
Php 07 CakephpPhp 07 Cakephp
Php 07 Cakephp
Regis Magalhães
 
Comandos gerais do PHP
Comandos gerais do PHPComandos gerais do PHP
Comandos gerais do PHP
Paulo Dayvson
 

Destaque (20)

Sistemas operacionais e aplicativos
Sistemas operacionais e aplicativosSistemas operacionais e aplicativos
Sistemas operacionais e aplicativos
 
Java Script
Java ScriptJava Script
Java Script
 
Apresentação da Linguagem de Programação PHP
Apresentação da Linguagem de Programação PHPApresentação da Linguagem de Programação PHP
Apresentação da Linguagem de Programação PHP
 
Sistemas Operacionais em redes
Sistemas Operacionais em redesSistemas Operacionais em redes
Sistemas Operacionais em redes
 
PHP - Introdução
PHP - IntroduçãoPHP - Introdução
PHP - Introdução
 
Shell Script
Shell ScriptShell Script
Shell Script
 
Primeira Aula PHP
Primeira Aula PHPPrimeira Aula PHP
Primeira Aula PHP
 
Introduction to c programming
Introduction to c programmingIntroduction to c programming
Introduction to c programming
 
Unix - Sistema Operacional
Unix - Sistema OperacionalUnix - Sistema Operacional
Unix - Sistema Operacional
 
Minicurso Shell Script
Minicurso Shell ScriptMinicurso Shell Script
Minicurso Shell Script
 
Introducao ao Shell Script
Introducao ao Shell ScriptIntroducao ao Shell Script
Introducao ao Shell Script
 
Linguagem PHP
Linguagem PHPLinguagem PHP
Linguagem PHP
 
Interfacing C/C++ and Python with SWIG
Interfacing C/C++ and Python with SWIGInterfacing C/C++ and Python with SWIG
Interfacing C/C++ and Python with SWIG
 
Algoritmos - Pascal
Algoritmos - PascalAlgoritmos - Pascal
Algoritmos - Pascal
 
Sistemas operacionais
Sistemas operacionaisSistemas operacionais
Sistemas operacionais
 
Curso Gratuito de Shell Script
Curso Gratuito de Shell ScriptCurso Gratuito de Shell Script
Curso Gratuito de Shell Script
 
Curso Desenvolvimento WEB com PHP - PHP (parte 1)
Curso Desenvolvimento WEB com PHP - PHP (parte 1)Curso Desenvolvimento WEB com PHP - PHP (parte 1)
Curso Desenvolvimento WEB com PHP - PHP (parte 1)
 
Começando com o Html
Começando com o HtmlComeçando com o Html
Começando com o Html
 
Php 07 Cakephp
Php 07 CakephpPhp 07 Cakephp
Php 07 Cakephp
 
Comandos gerais do PHP
Comandos gerais do PHPComandos gerais do PHP
Comandos gerais do PHP
 

Semelhante a O Que é Shell (bash)

O Que é shell - bash
O Que é shell - bashO Que é shell - bash
O Que é shell - bash
Sérgio Silva
 
Linux comandos diversos
Linux   comandos diversosLinux   comandos diversos
Linux comandos diversos
Danilo Filitto
 
Comandos do Linux
Comandos do LinuxComandos do Linux
Comandos do Linux
John Godoi
 
Comandos Linux
Comandos LinuxComandos Linux
Comandos Linux
RuanCarlos322597
 
Manual comandos
Manual comandosManual comandos
Manual comandos
Paulo Rijo
 
Aprendendo linux
Aprendendo linuxAprendendo linux
Aprendendo linux
webexpertise
 
Comandos básicos linux
Comandos básicos linuxComandos básicos linux
Comandos básicos linux
Luciano Souto
 
Shell script do zero aula 1 - basico do basico e primeiros comandos
Shell script do zero    aula 1 - basico do basico e primeiros comandosShell script do zero    aula 1 - basico do basico e primeiros comandos
Shell script do zero aula 1 - basico do basico e primeiros comandos
Ivan Ribeiro
 
Guia com mais de 500 comandos do linux
Guia com mais de 500 comandos do linuxGuia com mais de 500 comandos do linux
Guia com mais de 500 comandos do linux
Kalanzans
 
Introdução ao Linux
Introdução ao LinuxIntrodução ao Linux
Introdução ao Linux
TzveDyor
 
Aula6 Cont
Aula6 ContAula6 Cont
Aula6 Cont
willians
 
Apostila comandos unix
Apostila   comandos unixApostila   comandos unix
Apostila comandos unix
gravetim
 
Comandos Unix
Comandos UnixComandos Unix
Comandos Unix
heversonbezerra
 
44087090 tutorial-programacao-batch
44087090 tutorial-programacao-batch44087090 tutorial-programacao-batch
44087090 tutorial-programacao-batch
Marcio Pereira
 
Manual UFCD 0839.pptx
Manual UFCD 0839.pptxManual UFCD 0839.pptx
Manual UFCD 0839.pptx
Formador2
 
Cmd
CmdCmd
Curso Básico/Intermediário Linux - Colmeia 2008 - Emacs
Curso Básico/Intermediário Linux -  Colmeia 2008 - EmacsCurso Básico/Intermediário Linux -  Colmeia 2008 - Emacs
Curso Básico/Intermediário Linux - Colmeia 2008 - Emacs
Marco Carvalho de Oliveira
 
Shell Scripting
Shell ScriptingShell Scripting
Shell Scripting
dcarneir
 
Linux comandosgeraiseservidoresderede-120930000057-phpapp01
Linux comandosgeraiseservidoresderede-120930000057-phpapp01Linux comandosgeraiseservidoresderede-120930000057-phpapp01
Linux comandosgeraiseservidoresderede-120930000057-phpapp01
Elizabete Bahia
 
01 notações iniciais
01   notações iniciais01   notações iniciais
01 notações iniciais
Marlon Vinicius da Silva
 

Semelhante a O Que é Shell (bash) (20)

O Que é shell - bash
O Que é shell - bashO Que é shell - bash
O Que é shell - bash
 
Linux comandos diversos
Linux   comandos diversosLinux   comandos diversos
Linux comandos diversos
 
Comandos do Linux
Comandos do LinuxComandos do Linux
Comandos do Linux
 
Comandos Linux
Comandos LinuxComandos Linux
Comandos Linux
 
Manual comandos
Manual comandosManual comandos
Manual comandos
 
Aprendendo linux
Aprendendo linuxAprendendo linux
Aprendendo linux
 
Comandos básicos linux
Comandos básicos linuxComandos básicos linux
Comandos básicos linux
 
Shell script do zero aula 1 - basico do basico e primeiros comandos
Shell script do zero    aula 1 - basico do basico e primeiros comandosShell script do zero    aula 1 - basico do basico e primeiros comandos
Shell script do zero aula 1 - basico do basico e primeiros comandos
 
Guia com mais de 500 comandos do linux
Guia com mais de 500 comandos do linuxGuia com mais de 500 comandos do linux
Guia com mais de 500 comandos do linux
 
Introdução ao Linux
Introdução ao LinuxIntrodução ao Linux
Introdução ao Linux
 
Aula6 Cont
Aula6 ContAula6 Cont
Aula6 Cont
 
Apostila comandos unix
Apostila   comandos unixApostila   comandos unix
Apostila comandos unix
 
Comandos Unix
Comandos UnixComandos Unix
Comandos Unix
 
44087090 tutorial-programacao-batch
44087090 tutorial-programacao-batch44087090 tutorial-programacao-batch
44087090 tutorial-programacao-batch
 
Manual UFCD 0839.pptx
Manual UFCD 0839.pptxManual UFCD 0839.pptx
Manual UFCD 0839.pptx
 
Cmd
CmdCmd
Cmd
 
Curso Básico/Intermediário Linux - Colmeia 2008 - Emacs
Curso Básico/Intermediário Linux -  Colmeia 2008 - EmacsCurso Básico/Intermediário Linux -  Colmeia 2008 - Emacs
Curso Básico/Intermediário Linux - Colmeia 2008 - Emacs
 
Shell Scripting
Shell ScriptingShell Scripting
Shell Scripting
 
Linux comandosgeraiseservidoresderede-120930000057-phpapp01
Linux comandosgeraiseservidoresderede-120930000057-phpapp01Linux comandosgeraiseservidoresderede-120930000057-phpapp01
Linux comandosgeraiseservidoresderede-120930000057-phpapp01
 
01 notações iniciais
01   notações iniciais01   notações iniciais
01 notações iniciais
 

Mais de Sérgio Silva

4 secrets-to-a-great-memory
4 secrets-to-a-great-memory4 secrets-to-a-great-memory
4 secrets-to-a-great-memory
Sérgio Silva
 
Arrogancia
ArroganciaArrogancia
Arrogancia
Sérgio Silva
 
Web2
Web2Web2
Web2
Web2Web2
Web2.0
Web2.0Web2.0
web2.0.ppt
web2.0.pptweb2.0.ppt
web2.0.ppt
Sérgio Silva
 
A lição da borboleta
A lição da borboletaA lição da borboleta
A lição da borboleta
Sérgio Silva
 
Natal Livre
Natal LivreNatal Livre
Natal Livre
Sérgio Silva
 
A Cadeira O Encontro
A Cadeira O EncontroA Cadeira O Encontro
A Cadeira O Encontro
Sérgio Silva
 
Charges
ChargesCharges
Charges
Sérgio Silva
 
Charges
ChargesCharges
Charges
Sérgio Silva
 
Otimizando com list-comprehensions
Otimizando com list-comprehensionsOtimizando com list-comprehensions
Otimizando com list-comprehensions
Sérgio Silva
 

Mais de Sérgio Silva (12)

4 secrets-to-a-great-memory
4 secrets-to-a-great-memory4 secrets-to-a-great-memory
4 secrets-to-a-great-memory
 
Arrogancia
ArroganciaArrogancia
Arrogancia
 
Web2
Web2Web2
Web2
 
Web2
Web2Web2
Web2
 
Web2.0
Web2.0Web2.0
Web2.0
 
web2.0.ppt
web2.0.pptweb2.0.ppt
web2.0.ppt
 
A lição da borboleta
A lição da borboletaA lição da borboleta
A lição da borboleta
 
Natal Livre
Natal LivreNatal Livre
Natal Livre
 
A Cadeira O Encontro
A Cadeira O EncontroA Cadeira O Encontro
A Cadeira O Encontro
 
Charges
ChargesCharges
Charges
 
Charges
ChargesCharges
Charges
 
Otimizando com list-comprehensions
Otimizando com list-comprehensionsOtimizando com list-comprehensions
Otimizando com list-comprehensions
 

O Que é Shell (bash)

  • 1. O que é o shell (bash)? É através do shell que nos comunicamos com o núcleo do sistema (kernel) shell significa concha ou algo que envolve http://linuxdicas.wikispaces.com/comandos-linux   Esta apresentação também foi postada no blog do Sérgio  neste link:   http://vivaotux.blogspot.com/2009/08/material-para-uma-aula-que-vou.html
  • 2. O que é o shell (bash)? imagem do terminal do linux
  • 3. As camadas do sistema
  • 4. O prompt de comandos usuario@maquina:~$
  • 5. O prompt de comandos
  • 6. O prompt de comandos
  • 7. O prompt de comandos
  • 8. O prompt de comandos
  • 9. Entrada e saída de comandos Por padrão a entrada de dados no shell é o teclado, é o  que se denomina em inglês de stdin (standard input)   A saída padrão é o monitor stdout (standard output) Por exemplo podemos redirecionar a saída padrão de  qualquer comando para um arquivo:   cal 2007 > cal2007.txt Redirecionamento não destrutivo: Para redirecionar a saida de um comando para um arquivo  sem destruir o que já existe previamente no mesmo, use  o redirecionamento duplo >>   cal 2008 >> cal2007.txt assim teremos dois calendários, já se 
  • 11. A extrutura de pastas
  • 14. O linux é case sensitive Isto significa que você pode  criar uma pasta Casa outra  CASA e outra casa no mesmo  diretório
  • 15. Comandos internos do shell São chamados built-in e são mais rápidos pois já estão na memória cd ......... mudar de diretório mkdir ...... criar diretórios > .......... cria arquivos  pwd ........ exibe pasta atual ls ......... listar conteúdo
  • 16. Listando o conteúdo da pasta ls ............... listagem simples ls –l ............ listagem com permissões ls –a ............ lista inclusive ocultos ls -1 ............ listagem simples 1 por linha ls -Ssh1 ......... exibição detalhando o tamahno  Como exercício acesse o manual do ls "man ls" e  busque com o uso da barra "/" as opções do último  comando desta lista.  Para sair do man pressione 'q'
  • 17. O comando cal Exibe o calendário cal ........ exibe o calendário do mês cal 2 2007   exibe fevereiro de 2007 veja o manual do 'cal' man cal
  • 18. O comando cd mudar de diretório cd /usr/bin ... local específico cd –  ......... último local cd   .......... pasta pessoal (cd sem nada)
  • 19. Table completion Ao começar a digitar um comando você pode usar o <tab> para solicitar a complementação do nome. cd /etc/init.<tab> ls ~/De<tab>
  • 20. Limpando a tela ^l  O comando Ctrl-l limpa a tela, equivale ao comando “clear”
  • 23. Mover ou renomear   mv origem destino    Obs: Se o nome de destino não existir ele renomeia
  • 24. Deletando uma pasta e seu conteudo       rm -rf pasta A letra "r" indica recursividade, ou seja, a pasta e tudo que estiver nela, para arquivos não é necessário o "r".
  • 25. O comando echo Exibe uma mensagem na tela echo "teste" echo "agora são $(date +%H:%M) horas" echo "você está em $(pwd)" Dica: o bash substitui o conteúdo do $ (pwd) por sua saida que corresponde à pasta atual
  • 26. Quem sou ? whoami se notar-mos este comando é abreviação do ingles "who am i?" echo "olá `whoami`"
  • 27. Onde estou? pwd O comando pwd exibe em que pasta você está echo "você está em $(pwd)"
  • 28. Atalhos do bash - shell Considere o circunflexo como Ctrl ^u ...... Apaga até o começo da linha ^y ...... Cola o que foi apagado ^e ...... Vai para o fim da linha ^a ...... Vai para o começo da linha ^p ...... comando anterior ^n ...... próximo comando ^k ...... Apaga até o final da linha ^d ...... Fecha a seção ^c ...... interrompe um comando alt. ... insere argumento ultimo comando
  • 29. O comando man Acessa o manual de um comando qualquer / ...... Ativa a busca n ...... Repete a busca (next) N ...... Repete a busca em sentido inverso gg ..... Vai para a linha 1 G ...... Vai para o final q ...... Sai do comando man
  • 30. Histórico de comandos Seta acima exibe o históico de comandos O comando history exibe uma lista de todos os comandos executados para paginar usamos: history | less Na verdade o comando less é um paginador e esta barra vertical é um modo de repassar um comando para dentro de outro (redirecionamento), seu nome é pipe. Para sair do less pressione q
  • 31. Sobre o comando tail Para exibir as últimas 5 linhas de um arquivo - por padrão o comando tail exibe as últimas 10 linhas history | tail –n 5
  • 32. Mas sobre o comando tail Para acompanhar interativamente a saída de um log tail -f /var/log/squid /access.log | awk '{print $3" "$7}' Obs: usando a barra invertida podemos digitar comandos longos em várias linhas
  • 33. Mais sobre o histórico de comandos Cada comando do histórico tem um número, vamoz exibir os últimos 10 comandos? history 10 O comando acima é um exemplo de que a pesquisa nunca para history | tail
  • 34. Repetindo o comando “n” do histórico history | less Uma vez que você saiba o numero de um comando que lhe interessa faça !1234 Este comando repete o comando 1234
  • 35. Repetindo o último comando do "history" Há duas formas legais de repetir um comando no shell seta acima - enter !! enter Para paginar os comandos do histórico sem tirar as mãos do teclado use Ctrl-n Ctrl-p
  • 36. Repetindo o último comando Na verdade há outra forma legal de acessar o histórico de comandos... se testarmos se o google está acessível assim: ping -c 2 www.google.com Podemos em seguida fazer assim: !ping
  • 37. Listando os ultimos 16 comandos O comando fc -l Lista os ultimos 16 comandos, para mais detalhes "man fc"
  • 38. Interrompendo um comando Ctrl-c Quando um comando longo está em execução e você quizer cancela-lo use a combinação de teclas acima, lembre-se que nos manuais Ctrl-c equivale a ^c É uma forma facilitada de anotações :)
  • 39. O usuário root É o usuário administrador do sistema, para se tornar root use um dos seguintes comandos sudo su – su Obs: • somente o root pode usar o comando adduser (criar usuários) • No primeiro comando o sistema pede nossa própria senha • No segundo comando o sistema pede a senha do root diretamente
  • 40. Alterando sua senha passwd Digitando o comando passwd sem argumentos o sistema assume que se deseja mudar a senha para o usuário corrente, mas caso necessite mudar a senha de outro usuário você terá duas opções • tornar-se root usando o comando "sudo su -" e digitar passwd usuario • fazer login na conta do usuário em questão e digitar passwd sem nada
  • 41. Permissões... Ao usar o comando ls -l Obtemos algo como: drwx------ 2 sergio sergio 4096 2009-08-21 01:15 bin drwxr-xr-x 5 sergio sergio 4096 2009-08-24 15:17 Desktop drwxr-xr-x 11 sergio sergio 4096 2009-08-11 11:49 docs drwxr-xr-x 2 sergio sergio 4096 2009-08-24 16:07 dwhelper -rw-r--r-- 1 sergio sergio 56 2009-08-18 14:27 limpafirefox.sh -rwxr-xr-x 1 sergio sergio 5028 2009-08-18 14:27 ramprofile.sh A primeira letra indica se é arquivo "-" ou diretório "d" rwx indica que pode ler "read" escrever "write" e executar "execute" para o dono (os três primeiros flags) os outros grupos são flags para grupo e outros.
  • 43. Permissões... baixe o svg aqui --> http://www.mediafire.com/?4ymnduntlm1
  • 44. Permissões... chmod 750 file mkdir -m 755 /shared man umask Mudando a propriedade chown -R sergio.sergio /home/sergio
  • 47. O editor nano É um editor básico sudo nano /etc/network/interfaces O comando acima edita o arquivo /etc/network/interfaces como root Para salvar Ctrl-o Para sair Ctrl-x
  • 48. Gerenciamento de pacotes como instalar e remover pacotes como funciona o apt como procurar pacotes sudo apt-cache search nome como editar o /etc/apt/sources.list sudo nano /etc/apt/sources.list
  • 49. Como editar o sources.list sudo nano /etc/apt/sources.list Adicionando repositórios Atualizando o apt sudo apt-get update
  • 50. Script para automatizar instalação #!/bin/bash # Criado em:Qua 02/Set/2009 hs 17:18 # Last Change: Qua 02/Set/2009 hs 17:18 # vim:ft=sh:fdm=syntax:nu: # Instituicao: <+nome+> # Proposito do script: <+descreva+> # Autor: <+seuNome+> # site: <+seuSite+> # testa se está logado como root if [ "$(id -u)" != "0" ]; then echo " Need be root" sleep 2 exit 1 fi apt-get install quanta
  • 51. Como configurar a rede sudo /etc/init.d/networking stop ... stop na rede sudo /etc/init.d/networking start .. inicia a rede sudo nano /etc/network/interfaces .. edite o arquivo auto eth0 ............... qual a interface iface eth0 inet static .... ip estático address 10.3.0.12 ......... endereço de rede netmask 255.255.255.0 ..... máscara gateway 10.3.0.1 .......... computador que fornece sinal sudo nano /etc/resolv.conf .. indica o DNS search domain.velox ......... dns do velox nameserver 200.165.132.155 .. primário Nameserver 200.165.132.148... secundário
  • 52. Como configurar a rede Em alguns casos é necessário também parar o serviço NetworkManager pois ele reescreve o arquivo /etc/resolv.conf e você não consegue navegar se configurar a rede na mão. sudo find / -iname networkmanager No linux educacional ele não fica em /etc/init.d/ por isso é bom saber o nome e como busca-lo No linux educacional /usr/bin/NetworkManager
  • 53. Qual o endereço de rede atual? ifconfig ifc<tab> "Seja esperto o bash completa com TAB"
  • 54. Qual o gatway da rede? O gateway é o local por onde sua rede chega, ou seja, se na configuração de rede não colocar-mos o mesmo você não navega! route -n na segunda coluna da última linha ou: route -n | awk '/UG/ {print $2}'
  • 55. Dica sobre o ping O comando ping é um comando para testar se um computador (host) está ativo. O comando ping no linux por padrão fica mandando um ping indefinidamente isto é útil quando você está testando cabos de rede, você pinga para uma máquina local e vai testando os cabos. Usamos a opção -c do ping apenas para limitar o número de pings ping -c 2 www.google.com
  • 56. Dica sobre o ping (2) O comando nmap (por padrão não instalado) é capaz de dar um ping numa faixa inteira de ip's sudo apt-get install nmap nmap -sP 192.168.0.1-254 | awk '/^Host/ {print $2 " ativo"}'   O comando acima testa uma faixa inteira de ips retornando o ip e a  palavra "ativo" para cada host que responder ao ping. Caso queira gerar  um relatório redirecione a saida para um arquivo>> relatorio.txt
  • 57. Copia simples via rede scp ./pastalocal usuario@ip:/caminho/para/pasta scp usuario@ip:/home/usuario/imagens ./ Ele vai pedir a senha do usuário e colocará a pasta “imagens” inteira no diretório corrente --> ./ Obs: na primeira vez que este comando for executado ele vai perguntar sobre a criação da chave (digite yes)
  • 58. Gerenciando serviços Como parar e iniciar a interfaçe de rede sudo /etc/init.d/networking stop ... stop na rede sudo /etc/init.d/networking start .. inicia a rede Serviço de impressão sudo /etc/init.d/cups stop ... stop cups sudo /etc/init.d/cups start .. inicia cups
  • 59. Gerenciando serviços II Serviço de impressão Pelo navegador acesse: http://localhost:631/ para configurar o servidor de impressão Obs: defina uma senha para o root com o comando sudo passwd (o cups necessita deste passo) sudo /etc/init.d/cups stop ... stop cups sudo /etc/init.d/cups start .. inicia cups
  • 60. Administração remota via ssh Nas máquinas que irão ser administradas remotamente faça: sudo apt-get install ssh Para acessar --> ssh usuario@ip o servidor irá perguntar sobre a criação de uma chave de acesso "Yes" em seguida pedirá a senha do usuário indicado acima
  • 61. backup com rsync rsync origem destino Se você precisar do pendrive para transportar um arquivo muito grande e o espaço estiver pouco você pode fazer isto rsync –avz /media/<tab> ~/backup-pendrive rm -rf /media/<tab> indique o pendrive agora pode copiar o arquivo para o pendrive Duas outras opções interessantes do rsync: --update --delete (veja man rsync)
  • 62. backup com rsyncrsync origem usuario@destino:/home/usuario/backup Backup via rede: A extrutura usuario@ip:/dir pode estar na origem ou no destino, assim se eu desejar trazer para a máquina atual faço: [ -d ~/img ] || mkdir ~/img && cd ~/img O comando acima diz "se a pasta existir [ -d ~/img ] ou tiver que cria-la || mkdir ~/img e entre na mesma && cd ~/img. rsync –avz sergio@10.3.0.154:/home/sergio/img/wallpapers ./ Obs: o rsync vai perguntar sobre a criação de uma chave de acesso digite yes em seguida a senha do usuário veja também: https://help.ubuntu.com/community/RsyncCdImage
  • 64. Compartilhamento via nfs sudo apt-get install nfs-common nfs-kernel-server sudo nano /etc/exports Referências: https://help.ubuntu.com/community/NFSv4Howto http://www.vivaolinux.com.br/artigo/NFS-sem-segredos/
  • 65. O que é o UDEV volid Identificação de discos à partir de indentificadores únicos permitindo o encaixe de hds em locais distintos sem perder a referência. vol_id --uuid /dev/sda5 Referência: http://jfmitre.com/2006/11/descobrindo-o-cdigo-uuid-de-uma-partio.html
  • 66. Qual o espaço ocupado? du –sh ./ ./ ..... pasta atual
  • 67. Qual o espaço livre? df –h /media/disk Pendrives cds e hds são montados em /media
  • 68. Qual a memória livre? free -m
  • 69. Liberando o cd ou pendrive para desmontar Quando você tenta remover um pendrive e o sistema diz que o mesmo está ocupado faça: fuser -mkv /media/<tab> Referências: http://linuxdicas.wikispaces.com/fuser
  • 70. Acessando linux e windows via live-cd Usar a mini distro goblinx para acessar dados locais e enviar peloa rede usando rsync
  • 71. Recuperando a senha de root • Iniciar com um livecd   • montar a partição / do hd • mount /dev/sda? /mnt/lin • chroot /mnt/lin • passwd (nova senha)
  • 72. Compactando com tar.bz2 tar cjvf nome.tar.bz2 ./pasta -c .......... Create -j .......... Gera tar.bz2 -v .......... Gera saida visual -f .......... Nome a ser usado ./pasta ...... Será compactada Obs: para visualizar o conteúdo de um pacote tar jtvf (para tar.bz2), para mais detalhes 'man tar'
  • 73. Descompactando com tar.bz2 tar jxvf arquivo.tar.bz2 Podemos indicar o destino assim: tar jxvf file.tar.bz2 –C destino
  • 74. O comando grep Usado para filtrar conteúdo ps aux | grep firefox   “ps aux” exibe todos os processos em execução, já o grep filtra somente os processos que contiverem a palavra firefox
  • 75. Mais sobre o comando grep  grep “^admin” /etc/passwd  Se filtrassemos apenas a palavra "admin" o grep filtraria esta palavra em qualquer posição, contudo usamos expressões regulares para buscar no começo da linha. Para aprender sobre expressões regulares acesse: http://guia-er.sourceforge.net/
  • 76. Mais sobre o comando grep grep -v “^#” /etc/apt/apt.conf    Usando a opção –v do grep estamos dizendo: mostre as linhas que não contém “#” no começo, ou seja, linhas comentadas. A mesma saida do comando anterior poderia ser paginada com o less grep -v “^#” /etc/apt/apt.conf  | less
  • 77. Mais sobre o comando grep vim $(grep –irl “sergio” ~/)   O comando $(grep –irl “sergio” ~/) retornará uma lista de arquivos que contenham a palavra “sergio” e entregará para o editor vim. Um livro sobre o vim pode ser baixado aqui: http://vivaotux.blogspot.com/2009/01/nosso-livro-sobre-o-vim.html
  • 78. Matando um programa com o comando pkill Cada processo (daí a letra ‘p’ no nome) tem uma identidade chamada pid (process id). O pkill é um comando que mistura o kill com o grep (busca por padrões) na prática podemos forçar o fechamento de um programa de forma trivial. pkill firefox
  • 79. Modo arcaico para matar programas listar todos os processos, filtrar o processo desejado com o grep e em seguida dar um kill -9 ps aux | grep firefox digamso que o numero do processo do firefox seja 1342 kill -9 1342
  • 80. O comando find find [local] opções find ~/ -iname “*.txt” Contando a quantidade find ~/ -iname “*.txt” | wc -l Obs: se o local da busca for omitido o find considera a pasta atual como lugar da busca
  • 81. Mais sobre o comando find find –size +10M | less   No próximo comando vamos usar o continuador de linha “” find ~/ -iregex "(.*.doc|.*.odt)"   O comando acima usa expressões regulares para buscar arquivos do word ou openoffice (ignorando maiúsculas ou minúsculas)
  • 82. Gerando relatórios com o comando find find –size +10M | less Ao invés de paginar na tela usamos um redirecionamento find –size +10M > ~/Desktop/bigfiles.txt Para adicionar algo ao final use >> Ou fazer uma contagem com o wc find –size +10M | wc -l
  • 83. backup com find Vamos criar um backup de arquivos odt criados nos últimos 10 minutos mkdir ~/backup find . -name '*.odt' -cmin -10 -print0 | xargs -0 cp -ft ~/backup find . -iname "*.odt" -cmin -120 | xargs cp -t ~/backup Obs: digitar os comandos é melhor pois ao copiar e colar os caracteres podem não ser os mesmos.
  • 84. Sobre comandos longos Quando digitamos uma barra invertida em um comando estamos protegendo o Enter, isto significa que o shell não reconhecerá o enter como tal, veja: tail -f /var/log/squid /access.log | awk '{print $3" "$7}' É como se a linha fosse uma só, apenas estamos jogando a saida do tail para o comando awk, veja mais sobre ele aqui. Obs: o comando acima depende da existência do squid.
  • 85. Mais sobre o comando less Ele é muito útil para ler a saida de comandos muito longos O comando find por exemplo tem um man muito extenso man find | less / .......... o less também tem busca n .......... repete a busca gg ......... vai para linha 1 G .......... vai para o final q .......... sai do less
  • 86. O comando date http://linuxdicas.wikispaces.com/date date +%d .... dia date +%H .... hora man date data no padrão americano ano-mes-dia: date -I
  • 87. Dica do comando mkdir Caso necessite criar uma pasta e entrar na mesma pode fazer   [ -d pasta ] || mkdir pasta && cd pasta O comando acima diz "se a pasta existir [ -d pasta ] ou tiver que cria-la || mkdir pasta e entre na mesma && cd pasta. Na prática isto fará com que você termine na pasta de qualquer modo, tanto faz, se houver ou não o sistema entra na mesma, se não houver ele cria e entra na mesma.
  • 88. Usando o comando cat para ler conteúdo cat arquivo.txt Exibe na tela o conteúdo do arquivo. Quando o conteúdo tiver que ser pipeado use-o ao invés do less.
  • 89. Baixando arquivos com o wget wget -c http://www.rau-tu.unicamp.br/nou- rau/softwarelivre/document/?down=143   wget –c –i urls.txt -c .......... continuar dowload -i .......... Lista de links a baixar --limit-rate taxa de download wget –c –-limit-rate=15k –i links.txt
  • 90. Desligamento programado O comando shutdown pode ser usado das seguintes formas sudo shutdown -r +10 sudo shutdown -h 0 No primeiro caso reinicia em 10 minutos (restart) no segundo caso desliga agora (halt)
  • 91. Desligamento programado Uma outra forma de agendar o desligamento sudo echo 'shutdown -h 0'| at 3:40
  • 92. Referências  É impressindível dominar técnicas de busca no google para solucionar problemas cotidianos: http://sergioaraujo.pbworks.com/Como-usar-melhor-o-google   http://www.hackmyidea.com/wordpress/2007/12/09/google-sre-question-on-mass- changing-file-extensions/   Buscar livros: -inurl:htm -inurl:html intitle:"index of" +("/ebooks""/book") +(chm | pdf | zip) nome livro