37
Trabalhando com Linux Trabalhando com Linux 1 Trabalhando com Linux Trabalhando com Linux

Trabalhando com Linux 1 Trabalhando com Linux Trabalhando com Linux

Embed Size (px)

Citation preview

Page 1: Trabalhando com Linux 1 Trabalhando com Linux Trabalhando com Linux

Trabalhando com Linux Trabalhando com Linux 11

Trabalhando com LinuxTrabalhando com Linux

Page 2: Trabalhando com Linux 1 Trabalhando com Linux Trabalhando com Linux

Trabalhando com Linux Trabalhando com Linux 22

ShellShell

Programa que fica entre o usuário e o kernelPrograma que fica entre o usuário e o kernel Shells disponíveisShells disponíveis

sh - shell original do unix, criado por Bourne, sh - shell original do unix, criado por Bourne, disponível em todos os unixesdisponível em todos os unixes

csh - desenvolvido por UC-Berkeleycsh - desenvolvido por UC-Berkeley bash - shell padrão do linux bash - shell padrão do linux ksh, pdksh, etcksh, pdksh, etc

Page 3: Trabalhando com Linux 1 Trabalhando com Linux Trabalhando com Linux

Trabalhando com Linux Trabalhando com Linux 33

Shell - arquivo .bashrcShell - arquivo .bashrc

Arquivos que começam com Arquivos que começam com .. e terminam em e terminam em rcrc geralmente são usados para configurar geralmente são usados para configurar como um programa irá rodarcomo um programa irá rodar

O arquivo .bashrc servirá para configurar o O arquivo .bashrc servirá para configurar o shell bashshell bash

Page 4: Trabalhando com Linux 1 Trabalhando com Linux Trabalhando com Linux

Trabalhando com Linux Trabalhando com Linux 44

Ciclo de Execução dos ComandosCiclo de Execução dos Comandos

ShellShell Analisa componentes da linha de comandoAnalisa componentes da linha de comando Procura arquivo e verifica permissão de acessoProcura arquivo e verifica permissão de acesso Pede ao kernel para executar comandoPede ao kernel para executar comando Passa opcões e argumentos válidosPassa opcões e argumentos válidos Espera fim da execuçãoEspera fim da execução Exibe prompt do shellExibe prompt do shell

KernelKernel Copia o programa do disco para memóriaCopia o programa do disco para memória Executa comandoExecuta comando Retorna comando ao shellRetorna comando ao shell

Page 5: Trabalhando com Linux 1 Trabalhando com Linux Trabalhando com Linux

Trabalhando com Linux Trabalhando com Linux 55

Comandos UnixComandos Unix

comando [-opcoes] [argumentos]comando [-opcoes] [argumentos]$ who who $ who -Hwho -H$ lsls$ ls -lls -l$ ls -l /etcls -l /etc$ datedate

Page 6: Trabalhando com Linux 1 Trabalhando com Linux Trabalhando com Linux

Trabalhando com Linux Trabalhando com Linux 66

Erros no comandoErros no comando

Condições:Condições: command not foundcommand not found permission deniedpermission denied cannot open filecannot open file

$ cpcp

cp: insufficient argumentscp: insufficient arguments$ DATEDATE

comand not foundcomand not found

Page 7: Trabalhando com Linux 1 Trabalhando com Linux Trabalhando com Linux

Trabalhando com Linux Trabalhando com Linux 77

Obtendo ajudaObtendo ajuda

$ man lsman ls$ man whoman who$ man cpman cp$ man manman man$ man -a cpman -a cp

Page 8: Trabalhando com Linux 1 Trabalhando com Linux Trabalhando com Linux

Trabalhando com Linux Trabalhando com Linux 88

Encerrando uma sessãoEncerrando uma sessão

$ logoutlogout

$ exitexit

Page 9: Trabalhando com Linux 1 Trabalhando com Linux Trabalhando com Linux

Trabalhando com Linux Trabalhando com Linux 99

Terminais VirtuaisTerminais Virtuais

Teclas ALT-FnTeclas ALT-Fn É possível abrir novas sessões usando-se as É possível abrir novas sessões usando-se as

teclas ALT-Fnteclas ALT-Fn Um número pré-definido de terminais é Um número pré-definido de terminais é

configuradoconfigurado Se estiver em modo gráfico?Se estiver em modo gráfico?

CTL-ALT-F6 tira do modo gráfico e vai para o CTL-ALT-F6 tira do modo gráfico e vai para o modo textomodo texto

