fbpx

Comandos Linux – Comando touch

Comando touch do Linux

comando de toque

Nos sistemas operacionais do tipo Unix, o comando touch modifica os registros de data e hora do arquivo . Se o arquivo não existir, um arquivo vazio com esse nome será criado.

Este documento cobre a versão GNU / Linux do touch .

Descrição

Um registro de data e hora são informações associadas a um arquivo que identifica um momento importante no histórico do arquivo. Um arquivo pode ter vários registros de data e hora e alguns deles podem ser “falsificados”, configurando-os manualmente. Internamente, o sistema operacional armazena esses horários com o tempo decorrido desde uma data arbitrária chamada época . Para sistemas operacionais Unix, a época é 00:00:00, hora universal coordenada ( UTC ), quinta-feira, 1 de janeiro de 1970.

No Linux , há três carimbos de data e hora associados a um arquivo:

Tipo de carimbo de data e horaDescriçãoAbreviação
Tempo de acessoA última vez que o arquivo foi lido.um tempo
Tempo de modificaçãoA última vez que o conteúdo do arquivo foi modificado.mtime
Mudar tempoA última vez que os metadados do arquivo , chamados Status, foram alterados. As informações de status incluem as permissões de um arquivo e seus carimbos de data e hora.

Sempre que algo acontece com um arquivo, pelo menos um elemento de seu status é alterado e seu ctime é definido como a hora atual do sistema.

ctime

O atime e o mtime fazem parte dos metadados de status de um arquivo. Portanto, quando você altera o atime ( -a ) ou mtime ( -m ) de um arquivo, seu ctime é automaticamente definido como o horário atual.

Não há como definir manualmente o ctime.

O atime ou mtime de um arquivo pode ser definido para o futuro ou o passado, se o usuário possuir o arquivo.

Sintaxe

toque em [[ -a ] [ -m ] | [ --time = scheduleype ] [...]] [[ -d  datestring ] | [ -t  timestamp ]]
      [ -c ] [ -f ] [ -h ] [ -r  reffile ] arquivo [ arquivo ...]
touch --version
touch --help

O único argumento necessário para tocar é um nome de arquivo :

ArquivoUm arquivo cujos horários devem ser alterados. Se o arquivo não existir, ele será criado, a menos que as opções -c ou -h sejam usadas.

Vários arquivos podem ser especificados como arquivo0 arquivo1 arquivo2 … etc.

(Se o arquivo for um traço ”  “, o toque modifica a saída padrão do descritor de arquivo especial . Veja exemplos .)

Sem opções, o toque altera a hora, o horário e o horário do arquivo para a hora atual do sistema.

Opções

OpçãoDescrição
-umaDefina apenas o tempo de acesso.
-c ,
–no-create
Não crie arquivos.
-d datestring ,
–date = datestring
Analisar a data corda DateString , e usá-lo em vez do tempo atual. Sequências válidas para o comando date são aceitas pela opção -d .

Veja exemplos .

Além de ter acesso de gravação, o usuário também deve possuir um arquivo para definir seus horários para o passado ou o futuro.

-fEsta opção não faz nada, mas é aceita para fornecer compatibilidade com as versões BSD do touch.
-h ,
– sem desreferencia
Se o arquivo for um link simbólico e essa opção for especificada, o toque modificará o carimbo de data e hora do link simbólico, em vez do arquivo referenciado. Se esta opção não for especificada, tocar vontade dereference links simbólicos antes de fazer modificações.

Esta opção implica -c : nada será criado se o arquivo não existir.

-mDefina apenas o tempo de modificação.
-r = reffile ,
–reference = reffile
Defina os horários do arquivo para os horários de repetição do arquivo em vez do horário atual.

Além de ter acesso de gravação, o usuário também deve possuir um arquivo para definir seus horários para o passado ou o futuro.

-t timestampUse o carimbo de data e hora numérico em vez da hora atual. O formato do registro de data e hora é [[ CC ] AA ] MMDDhhmm [ .ss ].

Veja exemplos .

Além de ter acesso de gravação, o usuário também deve possuir um arquivo para definir seus horários para o passado ou o futuro.

–time = horárioUma maneira alternativa de especificar que tipo de hora definir (como com -a e -m ).

O valor do horário deve ser um dos seguintes:

