fbpx Certificação Linux: Comando touch no Linux (altera metadados) [Guia Básico]

Blog

Comando touch no Linux (altera metadados) [Guia Básico]

📅 01/01/2019 ⏱ 4 min ✍️ Uira Ribeiro
Linuxcomandos
Comando touch no Linux (altera metadados) [Guia Básico]

Altere os metadados dos arquivos no Linux com o comando touch

Todo arquivo contém informações de metadados, como o seu nome, data de criação, data de modificação e data de último acesso, dentre outras informações.

O comando touch serve para alterar os metadados de tempo dos arquivos, modificando a data de último acesso ou de modificação dos arquivos. 

Isto pode ser útil para marcar um arquivo sofrer backup incremental ou diferencial a partir de uma determinada data, ou ser sincronizado num repositório, sem a necessidade de alterar o conteúdo do arquivo, bastando alterar a sua data de modificação.

O comando touch também é útil para criar um arquivo vazio, se o arquivo informado não existir.

Opções do comando touch

As opções mais comuns são:

  • -a                Muda a informação de último acesso do arquivo
  • -c                Não cria o arquivo se ele não existir
  • -d data       Permite que uma data no formato texto seja informada ao invés da data e hora corrente
  • -m               Muda a hora de modificação do arquivo
  • -t stamp    Usa o formato  [[CC]YY]MMDDhhmm[.ss] ao invés da data e hora corrente
  • --time=PALAVRA    Muda a informação de tempo informada, que pode ser atime (acesso) ou modificação (mtime)

A opção  -d=data é texto de data legível por humanos, na sua maioria livre, como "Dom, 29 de fevereiro de 2004 16:21:42 -0800 "ou" 2004-02-29 16:21:42 "ou até "próxima quinta-feira". Uma sequência de datas pode conter itens indicando data do calendário, hora do dia, fuso horário, dia da semana, hora relativa, data relativa e números. 

Criar arquivo vazio no Linux

No exemplo abaixo o touch é usado para criar um arquivo vazio chamado config.txt:

$ touch config.txt$ ls -l-rw-rw-r-- 1 ec2-user ec2-user       0 set 13 22:29 config.txt

Criar vários arquivos de uma vez no Linux

Uma lista também pode ser usada para criar vários arquivos:

$ touch teste{1..3}.txt$ ls -l-rw-rw-r-- 1 ec2-user ec2-user     226 set 12 16:14 teste1.c-rw-rw-r-- 1 ec2-user ec2-user       0 set 13 22:31 teste1.txt-rw-rw-r-- 1 ec2-user ec2-user       0 set 13 22:31 teste2.txt-rw-rw-r-- 1 ec2-user ec2-user       0 set 13 22:31 teste3.txt

Alterar data de modificação de um arquivo no Linux

O touch pode ser usado para alterar a data de modificação de um arquivo, como por exemplo teste1.c que foi alterando em 12/set:

$ touch -d "09/12" teste1.c
$ ls -l -rw-rw-r-- 1 ec2-user ec2-user   226 set 12 22:35 teste1.c-rw-rw-r-- 1 ec2-user ec2-user     0 set 13 22:31 teste1.txt-rw-rw-r-- 1 ec2-user ec2-user     0 set 13 22:31 teste2.txt-rw-rw-r-- 1 ec2-user ec2-user     0 set 13 22:31 teste3.txt

Você também pode especificar uma data e hora específica ao invés da data e hora correntes. Neste exemplo: 11/05/1978 às 18:40:30 :

$ touch -t 197805111840.30 teste1.c$ ls -l -rw-rw-r-- 1 ec2-user ec2-user   226 mai 11  1978 teste1.c

O formato da hora específica é definido pelo padrão CCYYMMDDhhmm.ss, em que:

  • CC – Os dois primeiros dígitos do ano.
  • YY – Os dois dígitos subsequentes do ano.
  • MM – O mês do ano [01-12].
  • DD – O dia do mês [01-31].
  • hh – A hora do dia [ 00-23].
  • mm – O minuto da hora [00-59].
  • ss – O segundo do minuto [00-59]

Você também pode especificar a data e a hora como um conjunto (string) usando a opção -d. A linha de comando a seguir mostra um exemplo que define a data para 23 de fevereiro e a hora é automaticamente definida para 00:00:

$ touch -d '23 Feb'  teste1.c$ ls -l teste*-rw-rw-r-- 1 ec2-user ec2-user   226 fev 23  2019 teste1.c

Veja este pequeno vídeo de como funciona o comando touch:

Aprenda muito mais sobre Linux em nosso curso online. Você pode efetuar a matrícula aqui. Se você já tem uma conta, ou quer criar uma, basta entrar ou criar seu usuário aqui.

Gostou? Compartilhe

Uira Ribeiro

Prof. Uirá Ribeiro

Chair do Board do Linux Professional Institute

Especialista Linux com mais de 20 anos de experiência.
Autor de 5 livros e mentor de mais de 14.000 alunos certificados.
20 certificações de alto nível, incluindo LPIC-3, CKA, RHCE e AWS Solutions Architect.

WhatsApp