ALT-F7 leva novamente para o modo gráfico ALT-F7 leva novamente para o modo gráfico

Page 10: Trabalhando com Linux 1 Trabalhando com Linux Trabalhando com Linux

Trabalhando com Linux Trabalhando com Linux 1010

Desligando [e Religando]Desligando [e Religando]

$ shutdown -h nowshutdown -h now

Faz testes, fecha todos os arquivos, encerra Faz testes, fecha todos os arquivos, encerra todos processos e desliga o sistematodos processos e desliga o sistema

$ shutdown -r nowshutdown -r now

Faz testes, fecha todos os arquivos, encerraFaz testes, fecha todos os arquivos, encerra

todos processos e religa o sistematodos processos e religa o sistema

Page 11: Trabalhando com Linux 1 Trabalhando com Linux Trabalhando com Linux

Trabalhando com Linux Trabalhando com Linux 1111

Tipos de arquivosTipos de arquivos

DiretórioDiretório Ponteiro para outros arquivosPonteiro para outros arquivos Não contém dadosNão contém dados

NormalNormal Contém dados, programas, etc.Contém dados, programas, etc.

EspecialEspecial Ponteiro para um periféricoPonteiro para um periférico Não contém dadosNão contém dados Localizado no diretório /devLocalizado no diretório /dev

Ligação simbólicaLigação simbólica Ponteiro para outro arquivo Ponteiro para outro arquivo

Page 12: Trabalhando com Linux 1 Trabalhando com Linux Trabalhando com Linux

Trabalhando com Linux Trabalhando com Linux 1212

Nomes dos caminhosNomes dos caminhos

cd rom flo p py

d ev e tc

te xto .d oc

d ad os

a na

p ro je to p ro g ram a .c

p ed ro

h om e

lo ca l

u s r tm p

/

/home/ana/dados/texto.doc caminho absoluto

pedro/programa.c caminho relativo

Page 13: Trabalhando com Linux 1 Trabalhando com Linux Trabalhando com Linux

Trabalhando com Linux Trabalhando com Linux 1313

Caracteres especiais do shellCaracteres especiais do shell

Expansão de nome de arquivosExpansão de nome de arquivos ** - - qualquer conjunto de caracteresqualquer conjunto de caracteres,, ? ? - - qualquer caracter sozinhoqualquer caracter sozinho,, [ ] [ ] - lista ou extensão de caracteres- lista ou extensão de caracteres

Execução de comandoExecução de comando --, , ++, , <<, , >>, , >>>>, , !!, , &&,, ; ;, , ( )( ) , , ““

Remoção de significado especialRemoção de significado especial “ ““ “,, ‘ ‘‘ ‘, , \\

Page 14: Trabalhando com Linux 1 Trabalhando com Linux Trabalhando com Linux

Trabalhando com Linux Trabalhando com Linux 1414

Exemplos de substituiçãoExemplos de substituição

$ lslsFile.new file1 file2 file3 file4 file5 fig fit fin funFile.new file1 file2 file3 file4 file5 fig fit fin fun

$ ls fi?ls fi?fig fin fitfig fin fit

$ ls f??ls f??fig fit funfig fit fun

$ ls fi[gn]ls fi[gn]fig finfig fin

$ ls file[1-4]ls file[1-4]file1 file2 file3 file4file1 file2 file3 file4

$ ls file[!1-4]ls file[!1-4]file5file5

Page 15: Trabalhando com Linux 1 Trabalhando com Linux Trabalhando com Linux

Trabalhando com Linux Trabalhando com Linux 1515

Como gerenciar diretóriosComo gerenciar diretórios

Mostrar o diretório correnteMostrar o diretório corrente Listar o diretório correnteListar o diretório corrente Cria novos diretóriosCria novos diretórios Mudar de diretórioMudar de diretório Remover diretóriosRemover diretórios

Page 16: Trabalhando com Linux 1 Trabalhando com Linux Trabalhando com Linux

Trabalhando com Linux Trabalhando com Linux 1616

Diretório atualDiretório atual

$ pwdpwd

/home/adriano/home/adriano

Page 17: Trabalhando com Linux 1 Trabalhando com Linux Trabalhando com Linux

Trabalhando com Linux Trabalhando com Linux 1717

Listando diretóriosListando diretórios

ls [-opções] [diretórios ou arquivos]ls [-opções] [diretórios ou arquivos]$ ls ls $ ls meudirls meudir$ ls -la meudirls -la meudir 534 drwxr-xr-x 5 paulo users 512 May 07 08:34 .534 drwxr-xr-x 5 paulo users 512 May 07 08:34 .