horário ,
acesso ,
uso
Defina o tempo de acesso. Equivalente a -a .
mtime ,
modificar
Defina o horário da modificação. Equivalente a -m .

Esta opção pode ser especificada duas vezes de maneira não destrutiva. Por exemplo, –time = atime –time = mtime é o mesmo que -am .

–SocorroExiba uma mensagem de ajuda e saia.
–versãoExiba informações da versão e saia.

Notas

A opção -d usa uma sequência de datas legível por humanos. Por exemplo, “4 de julho” , “4 de julho” , “0:00” ou “4 de julho de 2017 00:00:00” . Se ano, mês ou dia forem omitidos, os valores atuais da hora do sistema serão usados. Se a hora for omitida, será usada meia-noite. O dia pode ser especificado antes ou depois do mês na sequência. Os números de um dígito podem ser prefixados com zero, ou não, de acordo com a preferência. Se segundos são especificados, devem ser precedido no tempo por dois pontos ( : ).

-t utiliza um registro de data e hora numérico, que expressa o mês, data, hora e minuto como MMDDHHMM . Por exemplo, 07040000 seria meia-noite de quatro de julho. Século, anos e segundos são opcionais e podem ser especificados como CCYYMMDDHHMM.SS . Se segundos forem especificados, eles deverão ser precedidos por um ponto ( . ).

Especificar horários no futuro é bom. Por exemplo, -d “1 de janeiro de 2029” . Além de ter acesso de gravação, o usuário também deve possuir um arquivo para definir seus horários para o passado ou o futuro.

Como não há como definir manualmente ctimes, as opções -r , -d — t podem modificar apenas atimes e mtimes. Quando um arquivo é tocado, o ctime sempre será definido para a hora atual do sistema.

Fusos horários

Se o valor da variável de ambiente TZ for definido, todas as operações usarão esse fuso horário. Caso contrário, o fuso horário padrão do sistema é usado.

Para definir a variável de ambiente TZ , use o comando tzselect .

Status de saída

O status de saída do toque é zero se todas as operações foram bem-sucedidas. Qualquer valor diferente de zero indica falha.

Exemplos

toque em file.txt

Se o arquivo.txt existir, defina seus horários de acesso, modificação e alteração (atime, mtime e ctime) para a hora atual do sistema. Se file.txt não existir, crie um arquivo vazio com esse nome.

toque em -c file.txt

Se o arquivo.txt existir, defina seu horário como o horário atual do sistema. Se não existir, não faça nada.

toque -um arquivo.txt

Mude o atime de file.txt . O mtime não é alterado. O ctime está definido para a hora atual do sistema. Se o arquivo.txt não existir, ele será criado.

toque -h mysym

Altere os horários do arquivo mysym . Se for um link simbólico, altere os horários do link simbólico, não os horários do arquivo referenciado.

toque -cr a.txt b.txt

Altere os horários de acesso e modificação de b.txt para corresponder aos horários de a.txt . O ctime será definido para a hora atual do sistema. Se o arquivo.txt não existir, ele não será criado.

toque em -ahmcr a.txt b.txt

Altere o atime e mtime de b.txt para corresponder ao atime e mtime de a.txt . Se file1.txt não existir, não faça nada. Se b.txt for um link simbólico, defina os horários do link simbólico. Não toque no arquivo referenciado.

toque --time = atime --no-dereference --time = mtime --no-create --reference = a.txt b.txt

Igual ao comando anterior.

toque -d "31 de outubro" -> boo.txt

Defina a hora e o horário da saída padrão como meia-noite, 31 de outubro do ano atual. Redirecione ( > ) a saída padrão para boo.txt .

o toque não pode substituir o conteúdo de um arquivo existente, mas o redirecionamento o fará. Se o boot.txt não existir, ele será criado. Se o boot.txt existir, ele será substituído .

toque em -t "10310000" -> boo.txt

Igual ao comando anterior.

Exemplos

toque em -d "1 de fevereiro" file1.txt

Defina atime e mtime de file1.txt como 1º de fevereiro do ano atual. O ctime está definido para a hora atual do sistema.

toque -d "1 de fevereiro" file1.txt

Igual ao comando anterior.

touch --date = "1 de fevereiro" file1.txt

Igual ao comando anterior.

toque -d "01:02" file1.txt

Defina o atime e o mtime do arquivo1.txt como 01:02 hoje.

toque em -d "1: 2" file1.txt

