shell-script-pt
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [shell-script] Busca em ShellScript


From: Julio C. Neves
Subject: Re: [shell-script] Busca em ShellScript
Date: Fri, 8 Feb 2013 10:37:50 -0200

Fala Robson,
De cara: se vc não tem permissão para gravar no diretório do cara, vc *de
maneira alguma conseguirá gravar" no diretório do cara.

Se vc está fazendo sudo, é pq deve ter a senha do root. Se vc tem a senha
do root, se logue como root e faça:
su - NomeDoUsuario; echo criando arquivo > arquivo.
dessa forma vc criará um arquivo, normalmente com permissão 755 (a não ser
que seu umask esteja alterado), cujo dono é NomeDoUsuario.

Resolvido?

Abcs,
Julio
A partir de  01/04  lecionarei um
curso completo de Shell em Recife
Clique aqui <http://www.fuctura.com.br/cursos/curso-de-shell-scripts/>
para mais  detalhes.
@juliobash




Em 7 de fevereiro de 2013 13:30, Robson Alexandre <address@hidden
> escreveu:

> Bom Dia Júlio,
>
> o problema da permissão eu resolvo com o sudo na verdade, o tee ou touch é
> apenas alternativa para rodar junto com o sudo.
>
> Minha tarefa:
> Preciso criar um arquivo em um diretório que não tenho permissão.
> executando
> echo "Conteudo" > /diretorio/sem/permissao/arquivo.cfg
> Solução??
>
>
> Até pensei no que o Rafael sugeriu, utilizando do chmod, chgrp ou chown,
> mas teria q
> 1 - criar o arquivo num diretório com permissão (p.e. echo "Conteudo" >
> /tmp/arquivo)
> 2 - mover o arquivo para o local de funcionamento com sudo
> 3 - aplicar as permissões/proprietários com o chmod, chown para a aplicação
> rodar.
>
> Ou ter um cenário já preparado com o usuário que executa o script dentro de
> um grupo que tenha permissão de escrita em todos os arquivos e diretórios a
> serem editados (Caracas!)
>
> Mas o q na verdade eu gostaria de apenas fazer seria:
>
> sudo "echo "Conteudo" > /diretorio/sem/permissao/arquivo.cfg" (Sem firulas
> de tee ou touch)
>
> Será q me fiz entender desta vez, Júlio?
> Agradeço pela atenção e peço desculpas por ter fugido do assunto do Tópico,
> mas vejo q o quesito desempenho e eficiência são essenciais ao
> shell-script.
>
> Atenciosamente
>
> Robson Alexandre
>
>
> Em 7 de fevereiro de 2013 01:11, Julio C. Neves <address@hidden
> >escreveu:
>
> > **
> >
> >
> > Fala Robson,
> > não entendi a sua dúvida esse tee aí não tem nada a ver com permissão,
> > simplesmente ele vai criar um arquivo com conteúdo "conteudo" e
> > jogar "conteudo" na tela.
> >
> > Se vc me explicar o que queria com o sudo e com o tee, pode ser que eu
> > saiba como ajudá-lo.
> >
> > OBS: Tee em inglês é um tê de hidráulica, isto é, a água entra por um
> lado
> > e sai por 2.
> >
> > Abcs,
> > Julio
> > A partir de 01/04 lecionarei um
> > curso completo de Shell em Recife
> > Clique aqui http://www.fuctura.com.br/cursos/curso-de-shell-scripts/>
> > para mais detalhes.
> > @juliobash
> >
> >
> > Em 6 de fevereiro de 2013 07:44, Robson Alexandre
> > address@hidden
> > > escreveu:
> >
> > > Bom dia a todos,
> > > Acho muito interessante esse assunto no sentido sempre de otimizar
> > > recursos, mas fiquei com uma dúvida q sempre qdo faço meus scripts
> tenho
> > q
> > > buscar alternativas q acredito serem mais lentas segundo nossa
> discussão.
> > > Por exemplo,
> > > Preciso criar um arquivo em um diretório com permissões apenas para
> admin
> > > Então faço
> > > echo "conteúdo" | sudo tee arquivo_a_criar
> > > Pois
> > > echo "conteúdo" > arquivo_a_criar
> > > Não funcionaria.
> > >
> > > Existe alguma forma como dito pelo Júlio no último email de utilizar
> > apenas
> > > o shell?
> > >
> > > Atenciosamente
> > > Robson Alexandre
> > >
> > > Enviado de Android Samsung Mobile
> > > Em 05/02/2013 19:26, "Julio C. Neves" address@hidden> escreveu:
> > >
> > > > **
> >
> > > >
> > > >
> > > > Acho bacana fazer essas comparações pq todos usam do modo mais lento
> e
> > > > desconhecem os outros 2, que são bem mais rápidos.
> > > >
> > > > Experimente chegar numa sala com profissionais de TI, todos usuários
> > > Linus,
> > > > e pergunte como se cria um arquivo vazio em shell. Se houverem 100
> > > pessoas
> > > > na sal (nenhuma dessa lista ;) ouviremos pelo menos 90 dizendo que é
> > com
> > > > touch (umas 5 dizem que é com vi ;).
> > > >
> > > > Aí eu mostro:
> > > > $ time for ((i=1; i<200; i++)); { touch lixo; }
> > > >
> > > > real 0m0.898s
> > > > user 0m0.088s
> > > > sys 0m0.168s
> > > > $ time for ((i=1; i<200; i++)); { > lixo; }
> > > >
> > > > real 0m0.044s
> > > > user 0m0.020s
> > > > sys 0m0.004s
> > > >
> > > > É impressionante como os profissionais do Linux ignoram uma
> ferramenta
> > > > simples e poderosa como o shell!
> > > >
> > > > Abcs,
> > > > Julio
> > > > @juliobash
> > > >
> > > > Em 5 de fevereiro de 2013 19:02, Alfredo Casanova
> > > > address@hidden>escreveu:
> > > >
> > > > > Realmente, agora a diferença foi notável
> > > > > dei sempre um du -s antes do comando só pra checar se o volume
> estava
> > > > muito
> > > > > maior
> > > > >
> > > > > $ du -s
> > > > > 1474240 .
> > > > > $ time find . -type f -exec grep -i "plink" {} > /dev/null \;
> > > > >
> > > > > real 4m6.693s
> > > > > user 2m26.301s
> > > > > sys 0m22.189s
> > > > >
> > > > > $ du -s
> > > > > 1474244 .
> > > > > $ time find . -type f | xargs grep -i "plink" > /dev/null
> > > > >
> > > > > real 2m30.238s
> > > > > user 2m17.161s
> > > > > sys 0m3.424s
> > > > >
> > > > > $ du -s
> > > > > 1474248 .
> > > > > $ time find . -type f -exec grep -i "plink" {} > /dev/null \+
> > > > >
> > > > > real 2m20.218s
> > > > > user 2m17.629s
> > > > > sys 0m2.400s
> > > > >
> > > > >
> > > > >
> > > > > 2013/2/5 Alfredo Casanova address@hidden>
> > > > >
> > > > > > Bom, o número de linhas buscadas pode ter se alterado um pouco,
> mas
> > > de
> > > > > > fato não verifiquei isso. O número de arquivos era o mesmo em
> > todos.
> > > > > > Amanhã faço o teste isolando o ambiente
> > > > > > Em 04/02/2013 17:36, "Julio C. Neves" address@hidden>
> > > escreveu:
> > > > > >
> > > > > > **
> > > > > >>
> > > > > >>
> > > > > >> Deve ter ocorrido algo no momento que vc executou, pq a ordem
> > > > crescente
> > > > > de
> > > > > >> tempo é:
> > > > > >> » exec ... {} \+ --- esse é o mais rápido;
> > > > > >> » xargs --- Um pouquinho mais lento (o tempo do fork + o tempo
> da
> > > > carga
> > > > > do
> > > > > >> xargs);
> > > > > >> » exec ... {} \; --- o mais usado e mais lento.
> > > > > >>
> > > > > >> Abcs,
> > > > > >> Julio
> > > > > >> @juliobash
> > > > > >>
> > > > > >> Em 4 de fevereiro de 2013 17:00, Alfredo Casanova
> > > > > >> address@hidden>escreveu:
> > > > > >>
> > > > > >> > $ time find . -type f -exec grep -i "plink" {} > /dev/null \;
> > > > > >> >
> > > > > >> > real 4m19.462s
> > > > > >> > user 2m24.817s
> > > > > >> > sys 0m21.993s
> > > > > >> >
> > > > > >> > $ time find . -type f | xargs grep -i "string" > /dev/null
> > > > > >> >
> > > > > >> > real 3m32.933s
> > > > > >> > user 2m17.929s
> > > > > >> > sys 0m7.628s
> > > > > >> >
> > > > > >> > $ time find . -type f -exec grep -i "string" {} > /dev/null \+
> > > > > >> >
> > > > > >> > real 3m46.720s
> > > > > >> > user 2m18.237s
> > > > > >> > sys 0m7.880s
> > > > > >> >
> > > > > >> >
> > > > > >> >
> > > > > >> > acabou que o xargs se saiu melhor que o último
> > > > > >> >
> > > > > >> >
> > > > > >> > 2013/2/2 Julio C. Neves address@hidden>
> > > > > >> >
> > > > > >> > > **
> > > > > >> > >
> > > > > >> > >
> > > > > >> > > Armando,
> > > > > >> > > vou te pedir um favor: rode as linhas a seguir e publique o
> > > > > resultado
> > > > > >> > nessa
> > > > > >> > > lista para que a rapaziada veja que o modo mais tradicional
> e
> > > mais
> > > > > >> > usado, é
> > > > > >> > > o mais lento.
> > > > > >> > >
> > > > > >> > > Modo tradicional:
> > > > > >> > > $ time find . -type f -exec grep -i "string" {} > /dev/null
> \;
> > > > > >> > >
> > > > > >> > > Ligeiramente "envenenado":
> > > > > >> > > $ time find . -type f | xargs grep -i "string" > /dev/null
> > > > > >> > >
> > > > > >> > > Muito "envenenado":
> > > > > >> > > $ time find . -type f -exec grep -i "string" {} > /dev/null
> \+
> > > > > >> > >
> > > > > >> > > Mandei as saídas para /dev/null pq todas as saídas seriam
> > > iguais e
> > > > > >> > > igualmente corretas, mas o que nos interessa no caso é
> somente
> > > os
> > > > > >> tempos.
> > > > > >> > >
> > > > > >> > > - Dever de casa - ;)
> > > > > >> > > Se alguém além do Armando (que iniciou a thread) tiver um
> > > > diretório
> > > > > >> com
> > > > > >> > > muitos arquivos de texto que possa fazer essa medição, peço
> > que
> > > tb
> > > > > >> poste
> > > > > >> > os
> > > > > >> > > resultados na lista.
> > > > > >> > >
> > > > > >> > > Abcs,
> > > > > >> > > Julio
> > > > > >> > > @juliobash
> > > > > >> > >
> > > > > >> > > Em 1 de fevereiro de 2013 20:13, Rafael Henrique da Silva
> > > Correia
> > > > <
> > > > > >> > > address@hidden> escreveu:
> > > > > >> > >
> > > > > >> > >
> > > > > >> > > > Acrescentando meus 0,02 centavos (li alternativas ótimas
> nas
> > > > > >> respostas
> > > > > >> > do
> > > > > >> > > > pessoal).... eu geralmente uso algo assim:
> > > > > >> > > >
> > > > > >> > > > $ find
> > > > > >> > > -type f -exec grep -i "string" \;
> > > > > >> > > >
> > > > > >> > > > Espero que vc consiga achar o find perfeito para seu
> > problema
> > > > ...
> > > > > ;)
> > > > > >> > > >
> > > > > >> > > > Até+
> > > > > >> > > >
> > > > > >> > > > Em 1 de fevereiro de 2013 15:53, Armando Barsotini Neto <
> > > > > >> > > > address@hidden> escreveu:
> > > > > >> > > >
> > > > > >> > > > > **
> > > > > >> > > > >
> > > > > >> > > > >
> > > > > >> > > > > Boa Tarde!
> > > > > >> > > > >
> > > > > >> > > > > Pessoal, estou utilzando o comando abaixo para pesquisar
> > uma
> > > > > >> palavra
> > > > > >> > > > dentro
> > > > > >> > > > > de uma arquivo utilizando o "grep -i" (não sensitivo):
> > > > > >> > > > >
> > > > > >> > > > > find . | xargs grep -i "string"
> > > > > >> > > > >
> > > > > >> > > > > Porém, ele faz a varredura no servidor inteiro e isso
> > demora
> > > > > >> muito...
> > > > > >> > > > teria
> > > > > >> > > > > como limitar essa busca em um determinado diretório e
> seus
> > > > > >> > > subdiretórios?
> > > > > >> > > > > Agradeço!
> > > > > >> > > > >
> > > > > >> > > > > Att,
> > > > > >> > > > >
> > > > > >> > > > > Armando Barsotini Neto
> > > > > >> > > > >
> > > > > >> > > > > Linux User # 503670
> > > > > >> > > > > Ubuntu User # 30175
> > > > > >> > > > >
> > > > > >> > > > > [As partes desta mensagem que não continham texto foram
> > > > > removidas]
> > > > > >> > > > >
> > > > > >> > > > >
> > > > > >> > > > >
> > > > > >> > > >
> > > > > >> > > >
> > > > > >> > > >
> > > > > >> > > > --
> > > > > >> > > > Rafael Henrique da Silva Correia
> > > > > >> > > > http://abraseucodigo.com.br
> > > > > >> > > >
> > > > > >> > > > Bacharel em Ciência da Computação
> > > > > >> > > > Administrador de Sistemas Linux
> > > > > >> > > > Certificado pela LPIC - 101 http://www.lpi.org/>
> > > > > >> > > > Certificado Novell (CLA)
> > > > > >> http://www.novell.com/training/certinfo/cla/>
> > > > > >> > > >
> > > > > >> > > >
> > > > > >> > > > [As partes desta mensagem que não continham texto foram
> > > > removidas]
> > > > > >> > > >
> > > > > >> > > >
> > > > > >> > > >
> > > > > >> > > > ------------------------------------
> > > > > >> > > >
> > > > > >> > > > ----------------------------------------------------------
> > > > > >> > > > Esta lista não admite a abordagem de outras liguagens de
> > > > > >> programação,
> > > > > >> > > como
> > > > > >> > > > perl, C etc. Quem insistir em não seguir esta regra será
> > > > moderado
> > > > > >> sem
> > > > > >> > > > prévio aviso.
> > > > > >> > > > ----------------------------------------------------------
> > > > > >> > > > Sair da lista:
> address@hidden
> > > > > >> > > > ----------------------------------------------------------
> > > > > >> > > > Esta lista é moderada de acordo com o previsto em
> > > > > >> > > > http://www.listas-discussao.cjb.net
> > > > > >> > > > ----------------------------------------------------------
> > > > > >> > > > Servidor Newsgroup da lista: news.gmane.org
> > > > > >> > > > Grupo: gmane.org.user-groups.programming.shell.brazil
> > > > > >> > > >
> > > > > >> > > > Links do Yahoo! Grupos
> > > > > >> > > >
> > > > > >> > > >
> > > > > >> > > >
> > > > > >> > >
> > > > > >> > > [As partes desta mensagem que não continham texto foram
> > > removidas]
> > > > > >> > >
> > > > > >> > >
> > > > > >> > >
> > > > > >> >
> > > > > >> >
> > > > > >> >
> > > > > >> > --
> > > > > >> > []'s
> > > > > >> > Alfredo Casanova
> > > > > >> > Linux User #228230
> > > > > >> > msn: address@hidden
> > > > > >> > tel: +55 61 9655 9619
> > > > > >> >
> > > > > >> >
> > > > > >> > [As partes desta mensagem que não continham texto foram
> > removidas]
> > > > > >> >
> > > > > >> >
> > > > > >> >
> > > > > >> > ------------------------------------
> > > > > >> >
> > > > > >> > ----------------------------------------------------------
> > > > > >> > Esta lista não admite a abordagem de outras liguagens de
> > > > programação,
> > > > > >> como
> > > > > >> > perl, C etc. Quem insistir em não seguir esta regra será
> > moderado
> > > > sem
> > > > > >> > prévio aviso.
> > > > > >> > ----------------------------------------------------------
> > > > > >> > Sair da lista: address@hidden
> > > > > >> > ----------------------------------------------------------
> > > > > >> > Esta lista é moderada de acordo com o previsto em
> > > > > >> > http://www.listas-discussao.cjb.net
> > > > > >> > ----------------------------------------------------------
> > > > > >> > Servidor Newsgroup da lista: news.gmane.org
> > > > > >> > Grupo: gmane.org.user-groups.programming.shell.brazil
> > > > > >> >
> > > > > >> > Links do Yahoo! Grupos
> > > > > >> >
> > > > > >> >
> > > > > >> >
> > > > > >>
> > > > > >> [As partes desta mensagem que não continham texto foram
> removidas]
> > > > > >>
> > > > > >>
> > > > > >>
> > > > > >
> > > > >
> > > > >
> > > > > --
> > > > > []'s
> > > > > Alfredo Casanova
> > > > > Linux User #228230
> > > > > msn: address@hidden
> > > > > tel: +55 61 9655 9619
> > > > >
> > > > >
> > > > > [As partes desta mensagem que não continham texto foram removidas]
> > > > >
> > > > >
> > > > >
> > > > > ------------------------------------
> > > > >
> > > > > ----------------------------------------------------------
> > > > > Esta lista não admite a abordagem de outras liguagens de
> programação,
> > > > como
> > > > > perl, C etc. Quem insistir em não seguir esta regra será moderado
> sem
> > > > > prévio aviso.
> > > > > ----------------------------------------------------------
> > > > > Sair da lista: address@hidden
> > > > > ----------------------------------------------------------
> > > > > Esta lista é moderada de acordo com o previsto em
> > > > > http://www.listas-discussao.cjb.net
> > > > > ----------------------------------------------------------
> > > > > Servidor Newsgroup da lista: news.gmane.org
> > > > > Grupo: gmane.org.user-groups.programming.shell.brazil
> > > > >
> > > > > Links do Yahoo! Grupos
> > > > >
> > > > >
> > > > >
> > > >
> > > > [As partes desta mensagem que não continham texto foram removidas]
> > > >
> > > >
> > > >
> > >
> > >
> > > [As partes desta mensagem que não continham texto foram removidas]
> > >
> > >
> > >
> > > ------------------------------------
> > >
> > > ----------------------------------------------------------
> > > Esta lista não admite a abordagem de outras liguagens de programação,
> > como
> > > perl, C etc. Quem insistir em não seguir esta regra será moderado sem
> > > prévio aviso.
> > > ----------------------------------------------------------
> > > Sair da lista: address@hidden
> > > ----------------------------------------------------------
> > > Esta lista é moderada de acordo com o previsto em
> > > http://www.listas-discussao.cjb.net
> > > ----------------------------------------------------------
> > > Servidor Newsgroup da lista: news.gmane.org
> > > Grupo: gmane.org.user-groups.programming.shell.brazil
> > >
> > > Links do Yahoo! Grupos
> > >
> > >
> > >
> >
> > [As partes desta mensagem que não continham texto foram removidas]
> >
> >
> >
>
>
> [As partes desta mensagem que não continham texto foram removidas]
>
>
>
> ------------------------------------
>
> ---------------------------------------------------------------------
> Esta lista não admite a abordagem de outras liguagens de programação, como
> perl, C etc. Quem insistir em não seguir esta regra será moderado sem
> prévio aviso.
> ---------------------------------------------------------------------
> Sair da lista: address@hidden
> ---------------------------------------------------------------------
> Esta lista é moderada de acordo com o previsto em
> http://www.listas-discussao.cjb.net
> ---------------------------------------------------------------------
> Servidor Newsgroup da lista: news.gmane.org
> Grupo: gmane.org.user-groups.programming.shell.brazil
>
> Links do Yahoo! Grupos
>
>
>


[As partes desta mensagem que não continham texto foram removidas]



reply via email to

[Prev in Thread] Current Thread [Next in Thread]