231 drwxr-xr-x 5 paulo users 512 May 07 08:34 ..231 drwxr-xr-x 5 paulo users 512 May 07 08:34 ..

732 drwxr-xr-x 2 paulo users 512 May 13 08:34 memo732 drwxr-xr-x 2 paulo users 512 May 13 08:34 memo

497 -rwxr-xr-x 1 paulo users 134 May 12 07:25 prog1497 -rwxr-xr-x 1 paulo users 134 May 12 07:25 prog1

832 lrwxr-xr-x 2 paulo users 12 Jun 07 21:30 teste 832 lrwxr-xr-x 2 paulo users 12 Jun 07 21:30 teste -> report/teste-> report/teste

Page 18: Trabalhando com Linux 1 Trabalhando com Linux Trabalhando com Linux

Trabalhando com Linux Trabalhando com Linux 1818

Listando diretóriosListando diretórios

ls [-opções] [diretórios ou arquivos]ls [-opções] [diretórios ou arquivos]$ ls -ltls -lt

lista em ordem cronológica, mais novos primeirolista em ordem cronológica, mais novos primeiro$ ls -ltrls -ltr

lista em ordem cronológica, ordem reversalista em ordem cronológica, ordem reversa

Page 19: Trabalhando com Linux 1 Trabalhando com Linux Trabalhando com Linux

Trabalhando com Linux Trabalhando com Linux 1919

Criando diretóriosCriando diretórios

mkdir [-m modo] [-p] diretóriosmkdir [-m modo] [-p] diretórios

$ mkdir subdirmkdir subdir$ mkdir programas dadosmkdir programas dados$ mkdir -m 700 meudirmkdir -m 700 meudir$ mkdir -p teste/setembromkdir -p teste/setembro

Page 20: Trabalhando com Linux 1 Trabalhando com Linux Trabalhando com Linux

Trabalhando com Linux Trabalhando com Linux 2020

Removendo diretóriosRemovendo diretórios

rmdir [-ps] [diretórios]rmdir [-ps] [diretórios]

$ rmdir memormdir memo$ rmdir reportrmdir report

rmdir: report not emptyrmdir: report not empty$ rmdir dadosrmdir dados$ rmdir testermdir teste

Page 21: Trabalhando com Linux 1 Trabalhando com Linux Trabalhando com Linux

Trabalhando com Linux Trabalhando com Linux 2121

Mudando de diretóriosMudando de diretórios

cd [diretório]cd [diretório]$ pwdpwd

/home/paulo/home/paulo$ cd reportcd report$ pwdpwd

/home/paulo/report/home/paulo/report$ cd ../cartascd ../cartas$ pwdpwd

/home/paulo/report/home/paulo/report

Page 22: Trabalhando com Linux 1 Trabalhando com Linux Trabalhando com Linux

Trabalhando com Linux Trabalhando com Linux 2222

Copiando arquivosCopiando arquivos

cp [-fip] arqfont arqdestcp [-fip] arqfont arqdest

cp [-r] [-fip] dirfont dirdestcp [-r] [-fip] dirfont dirdest

$ cp -i dados1.txt dado2.txtcp -i dados1.txt dado2.txt

cp: overwrite dados2.txt? cp: overwrite dados2.txt? $ cp memo1 memo2 memo3 ../backupcp memo1 memo2 memo3 ../backup$ cp -r dir1/subdir1 subdir2 cp -r dir1/subdir1 subdir2 $ cp /home/paulo/prog1.c .cp /home/paulo/prog1.c .

Page 23: Trabalhando com Linux 1 Trabalhando com Linux Trabalhando com Linux

Trabalhando com Linux Trabalhando com Linux 2323

Movendo arquivos/diretóriosMovendo arquivos/diretórios

mv [-fi] origem arqdestmv [-fi] origem arqdest

mv [-fi] origem dirdest mv [-fi] origem dirdest

Serve tanto para mover arquivos/diretórios Serve tanto para mover arquivos/diretórios como para renomeá-loscomo para renomeá-los

Exemplo:Exemplo:$ mv dados.txt dados.ruimmv dados.txt dados.ruim$ mv programas progvelhosmv programas progvelhos

Page 24: Trabalhando com Linux 1 Trabalhando com Linux Trabalhando com Linux

Trabalhando com Linux Trabalhando com Linux 2424

Removendo arquivosRemovendo arquivos

rm [-fi] arquivorm [-fi] arquivo

rm -r [-fi] diretóriorm -r [-fi] diretório Opção -i para que o sistema pergunte se quer Opção -i para que o sistema pergunte se quer

