Upload
internet
View
207
Download
13
Embed Size (px)
Citation preview
Trabalhando com Linux Trabalhando com Linux 11
Trabalhando com LinuxTrabalhando 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
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
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
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
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
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
Trabalhando com Linux Trabalhando com Linux 88
Encerrando uma sessãoEncerrando uma sessão
$ logoutlogout
$ exitexit
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
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
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
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
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 “ ““ “,, ‘ ‘‘ ‘, , \\
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
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
Trabalhando com Linux Trabalhando com Linux 1616
Diretório atualDiretório atual
$ pwdpwd
/home/adriano/home/adriano
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
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
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
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
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
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 .
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
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
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.
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
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 .
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
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
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
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)
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
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
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
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
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
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