Igual ao comando anterior.

touch -md "1 de setembro de 1927 23:58:59" file1.txt

Defina o mtime do arquivo1.txt como 1 de setembro de 1927, 23:58 e 59 segundos. O ctime está definido para a hora atual do sistema. O atime não é alterado.

Exemplos

touch --time = 01020304 file1.txt

Defina atime e mtime de file1.txt para 2 de janeiro de 3:04 do ano atual. O ctime está definido para a hora atual do sistema.

toque -t 01020304 file1.txt

Igual ao comando anterior.

toque -t 5006070405 file1.txt

Defina o atime e o mtime do arquivo1.txt para 7 de junho de 2050, 04:05. O ctime está definido para a hora atual do sistema.

toque -t 205007080405 file1.txt

Igual ao comando anterior, mas especificando explicitamente o século ( 20 ).

toque em 195003040506.59 file1.txt

Defina o atime de file1.txt como 4 de março de 1950, 5:06 e 59 segundos. O ctime está definido para a hora atual do sistema. O mtime não é alterado.

Verificando os horários dos arquivos com stat

Você pode verificar os horários de um arquivo usando o comando stat :

stat file.txt
stat: não é possível stat 'file.txt': esse arquivo ou diretório não existe
toque em file.txt; stat file.txt
  Arquivo: 'file.txt'
  Tamanho: 0 Blocos: 0 Bloco IO: 4096 arquivo vazio regular
Dispositivo: 802h / 2050d Inode: 668116 Links: 1
Acesso: (0664 / -rw-rw-r--) Uid: (1001 / hope) Gid: (1002 / hope)
Acesso: 2017-10-25 21: 35: 17.368254343 -0400
Modificar: 2017-10-25 21: 35: 17.368254343 -0400
Alteração: 2017-10-25 21: 35: 17.368254343 -0400
 Nascimento: -
toque -ad "12 de julho de 1895" file.txt; stat file.txt
  Arquivo: 'file.txt'
  Tamanho: 0 Blocos: 0 Bloco IO: 4096 arquivo vazio regular
Dispositivo: 802h / 2050d Inode: 668116 Links: 1
Acesso: (0664 / -rw-rw-r--) Uid: (1001 / hope) Gid: (1002 / hope)
Acesso: 1895-07-12 00: 00: 00.000000000 -0500
Modificar: 2017-10-25 21: 35: 17.368254343 -0400
Alterar: 2017-10-25 21: 35: 55.487636366 -0400
 Nascimento: -
toque -mt 198307010000 file.txt; stat file.txt
  Arquivo: 'file.txt'
  Tamanho: 0 Blocos: 0 Bloco IO: 4096 arquivo vazio regular
Dispositivo: 802h / 2050d Inode: 668116 Links: 1
Acesso: (0664 / -rw-rw-r--) Uid: (1001 / hope) Gid: (1002 / hope)
Acesso: 1895-07-12 00: 00: 00.000000000 -0500
Modificar: 1983-07-01 00: 00: 00.000000000 -0400
Mudança: 2017-10-25 21: 36: 59.654589018 -0400
 Nascimento: -
para formatospec em 'nome do arquivo: \ t% n' 'acessado: \ t% x' 'modificado: \ t% y' 'alterado: \ t% z'; do stat --printf = "$ formspec \ n" file.txt; feito
nome do arquivo: file.txt
Acessado: 1895-07-12 00: 00: 00.000000000 -0500
modificado: 1983-07-01 00: 00: 00.000000000 -0400
Alterado: 2017-10-25 21: 36: 59.654589018 -0400

Nota: Você pode observar neste conjunto de exemplos que, quando a hora foi alterada para 12 de julho de 1895, o fuso horário foi alterado. Isso ocorre porque o horário de verão (DST) não foi promulgado na América do Norte até 1º de abril de 1918.

data – exibe ou define a data e hora atuais.
stat – Exibe o status de um arquivo ou sistema de arquivos.

22 de novembro de 2019

Sobre nós

A Linux Force Brasil é uma empresa que ama a arte de ensinar. Nossa missão é criar talentos para a área de tecnologia e atender com excelência nossos clientes.

CNPJ: 13.299.207/0001-50
SAC:         0800 721 7901

Comercial  Comercial: (11) 3796-5900

Suporte:    (11) 3796-5900

Copyright © Linux Force Security  - Desde 2011.