mesmo remover.mesmo remover. Opção -f não pergunta nada.Opção -f não pergunta nada. Opção -r remove recursivamente nos Opção -r remove recursivamente nos

subdiretórios.subdiretórios.$ rm -i prog*rm -i prog*$ rm -r -i meusprogramasrm -r -i meusprogramas

Page 25: Trabalhando com Linux 1 Trabalhando com Linux Trabalhando com Linux

Trabalhando com Linux Trabalhando com Linux 2525

Removendo arquivos - avisosRemovendo arquivos - avisos

Em Unix apagar um arquivo significa fazê-lo Em Unix apagar um arquivo significa fazê-lo desaparecer. Não há lata de lixo.desaparecer. Não há lata de lixo.

Procurar usar a opção -i. Criar um alias e Procurar usar a opção -i. Criar um alias e incluir no arquivo .bashrc é uma opção.incluir no arquivo .bashrc é uma opção.

Usar a opção -f somente quando o seu Usar a opção -f somente quando o seu aniversário cair em uma sexta, for ano aniversário cair em uma sexta, for ano bissexto e a lua estiver cheia.bissexto e a lua estiver cheia.

Page 26: Trabalhando com Linux 1 Trabalhando com Linux Trabalhando com Linux

Trabalhando com Linux Trabalhando com Linux 2626

O que é o arquivo/diretório?O que é o arquivo/diretório?

file [opções] arquivofile [opções] arquivo$ file *file *

P001Q1.EPS: PostScript documentP001Q1.EPS: PostScript document

Vhdl2-GRADU1.ppt: textVhdl2-GRADU1.ppt: text

Xdefaults.edmundo: English textXdefaults.edmundo: English text

bc: directorybc: directory

dead.letter: ascii textdead.letter: ascii text

mbox.old.gz: gzip compressed data mbox.old.gz: gzip compressed data php: directory php: directory

Page 27: Trabalhando com Linux 1 Trabalhando com Linux Trabalhando com Linux

Trabalhando com Linux Trabalhando com Linux 2727

Ligando arquivos/diretóriosLigando arquivos/diretórios

ln [opções] arqfonte [arqdest]ln [opções] arqfonte [arqdest]

ln [opções] arqfonte ... diretórioln [opções] arqfonte ... diretório

Cria ligações entre arquivos. Opção -s cria ligação Cria ligações entre arquivos. Opção -s cria ligação soft. Sem -s cria uma ligação hard, ou seja, outro soft. Sem -s cria uma ligação hard, ou seja, outro nome para o arquivo.nome para o arquivo.

$ ln -s ../ola ln -s ../ola $ ln ola testeln ola teste$ ln -s ../ola oladaquiln -s ../ola oladaqui$ ln -s ../ola ../novo .ln -s ../ola ../novo .

Page 28: Trabalhando com Linux 1 Trabalhando com Linux Trabalhando com Linux

Trabalhando com Linux Trabalhando com Linux 2828

less e moreless e more

less [opções] [arquivo]less [opções] [arquivo] Comandos que permitem a leitura de Comandos que permitem a leitura de

arquivosarquivos lessless é mais do que é mais do que moremore Para usar digite Para usar digite lessless e o nome do arquivo e o nome do arquivo Use Use qq para parar de ver o arquivo para parar de ver o arquivo Use Use espaçoespaço para passar para próxima tela para passar para próxima tela Use Use bb para voltar uma tela. para voltar uma tela.$ lessless programa.cprograma.c

Page 29: Trabalhando com Linux 1 Trabalhando com Linux Trabalhando com Linux

Trabalhando com Linux Trabalhando com Linux 2929

Procurando dados em arquivosProcurando dados em arquivos

grep [opções] arquivo ...grep [opções] arquivo ...$ grep begin *.pasgrep begin *.pas

procura palavra begin nos arquivos do diretórioprocura palavra begin nos arquivos do diretório

$ grep -i adriano *.txtgrep -i adriano *.txtprocura palavra adriano, ignora caixa das letrasprocura palavra adriano, ignora caixa das letras

$ grep -i -w nota *.txtgrep -i -w nota *.txtprocura nota como palavra completa e ignora caixa procura nota como palavra completa e ignora caixa

$ grep -s -l -w if *.pasgrep -s -l -w if *.pasprocura palavra if, sem mensagens de erro, só lista procura palavra if, sem mensagens de erro, só lista

arquivos arquivos

Page 30: Trabalhando com Linux 1 Trabalhando com Linux Trabalhando com Linux

