[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [shell-script] Find
From: |
Julio Neves |
Subject: |
Re: [shell-script] Find |
Date: |
Wed, 10 Oct 2001 10:39:45 -0300 |
Olá José Augusto,
gostaria de agradecer-lhe pela execução dos teste que solicitei (fui eu
quem deu os pitacos e não o Leonardo) e dizer-lhe que resposta mais
detalhada e precisa é impossível. São msgs como esta que elevam o nível da
lista. Dizer "Faça man find" é uma resposta fácil e não ajuda em nada,
todos que estão na lista conhecem o man e, se apelam à lista, é por
dificuldade em um assunto específico que não conseguiram resolver com a
leitura do man.
Veja só! Desenvolvo em Shell desde o tempo que o "Mar Morto" ainda era um
"Mar Doente" e até hoje não tinha tirado estas dúvidas a limpo. Este S.O.
é muito vasto e completo mesmo...
[ ]s,
Julio
Favor responder a address@hidden
Para: address@hidden
cc:
Assunto: Re: [shell-script] Find
Leonardo.
Obrigado pelo elogio e quanto ao segundo comentário você está certo.
Deve-se usar a opção "-o" significando "OU" no lugar de "-a" (E).
Também obrigado por relatar o uso do + e do - antes da quantidade de
dias, eu me esqueci desse ponto pois estava dando um curso de Java e não
tinha um servidor UNIX a mão para verificar o man (salvador da pátria
sempre nesses casos).
Agora em relação a sua dúvida se o -7 representa a 7 dias inclusive
ou
exclusive aqui vai um comentário.
O UNIX nunca guarda a data por extenso no inode, guardando como atributo
das datas de modificação, criação do inode e acesso um valor no formato de
segundos. Explicando melhor. ele guarda a quantidade de segundos desde
primeiro de janeiro de 1970 as zero horas (01/01/70 00:00).
Portanto quando você coloca -7 no comando find ele transforma esse 7
em quantidade de segundos (7 * 24 * 60 * 60) e procura arquivos cujo
atributo pedido (-atime, -ctime ou -mtime) possua um valor maior que a
data
atual, também transformada em segundos menos o valor calculado.
Explicando melhor.
Imagine esse dois arquivos, estando servidor com a seguinte data "Wed Oct
10 09:29:04 SAT 2001"
arquivos t1 e t2
-rw------- 1 b234777 treina 22 Oct 3 09:27 t1
-rw------- 1 b234777 treina 31 Oct 3 09:30 t2
O comando "find t* -mtime -7" irá listar somente o arquivo t2 pois ele foi
modificado a menos de 604800 (7 * 24 * 60 * 60) segundos. (Veja que os
dois
arquivos foram modificados no dia 3/10 e o servidor está no dia 10/10, e
para o arquivo t1 a opção -7 foi exclusive e para o arquivo t2 a opção -7
foi inclusive, pois não leva em consideração o dia e sim a quantidade de
segundos)
Espero que com isso tenha tirado a sua dúvida.
[ ]'s a todos da lista.
José Augusto Martins Nieviadonski
HSBC Bank Brasil S.A.
Treinamento de Informática
Enviado Por : "Julio Neves" <address@hidden> - 09/10/01
15:44
Responder a shell-script
Para: address@hidden
cc: (cco: Jose NIEVIADONSKI/HBBR/HSBC)
Assunto: Re: [shell-script] Find
Favor responder a address@hidden
Para: address@hidden
cc:
Assunto: Re: [shell-script] Find
Olá José Augusto,
acabei de responder ao Leonardo pq não havia visto a sua resposta. Mas foi
legal pq tenho 2 comentários a fazer.
>Leonardo
> A opção -ctime indica "creation time", ou seja, a quantos dias o
inode
>do arquivo foi alterado. O termo "creation time" gera um pouco de dúvida,
>pois não se refere exatamente à data de criação do arquivo mas sim à data
>de alteração de algum atributo do seu inode. Comando como chmod, chown,
>chgrp alteram essa data pois alteram os atributos do inode.
Achei este parágrafo sensacional, já havia perdido muito tempo e não tinha
percebido esta jogada do inode que vc relatou. Grande sacada! Valeu!
> Como você quer saber quais arquivos foram criados ou modificados nos
>últimos 7 dias, deve usar a opção -mtime junto com a opção -ctime. O
>comando abaixo deve funcionar.
>
>find <diretorio_pesquisa> -ctime 7 -a -mtime 7
Aqui eu tenho umas dúvidas, que relato por estar sem máquina para testar:
1 - Acho (tenho quase que certeza) que a opção -a significa "e" (and)
assim vc estaria procurando arquivos alterados "e" criados há 7 dias;
2 - Para arquivos alterados nos últimos 7 dias a sintaxe não seria -mtime
-7? Acho (tenho quase que certeza) que -7 significa há menos de 7 dias,
não
sei se inclusive ou exclusive.
Como estou em uma máquina rwin, não posso fazer estes testes, mas gostaria
de um feed back, se possível. Me desculpe pelo pitaco, mas acho estes
pontos um pouco obscuros e gostaria de aprender um pouco mais.
[ ]s,
Julio
Enviado Por : "Leonardo Serra Maciel de Campos" <address@hidden> -
08/10/01 23:12
Enviado Por: address@hidden
Responder a shell-script
Para: address@hidden
cc: (cco: Jose NIEVIADONSKI/HBBR/HSBC)
Assunto: [shell-script] Find
Ola a todos
gostaria de saber qual é a opção certa para que com o find eu saiba quais
sao
os arquivos que foram criados ou modificados durante os ultimos 7 dias
to utilizando o seguinte:
# find /home -mtime 7
mas nao sei se é certo
pq tb nao sei a diferenca se ficar assim:
# find /home -ctime 7
t+
leoserra
-------------------------------
http://www.brfree.com.br - O primeiro provedor gratuito do Brasil
Sair da lista: address@hidden
Banco Dados: http://www.egroups.com/group/shell-script
Seu uso do Yahoo! Grupos é sujeito às regras descritas em:
http://br.yahoo.com/info/utos.html
This message and any attachments are confidential to the ordinary user of
the e-mail address to which it was addressed and may also be privileged.
If
you are not the adressee you may not copy, forward, disclose or use any
part of the message or its attachments and if you have received this
message in error, please notify the sender immediately by return e-mail
and
delete it from your system.
Internet communications cannot be guaranteed to be secure or error-free as
information could be intercepted, corrupted, lost, arrive late or contain
viruses. The sender therefore does not accept liability for any errors or
omissions in the context of this message which arise as a result of
Internet transmission.
Sair da lista: address@hidden
Banco Dados: http://www.egroups.com/group/shell-script
Seu uso do Yahoo! Grupos é sujeito às regras descritas em:
http://br.yahoo.com/info/utos.html
Sair da lista: address@hidden
Banco Dados: http://www.egroups.com/group/shell-script
Seu uso do Yahoo! Grupos é sujeito às regras descritas em:
http://br.yahoo.com/info/utos.html
This message and any attachments are confidential to the ordinary user of
the e-mail address to which it was addressed and may also be privileged.
If
you are not the adressee you may not copy, forward, disclose or use any
part of the message or its attachments and if you have received this
message in error, please notify the sender immediately by return e-mail
and
delete it from your system.
Internet communications cannot be guaranteed to be secure or error-free as
information could be intercepted, corrupted, lost, arrive late or contain
viruses. The sender therefore does not accept liability for any errors or
omissions in the context of this message which arise as a result of
Internet transmission.
Sair da lista: address@hidden
Banco Dados: http://www.egroups.com/group/shell-script
Seu uso do Yahoo! Grupos é sujeito às regras descritas em:
http://br.yahoo.com/info/utos.html