The UNIX and Linux Forums  


Go Back   O UNIX e Linux Forum > Top Fóruns > UNIX para Dummies Perguntas & Respostas > Respostas a Perguntas Frequentes > Dicas e Tutoriais
.
google unix.com



Dicas e Tutoriais Helpful artigos de nossos usuários.

Mais UNIX e Linux Fórum Tópicos Você pode achar Helpfull
Fio Thread Starter Fórum Respostas Última postagem
como encontrar ot ctime, mtime, ATIME nilesrex Programação Shell Script e 5 11-08-2008 04:35
ATIME, ctime, mtime algures ao longo csize .. moxxx68 UNIX para Dummies Perguntas & Respostas 4 03-02-2005 06:14
mtime ctime vs moxxx68 UNIX para Dummies Perguntas & Respostas 3 11-06-2004 10:57
Convertendo horário regular para ctime PGPhantom UNIX para Dummies Perguntas & Respostas 9 08-23-2002 10:47
ctime e encontrar 98_1LE UNIX para Dummies Perguntas & Respostas 1 06-22-2001 04:33

 
English Japanese Spanish French German Portuguese Italian Dutch Swedish Russian Norwegian Hungarian Hebrew Danish Bulgarian Greek Powered by Powered by Google
 
Linkback Thread Tools Pesquisar este Thread Avaliação: Thread Rating: 11 votes, 4.91 average. Display Modes
  #1 (permalink)  
Old 07-31-2005
Perderabo's Avatar
Perderabo Perderabo is offline Forum Staff  
Unix Daemon
  
 

Join Date: Aug 2001
Localização: Ashburn, Virginia
Mensagens: 9.126
mtime, ctime, e ATIME

Unix mantém timestamps 3 para cada arquivo: mtime, ctime, e ATIME. A maioria das pessoas parecem compreender ATIME (acesso tempo), é quando o arquivo foi lido. Lá não parece ser uma certa confusão entre mtime ctime e embora. ctime é o nodo mudança, enquanto mtime é a modificação do ficheiro tempo. "Alterar" e "alteração" são muito sinônimos. Não há nenhum indício de ser tido por refletir essas palavras. Em vez disso você precisa se concentrar no que está sendo mudado. mtime muda quando você escrever para o arquivo. É a idade dos dados no arquivo. Sempre mtime alterações, de forma que não ctime. Mas algumas mudanças ctime extra vezes. Por exemplo, ele irá mudar se você mudar o proprietário ou as permissões do arquivo.

Vejamos um exemplo concreto. Nós corremos um pacote chamado Samba que permite aceder aos ficheiros do PC. Para alterar a configuração Samba, acabei de editar um arquivo chamado smb.conf. (Isto muda e mtime ctime.) Não tenho necessidade de tomar qualquer outra acção para dizer Samba que eu alterei o arquivo. Cada agora e então Samba olha o mtime sobre o arquivo. Se o mtime mudou, Samba Atualiza o arquivo. Mais tarde naquela noite o nosso sistema de backup é executado. Usa ctime, que também mudou o modo que faz o backup de arquivos. Mas digamos que um par de dias mais tarde eu aviso que as permissões em smb.conf são 666. Isso não é bom .. qualquer pessoa pode editar o arquivo. Então devo fazer um "chmod 644 smb.conf". Isso muda apenas ctime. Samba não irá reler o arquivo. Mas depois dessa noite, o nosso programa backup anúncios ctime que tem mudanças, por isso backup do arquivo. Dessa forma, se perdermos o sistema ea necessidade de recarregar nossas backups, ficamos com a nova definição melhorada permissão.

Aqui está um segundo exemplo. Vamos dizer que você tem um arquivo de dados chamado employees.txt o que é uma lista de colaboradores. E você tem um programa para imprimi-lo. O programa não só imprime os dados, mas que obtém o mtime e que imprime também. Agora, alguém pediu uma lista de empregados ao final do ano 2000 e que encontrou uma fita de backup que tem esse arquivo. Muitos programas restaurar irá restaurar a mtime também. Quando você executar esse programa irá imprimir um mtime partir do final do ano de 2000. Mas o ctime é hoje. Então, novamente, nosso backup programa irá ver o arquivo como necessitando de ser compensados.

Suponha restaurar o seu programa não restaurar o mtime. Você não quer que seu programa para imprimir a data actual. Pois não há problema. mtime está sob seu controle. Você pode configurá-lo para que cada vez que quiser. Então basta fazer:
$ Touch-t 200012311800 employees.txt
Isto irá definir mtime volta para a data pretendida e põe-se a ctime agora. Você tem o controle completo sobre mtime, mas o sistema permanece no controle da ctime. Mtime Então é um pouco como a data em uma carta, enquanto ctime é como o carimbo do correio no envelope.
  #2 (permalink)  
Old 12-28-2006
Perderabo's Avatar
Perderabo Perderabo is offline Forum Staff  
Unix Daemon
  
 

Join Date: Aug 2001
Localização: Ashburn, Virginia
Mensagens: 9.126
encontrar-comando-mtime ctime-ATIME