Trabalhando com Linux Trabalhando com Linux 3030

Procurando arquivosProcurando arquivos

find [diretórios] [expressão]find [diretórios] [expressão]$ find . -name prog.pas -printfind . -name prog.pas -print

procura arq prog.pas a partir do diretório atualprocura arq prog.pas a partir do diretório atual

$ find . -atime +2 -atime -4 -printfind . -atime +2 -atime -4 -printprocura arqs alterados a mais de 2*24 hs e menos de procura arqs alterados a mais de 2*24 hs e menos de

4*48 hs4*48 hs

$ find . -name *.pas -exec grep -l rotina “{}” \; find . -name *.pas -exec grep -l rotina “{}” \; procura em arquivos *.pas a palavra rotina procura em arquivos *.pas a palavra rotina

$ find . -name *.pas -exec rm -i “{}” \;find . -name *.pas -exec rm -i “{}” \;procura arquivos *.pas e pergunta se quer removerprocura arquivos *.pas e pergunta se quer remover

Page 31: Trabalhando com Linux 1 Trabalhando com Linux Trabalhando com Linux

Trabalhando com Linux Trabalhando com Linux 3131

Permissões de acessoPermissões de acesso

Usuários são divididos em três gruposUsuários são divididos em três grupos Usuário (u)Usuário (u) O seu grupo (g)O seu grupo (g) Outros (o)Outros (o)

Tipos de permissãoTipos de permissão Leitura (r)Leitura (r) Escrita (w)Escrita (w) Execução (x)Execução (x)

Page 32: Trabalhando com Linux 1 Trabalhando com Linux Trabalhando com Linux

Trabalhando com Linux Trabalhando com Linux 3232

Informações sobre os arquivosInformações sobre os arquivos

$ ls -la *ls -la *drwxr-xr-x 2 ze users 512 Jun 4 15:04 dadosdrwxr-xr-x 2 ze users 512 Jun 4 15:04 dados

-rw-r--r-- 1 ze users 1765 Jun 5 17:00 d.txt-rw-r--r-- 1 ze users 1765 Jun 5 17:00 d.txt

d.txtd.txt usuário rw-usuário rw- grupo r--grupo r-- outros r--outros r-- dono zedono ze grupo usersgrupo users

Page 33: Trabalhando com Linux 1 Trabalhando com Linux Trabalhando com Linux

Trabalhando com Linux Trabalhando com Linux 3333

Mudando modosMudando modos

chmod [opções] modo arquivochmod [opções] modo arquivo modo modo = [ugoa] [+-=] [rwxXstugo] = [ugoa] [+-=] [rwxXstugo]

$ chmod ug+x, o-r memochmod ug+x, o-r memo$ chmod g+w grp.cchmod g+w grp.c$ chmod go-rx a.outchmod go-rx a.out$ chmod u=rwx prog.exechmod u=rwx prog.exe

Page 34: Trabalhando com Linux 1 Trabalhando com Linux Trabalhando com Linux

Trabalhando com Linux Trabalhando com Linux 3434

Mudando modo com númerosMudando modo com números

Tipo Usuário Grupo Outros

Leitura 4 4 4

Escrita 2 2 2

Execução 1 1 1

Total 7 7 7

Page 35: Trabalhando com Linux 1 Trabalhando com Linux Trabalhando com Linux

Trabalhando com Linux Trabalhando com Linux 3535

Mudando modosMudando modos

chmod [opções] modo arquivochmod [opções] modo arquivo

$ chmod 644 memochmod 644 memo$ chmod 755 grp.cchmod 755 grp.c$ chmod 700 a.outchmod 700 a.out$ chmod 770 prog.exechmod 770 prog.exe

Page 36: Trabalhando com Linux 1 Trabalhando com Linux Trabalhando com Linux

Trabalhando com Linux Trabalhando com Linux 3636

Mudando grupo do arquivoMudando grupo do arquivo

chgrp [opções] grupo arquivochgrp [opções] grupo arquivo

$ chgrp projeto memochgrp projeto memo$ chgrp users grp.cchgrp users grp.c

Page 37: Trabalhando com Linux 1 Trabalhando com Linux Trabalhando com Linux

Trabalhando com Linux Trabalhando com Linux 3737

Mudando dono do arquivoMudando dono do arquivo

chown [opções] usuário[:grupo] arquivochown [opções] usuário[:grupo] arquivo

$ chown adriano testechown adriano teste$ chown adriano:users novo_arquivochown adriano:users novo_arquivo