linux

57

Upload: rita-de-cassia

Post on 29-Sep-2015

216 views

Category:

Documents


2 download

DESCRIPTION

Curso de funções básicas do Linux

TRANSCRIPT

  • Conhecendo o LinuxConhecendo o LinuxConhecendo o LinuxConhecendo o Linux

    Usurios do SistemaUsurios do SistemaUsurios do SistemaUsurios do Sistema

    Comandos BsicosComandos BsicosComandos BsicosComandos Bsicos

  • HHHiiissstttrrriiiaaa

  • PPPrrrooojjjeeetttooo GGGNNNUUU

    A partir de 1984 Stallman e vrios programadores, estavam desenvolvendo as peas principais de um sistema operacional, como compilador de linguagem C, editores de texto, etc. Em 1991 osistema operacional j estava quase pronto, mas faltava o principal, que o kernel do sistema operacional. O grupo liderado por Stallman estava desenvolvendo um kernel chamado Hurd. Porm,em 1991, um jovem finlands chamado Linus Torvalds havia criado um kernel que poderia usar todas as peas do sistema operacional GNU...

  • GGGNNNUUU LLLiiinnnuuuxxx /// LLLiiinnnuuuxxx

    H muita controvrsia quanto ao nome. Eric Raymond afirma, no Jargon File, que a proposta da FSF s conseguiu a "aceitao de uma minoria" e resultado de uma "disputa territorial". Linus Torvalds afirma que consideraria "justo" que tal nome fosse atribudo a uma distribuio do projeto GNU, mas que chamar os sistemas operacionais Linux como um todo de GNU/Linux seria "ridculo".Linus disse no se importar sobre qual o nome usado, considera a proposta da GNU como "vlida" ("ok") mas prefere usar o termo "Linux".

  • Sistema aberto Multiusurio Multitarefa Comandos de linha Nome dos comandos de difcil memorizao Vrios comandos com a mesma funo Permitem flags para mudar o seu

    comportamento Case sensitive diferencia maisculas de

    minsculas

  • Nos sistemas ****nixnixnixnix existem basicamente 2 tipos de usurios: O administrador do sistema e os demais usurios.

    O ROOTROOTROOTROOT o administrador do sistema, osuperusuriosuperusuriosuperusuriosuperusurio, uma conta especial compermissionamento irrestrito para administraodo sistema.

  • Grandes poderes trazem Grandes poderes trazem Grandes poderes trazem Grandes poderes trazem

    grandes responsabilidadesgrandes responsabilidadesgrandes responsabilidadesgrandes responsabilidades

    Tio Ben

  • No shell (interpretador de comandos do sistema), o prompt identificado da seguinte forma: Tipos de usurios:

    ####: shell de root$$$$: shell de usurio comum

    O prompt pode ser configurado atravs da varivel PS1. Geralmente o adequamos para

    [[[[aluno@jarvisaluno@jarvisaluno@jarvisaluno@jarvis ////etcetcetcetc]$]$]$]$

    alunoalunoalunoaluno : nome do usurio corrente;jarvisjarvisjarvisjarvis: nome da mquina (host);////etcetcetcetc: diretrio corrente;$$$$: tipo de usurio.

  • Arquivos que associam ao usurio:

    Onde est sua rea homeQual a sua passwordQual o seu grupoArmazenados na base local /etc/passwd e

    /etc/group

  • A cada usurio atribudo um nico nmero de identificao (UID);

    UID 0 identifica o ROOT;

    Contas de usurio normalmente comeam em UID 500 (RedHat);

    Nomes dos usurios e seus UIDs so armazenadas no arquivo /etc/passwd;

    Um diretrio home assim como um shell so atribudos aos usurios;

    Os usurios no podem ler, escrever ou executar arquivos sem a devida permisso

  • Os usurios so atribudos a grupos;

    Cada grupo atribudo um nico nmero de ID de grupo (gid);

    GIDs so armazenadas no arquivo /etc/group;

    Cada usurio tem seu prprio grupo primrio;

    Usurio podem ser adicionados a outros

    grupos secundrios;

    Todos os usurios em um grupo podem partilhar arquivos que possuam permisso de acesso para este grupo.

  • Login - chave do usurio (userid) e senhaLogout - exit, ctrl + d

    O processo de shutdown (desligamento pode ser executado somente pelo administrador do sistema)

  • Os comandos do UNIX seguem o seguinte formato:

    comando comando comando comando ----opo(opo(opo(opo(eseseses) argumento(s)) argumento(s)) argumento(s)) argumento(s)

  • $ $ $ $ unameunameunameuname

    $ date$ date$ date$ date

    $ cal$ cal$ cal$ cal

  • $ $ $ $ unameunameunameuname ----ssss

    $ $ $ $ unameunameunameuname ----rrrr

    $ $ $ $ unameunameunameuname ----s s s s ----rrrr

    $ $ $ $ unameunameunameuname ----rsrsrsrs

  • $ $ $ $ lslslsls l /l /l /l /etcetcetcetc

    $ $ $ $ rmrmrmrm r /home/aluno/d2 r /home/aluno/d2 r /home/aluno/d2 r /home/aluno/d2

  • $ date ; $ date ; $ date ; $ date ; unameunameunameuname

    $ cal 12 2006 ; date ; $ cal 12 2006 ; date ; $ cal 12 2006 ; date ; $ cal 12 2006 ; date ; unameunameunameuname

  • $ $ $ $ manmanmanman unameunameunameuname

    Navegao:Navegao:Navegao:Navegao:Barra de espao Barra de espao Barra de espao Barra de espao ---- avana uma pginaavana uma pginaavana uma pginaavana uma pginaEnterEnterEnterEnter ---- avana uma linha avana uma linha avana uma linha avana uma linha bbbb ---- volta uma telavolta uma telavolta uma telavolta uma tela/texto/texto/texto/texto ---- pesquisa pesquisa pesquisa pesquisa textotextotextotextonnnn ---- prxima ocorrncia de prxima ocorrncia de prxima ocorrncia de prxima ocorrncia de textotextotextotextohhhh ---- helphelphelphelpqqqq ---- sai (sai (sai (sai (quitquitquitquit))))

  • Sintaxe: comando Sintaxe: comando Sintaxe: comando Sintaxe: comando ---- ----helphelphelphelp

    $ $ $ $ lslslsls ---- ----helphelphelphelp$ date $ date $ date $ date ---- ----helphelphelphelp

  • Sistema de arquivosSistema de arquivosSistema de arquivosSistema de arquivos

    Estrutura hierrquicaEstrutura hierrquicaEstrutura hierrquicaEstrutura hierrquica

    dir1

    dir2

    dir3

    fortran

    arqa

    arqb

    arqc

    arqd

    arquivo1

    aluno

    home

    /

  • Todo arquivo ou diretrio pode ser Todo arquivo ou diretrio pode ser Todo arquivo ou diretrio pode ser Todo arquivo ou diretrio pode ser identificado de duas maneiras:identificado de duas maneiras:identificado de duas maneiras:identificado de duas maneiras:

    Referncia absolutaReferncia absolutaReferncia absolutaReferncia absoluta Referncia com endereo completo comeando Referncia com endereo completo comeando Referncia com endereo completo comeando Referncia com endereo completo comeando

    pelo / (diretrio raiz)pelo / (diretrio raiz)pelo / (diretrio raiz)pelo / (diretrio raiz)

    Referncia relativaReferncia relativaReferncia relativaReferncia relativa Referncia com endereo iniciando no diretrio Referncia com endereo iniciando no diretrio Referncia com endereo iniciando no diretrio Referncia com endereo iniciando no diretrio

    atual (corrente)atual (corrente)atual (corrente)atual (corrente)

  • Referncia absoluta ao arquivo nota: /home/aluno/Referncia absoluta ao arquivo nota: /home/aluno/Referncia absoluta ao arquivo nota: /home/aluno/Referncia absoluta ao arquivo nota: /home/aluno/docsdocsdocsdocs/nota/nota/nota/nota

    tmp

    carta nota

    docs lib

    aluno

    home etc

    /

    Referncia absolutaReferncia absolutaReferncia absolutaReferncia absoluta

  • Referncia relativa ao arquivo nota: ../Referncia relativa ao arquivo nota: ../Referncia relativa ao arquivo nota: ../Referncia relativa ao arquivo nota: ../docsdocsdocsdocs/nota/nota/nota/nota

    tmp

    carta nota

    docs lib

    aluno

    home etc

    /

    diretrio corrente

    Referncia relativaReferncia relativaReferncia relativaReferncia relativa

  • Visualizando o diretrio correnteVisualizando o diretrio correnteVisualizando o diretrio correnteVisualizando o diretrio corrente$ $ $ $ pwdpwdpwdpwd

    Mudando de diretrioMudando de diretrioMudando de diretrioMudando de diretrio$ $ $ $ cdcdcdcd /home/aluno /home/aluno /home/aluno /home/aluno $ $ $ $ cdcdcdcd .. .. .. .. $ $ $ $ cdcdcdcd

  • dir1

    aluno

    home

    /

    Navegando no sistema de arquivosNavegando no sistema de arquivosNavegando no sistema de arquivosNavegando no sistema de arquivos

    diretrio corrente

  • . . . . Diretrio correnteDiretrio correnteDiretrio correnteDiretrio corrente

    .. .. .. .. Diretrio acima do corrente ou dir. paiDiretrio acima do corrente ou dir. paiDiretrio acima do corrente ou dir. paiDiretrio acima do corrente ou dir. pai

    ~ ~ ~ ~ Diretrio home do prprio usurioDiretrio home do prprio usurioDiretrio home do prprio usurioDiretrio home do prprio usurio

    ~aluno~aluno~aluno~aluno Diretrio home do usurio alunoDiretrio home do usurio alunoDiretrio home do usurio alunoDiretrio home do usurio aluno

    ---- Alterna entre os 2 ltimos diretriosAlterna entre os 2 ltimos diretriosAlterna entre os 2 ltimos diretriosAlterna entre os 2 ltimos diretrios

  • Listagem comumListagem comumListagem comumListagem comum

    $ $ $ $ lslslsls ////var/logvar/logvar/logvar/log

    Listagem longaListagem longaListagem longaListagem longa

    $ $ $ $ lslslsls ----l l l l ////etcetcetcetc

    Listando Listando Listando Listando TUDO (inclusive arq. Ocultos)TUDO (inclusive arq. Ocultos)TUDO (inclusive arq. Ocultos)TUDO (inclusive arq. Ocultos)

    $ $ $ $ lslslsls ----al /al /al /al /home/alunohome/alunohome/alunohome/aluno

    Exibindo informaes do diretrioExibindo informaes do diretrioExibindo informaes do diretrioExibindo informaes do diretrio

    $ $ $ $ lslslsls ----ldldldld ////etcetcetcetc

    Exibindo uma listagem recursiva do diretrioExibindo uma listagem recursiva do diretrioExibindo uma listagem recursiva do diretrioExibindo uma listagem recursiva do diretrio

    $ $ $ $ lslslsls ----R R R R ////etcetcetcetc

  • $ ls arq*$ ls arq*$ ls arq*$ ls arq*$ ls d*$ ls d*$ ls d*$ ls d*$ ls *1$ ls *1$ ls *1$ ls *1$ ls a*a$ ls a*a$ ls a*a$ ls a*a$ ls dir?$ ls dir?$ ls dir?$ ls dir?$ ls arq?$ ls arq?$ ls arq?$ ls arq?$ ls [r$ ls [r$ ls [r$ ls [r----t]*t]*t]*t]*

  • $ ls [a$ ls [a$ ls [a$ ls [a----f]*f]*f]*f]*$ ls [ats]*$ ls [ats]*$ ls [ats]*$ ls [ats]*$ ls [tas]*$ ls [tas]*$ ls [tas]*$ ls [tas]*$ ls [sta]*$ ls [sta]*$ ls [sta]*$ ls [sta]*$ ls dir[1$ ls dir[1$ ls dir[1$ ls dir[1----3]3]3]3]$ ls dir[13]$ ls dir[13]$ ls dir[13]$ ls dir[13]$ ls dir[31]$ ls dir[31]$ ls dir[31]$ ls dir[31]

  • **** Substitui qualquer conjunto de caracteresSubstitui qualquer conjunto de caracteresSubstitui qualquer conjunto de caracteresSubstitui qualquer conjunto de caracteres

    ???? Substitui um nico Substitui um nico Substitui um nico Substitui um nico caractercaractercaractercaracter

    [ ] Substitui um conjunto ou intervaloSubstitui um conjunto ou intervaloSubstitui um conjunto ou intervaloSubstitui um conjunto ou intervaloordenado de caracteresordenado de caracteresordenado de caracteresordenado de caracteres

  • $ more $ more $ more $ more arqbarqbarqbarqb

    Navegao:Navegao:Navegao:Navegao:

    Barra de espao Barra de espao Barra de espao Barra de espao ---- avana uma pginaavana uma pginaavana uma pginaavana uma pginaEnterEnterEnterEnter ---- avana uma linha avana uma linha avana uma linha avana uma linha bbbb ---- volta uma telavolta uma telavolta uma telavolta uma tela/texto/texto/texto/texto ---- pesquisa pesquisa pesquisa pesquisa textotextotextotextonnnn ---- prxima ocorrncia de prxima ocorrncia de prxima ocorrncia de prxima ocorrncia de textotextotextotextohhhh ---- helphelphelphelpqqqq ---- sair (sair (sair (sair (quitquitquitquit))))

  • $ more $ more $ more $ more arqaarqaarqaarqa

    $ more $ more $ more $ more arqcarqcarqcarqc

    $ $ $ $ lesslesslessless arqdarqdarqdarqd

    $ $ $ $ catcatcatcat arqfarqfarqfarqf

    $ $ $ $ catcatcatcat arqaarqaarqaarqa arqcarqcarqcarqc

  • Cpia simples (mesmo diretrio)Cpia simples (mesmo diretrio)Cpia simples (mesmo diretrio)Cpia simples (mesmo diretrio)

    $ $ $ $ cpcpcpcp arqaarqaarqaarqa arqa2arqa2arqa2arqa2

    Copiando um arquivo para outro diretrioCopiando um arquivo para outro diretrioCopiando um arquivo para outro diretrioCopiando um arquivo para outro diretrio

    $ $ $ $ cpcpcpcp arqaarqaarqaarqa dir1dir1dir1dir1

    Copiando um arquivo para outro Copiando um arquivo para outro Copiando um arquivo para outro Copiando um arquivo para outro diretrio mudando o diretrio mudando o diretrio mudando o diretrio mudando o nome do arquivonome do arquivonome do arquivonome do arquivo

    $ $ $ $ cpcpcpcp arqaarqaarqaarqa dir1/arqa3dir1/arqa3dir1/arqa3dir1/arqa3

    Copiando um diretrio e todo o seu contedoCopiando um diretrio e todo o seu contedoCopiando um diretrio e todo o seu contedoCopiando um diretrio e todo o seu contedo

    $ $ $ $ cpcpcpcp ----r dir1 dir2r dir1 dir2r dir1 dir2r dir1 dir2

    Movendo ( renomeando um arquivo)Movendo ( renomeando um arquivo)Movendo ( renomeando um arquivo)Movendo ( renomeando um arquivo)

    $ $ $ $ mvmvmvmv arqa3arqa3arqa3arqa3 arqa4 arqa4 arqa4 arqa4

  • cpcpcpcp arqaarqaarqaarqa arqa2arqa2arqa2arqa2

    arqa

    aluno

    home

    /

    arqa arqa2

    aluno

    home

    /

  • cpcpcpcp arqaarqaarqaarqa dir1dir1dir1dir1

    arqa dir1

    aluno

    home

    /

    arqa

    dir1

    aluno

    home

    /

  • cpcpcpcp arqaarqaarqaarqa dir1/arqa3dir1/arqa3dir1/arqa3dir1/arqa3

    arqa dir1

    aluno

    home

    /

    arqa3

    dir1

    aluno

    home

    /

  • cpcpcpcp ----r dir1 dir2r dir1 dir2r dir1 dir2r dir1 dir2

    dir1

    aluno

    home

    /

    dir1 dir2

    aluno

    home

    /

  • mvmvmvmv arqa3 arqa4arqa3 arqa4arqa3 arqa4arqa3 arqa4

    arqa3

    dir1

    aluno

    home

    /

    arqa4

    dir1

    aluno

    home

    /

  • Criando um arquivo vazioCriando um arquivo vazioCriando um arquivo vazioCriando um arquivo vazio

    $ $ $ $ touchtouchtouchtouch arq10arq10arq10arq10

    Removendo um arquivoRemovendo um arquivoRemovendo um arquivoRemovendo um arquivo

    $ $ $ $ rmrmrmrm arq10 arq10 arq10 arq10

    Criando um diretrioCriando um diretrioCriando um diretrioCriando um diretrio

    $ $ $ $ mkdirmkdirmkdirmkdir dir10dir10dir10dir10

    Removendo um diretrio vazioRemovendo um diretrio vazioRemovendo um diretrio vazioRemovendo um diretrio vazio

    $ $ $ $ rmdirrmdirrmdirrmdir dir10dir10dir10dir10

    Removendo um diretrio e seu contedoRemovendo um diretrio e seu contedoRemovendo um diretrio e seu contedoRemovendo um diretrio e seu contedo

    $ $ $ $ rmrmrmrm r dir11 r dir11 r dir11 r dir11

  • O O O O sistema de segurana do Linux sistema de segurana do Linux sistema de segurana do Linux sistema de segurana do Linux baseado nos baseado nos baseado nos baseado nos seguintes aspectos: seguintes aspectos: seguintes aspectos: seguintes aspectos:

    Definio de propriedade;

    Permisses de acesso aos arquivos.

    O sistema foi projetado para ser simples e eficiente.

    A conta root tem permisses para acessar qualquer arquivo no sistema, independente das permisses.

  • O controle de acesso aos arquivos definido por O controle de acesso aos arquivos definido por O controle de acesso aos arquivos definido por O controle de acesso aos arquivos definido por trs trs trs trs classes classes classes classes de usurios, que so: de usurios, que so: de usurios, que so: de usurios, que so:

    Usurio donoUsurio donoUsurio donoUsurio dono: aquele que detm o arquivo; em geral, quem o criou. Pode existir somente um usurio dono para o arquivo criado.

    Grupo donoGrupo donoGrupo donoGrupo dono: Representa um grupo de usurios. Em geral, o grupo primrio do dono do arquivo.

    OutrosOutrosOutrosOutros: Se um usurio no o dono, nem pertence ao grupo dono, ele classificado como pertencente classe outros.

  • Permisso Caracter Acesso p/arquivo

    Acesso p/diretrio

    Leitura r exibir e copiar exibir (listar contedo)

    Escrita w modificar criar e remover (se tiver x tambm)

    Execuo x executar entrar no dir(com cd)

    rwxrwxrwxrwx ---- Arquivos e DiretriosArquivos e DiretriosArquivos e DiretriosArquivos e Diretrios

  • Valor octal Permisso0 - - -1 - - x2 - w -3 - w x4 r - -5 r - x6 r w -7 r w x

    u donog grupo

    o outros

    a all

    Modo Simblico vs. OctalModo Simblico vs. OctalModo Simblico vs. OctalModo Simblico vs. Octal

  • Removendo Removendo Removendo Removendo permpermpermperm. de leitura . de leitura . de leitura . de leitura othersothersothersothers$ chmod o-r arqaRemovendo Removendo Removendo Removendo permpermpermperm. de leitura . de leitura . de leitura . de leitura e gravao e gravao e gravao e gravao grupogrupogrupogrupo$ chmod g-rw arqaAdicionando Adicionando Adicionando Adicionando permpermpermperm. de . de . de . de escrita escrita escrita escrita grupogrupogrupogrupo$ chmod g+w arqaPermissionamentoPermissionamentoPermissionamentoPermissionamento rwxrwxrwxrwx, , , , rwrwrwrw_, r_ __, r_ __, r_ __, r_ _$ chmod 764 arqaPermissionamentoPermissionamentoPermissionamentoPermissionamento rwxrwxrwxrwx, , , , r _ _, _ _ _r _ _, _ _ _r _ _, _ _ _r _ _, _ _ _$ chmod 740 arqa

  • Basicamente as busca se resumem a 2 tipos distintos:

    Nome de arquivo ou diretrio Nome de arquivo ou diretrio Nome de arquivo ou diretrio Nome de arquivo ou diretrio

    Contedo do arquivoContedo do arquivoContedo do arquivoContedo do arquivo

    Sendo assim utilizaremos respectivamente as ferramentas (comandos) grepgrepgrepgrep e findfindfindfind

  • Procura pela Procura pela Procura pela Procura pela stringstringstringstring RRR em todo o diretrio correnteRRR em todo o diretrio correnteRRR em todo o diretrio correnteRRR em todo o diretrio corrente$ $ $ $ grepgrepgrepgrep RRR *RRR *RRR *RRR *

    Procura pela Procura pela Procura pela Procura pela stringstringstringstring RRR somente no arquivo RRR somente no arquivo RRR somente no arquivo RRR somente no arquivo arqrarqrarqrarqr$ $ $ $ grepgrepgrepgrep RRR RRR RRR RRR arqrarqrarqrarqr

    Faz a busca ignorando minsculas e maisculasFaz a busca ignorando minsculas e maisculasFaz a busca ignorando minsculas e maisculasFaz a busca ignorando minsculas e maisculas$ $ $ $ grepgrepgrepgrep ----i i i i unixunixunixunix arquivo1 arquivo1 arquivo1 arquivo1

    Apresenta como resultado apenas os nomes dos arquivos Apresenta como resultado apenas os nomes dos arquivos Apresenta como resultado apenas os nomes dos arquivos Apresenta como resultado apenas os nomes dos arquivos $ $ $ $ grepgrepgrepgrep ----l curso l curso l curso l curso arqarqarqarq****

    Exibe as linhas aonde no foram encontradas a Exibe as linhas aonde no foram encontradas a Exibe as linhas aonde no foram encontradas a Exibe as linhas aonde no foram encontradas a stringstringstringstring (busca inversa)(busca inversa)(busca inversa)(busca inversa)$ $ $ $ grepgrepgrepgrep ----v comandos v comandos v comandos v comandos arquivo1arquivo1arquivo1arquivo1

  • findfindfindfind dir_onde_iniciadir_onde_iniciadir_onde_iniciadir_onde_inicia expresso(expresso(expresso(expresso(eseseses) ao() ao() ao() ao(eseseses))))

  • Expresso Definio

    -name nome do arquivo ou diretrio

    Encontra arqs. ou dirs. com o nome especificado. Meta.

    -size + ou n Tamanho >+n,

  • Ao Definio

    -exec comando {} \; Executa comando para cada sada do find.

    -ok comando {} \; Igual ao exec, com pedido de confirmao.

    -print Default pode omitir.

    -ls Exibe inode,tam., perm., hl,user,grupo,mod.e nome.

    OBS.: necessrio um espao em branco antes da contrabarra (\).

  • $ find . -print

    $ find /home/aluno name arqr

    $ find . -name arquivo1

    $ find . -name arq?

    $ find /var/log -iname secure*

    $ find . -size +1G

    $ find . -atime 0

  • Redireciona a sada do comando para um arquivoRedireciona a sada do comando para um arquivoRedireciona a sada do comando para um arquivoRedireciona a sada do comando para um arquivo$ $ $ $ lslslsls > > > > ls.docls.docls.docls.doc

    Acrescenta ao arquivo a sada do comandoAcrescenta ao arquivo a sada do comandoAcrescenta ao arquivo a sada do comandoAcrescenta ao arquivo a sada do comando$ date >> ls.doc$ date >> ls.doc$ date >> ls.doc$ date >> ls.doc

    Redireciona a sada de erroRedireciona a sada de erroRedireciona a sada de erroRedireciona a sada de erro$ $ $ $ findfindfindfind . . . . ----namenamenamename arquivo1 > arquivo1 > arquivo1 > arquivo1 > arqout_do_findarqout_do_findarqout_do_findarqout_do_find2>/2>/2>/2>/devdevdevdev////nullnullnullnull

  • $ $ $ $ dfdfdfdf ----hhhh

    $ $ $ $ dfdfdfdf ----k /k /k /k /usrusrusrusr

  • $ who

    $ who am i

    $ finger g067