O comando usa encontrar argumentos semelhantes:
-mtime -2
-mtime 2
-mtime 2

Existem ctime-e-ATIME opções também. Desde agora compreender as diferenças entre mtime, ctime, e ATIME, por entender como usa a encontrar-mtime opção, os outros dois se tornam tão bem entendido. Então vou descrever encontrar uso do-mtime opção.

Como você provavelmente sabe, encontrar o comando pode ser executado por minutos ou horas, dependendo do tamanho dos arquivos a ser pesquisado. O comando faz encontrar uma nota de iniciar o seu próprio tempo. Em seguida, analisa uma mtime do arquivo e calcula quantos segundos atrás o arquivo foi modificado. Dividindo a 86.400 por segundo (e rejeitando qualquer remanescente), ele pode calcular a idade do arquivo em dias:
Código:
0 days in seconds:       0  -   86399
1 day in seconds:    86400  -  172799
2 days in seconds:  172800  -  259159
Portanto, agora que sabemos quantos dias atrás um arquivo foi modificado, podemos usar coisas como "-mtime 2", que especifica os ficheiros que são 172800-259159 segundo mais velho do que o instante que o comando foi encontrar começou.

"-mtime -2" significa arquivos que estejam a menos de 2 dias de idade, como um arquivo que é 0 ou 1 dia de idade.

"-mtime +2" significa arquivos que são mais de 2 dias de idade ... (3, 4, 5, ...)

Pode parecer estranho, mas 0 é suposto para trabalhar e arquivos significaria mais de 0 dias. É muito importante reconhecer que encontramos o conceito de um "dia" não tem nada a ver com a meia-noite.

Última edição por Perderabo; em 08/05/2007 12:40..
  #3 (permalink)  
Old 08-30-2007
Perderabo's Avatar
Perderabo Perderabo is offline Forum Staff  
Unix Daemon
  
 

Join Date: Aug 2001
Localização: Ashburn, Virginia
Mensagens: 9.126
Usar o perl para exibir o arquivo timestamps

O programa irá mostrar ls mtime se você usar o "ls-l". E você pode obter ATIME ou ctime com "ls-lu" ou "ls-lc". Mas ls usa um formato estranho. Ela exibe o mês eo dia em todos os casos. Se a hora é recente, mas também exibe hora e minuto. Se a hora é mais de 6 meses, é mostrar o ano em vez de hora e minuto. Um script pode reformatar inteligente para este ano, mês, dia, hora e minuto. Mas ls não irá exibir o segundo. O gnu Versão do ls (que geralmente é a única versão do Linux) não tem opções como prorrogado - integral. Porém, estas opções são prorrogados não-padrão e não estará disponível em outras versões do Unix.

O perl idioma também é não-padrão, mas perl tende a estar disponível na maioria das versões do Unix. Por exemplo, uma versão do perl é fornecido com o HP-UX e Solaris. Perl pode visualizar facilmente o timestamps de arquivos. Aqui estão alguns perl um liners para exibir ATIME, mtime, e ctime.


Código:
$ echo hello > testfile ; date
Thu Aug 30 08:31:57 EDT 2007
$ chmod 700 testfile ; date
Thu Aug 30 08:32:48 EDT 2007
$ cat testfile ; date
hello
Thu Aug 30 08:33:30 EDT 2007
$
$
$
$
$ perl -e '@d=localtime ((stat(shift))[8]); printf "%4d%02d%02d%02d%02d%02d\n", $d[5]+1900,$d[4]+1,$d[3],$d[2],$d[1],$d[0]' testfile
20070830083330
$ perl -e '@d=localtime ((stat(shift))[9]); printf "%4d%02d%02d%02d%02d%02d\n", $d[5]+1900,$d[4]+1,$d[3],$d[2],$d[1],$d[0]' testfile
20070830083157
$ perl -e '@d=localtime ((stat(shift))[10]); printf "%4d%02d%02d%02d%02d%02d\n", $d[5]+1900,$d[4]+1,$d[3],$d[2],$d[1],$d[0]' testfile
20070830083248
$
 

Marcadores

Tags
ATIME, ctime, modificação tempo, mtime, perl, perl turnos, deslocar, turnos perl, tempo

Thread Tools Pesquisar este Thread
Pesquisar este Thread:

Pesquisa Avançada
Display Modes Esta taxa Thread
Esta taxa Thread:

Destacamento Regimento
Você não pode postar novas threads
Você não pode postar respostas
Você não pode postar anexos
Você não pode editar suas postagens

BB code é Ligado
Smilies são Ligado
[IMG] código é Ligado
Código HTML é Desligado
Trackbacks são Ligado
Pingbacks são Ligado
Refbacks são Ligado




Todos os horários são GMT -4. A hora é agora 05:30.


Powered by: vBulletinCopyright © 2000 - 2006, Jelsoft Enterprises Limited. Língua Traduções Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
O UNIX e Linux Fóruns Content Copyright © 1993-2009. Todos os Direitos Reserved.Ad Gestão por RedTyger

Content Relevant URLs por vBSEO 3.2.0