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
Tag:/dev, bash, certificação, certificaçãolinux, code, Comptia, developer, empreendedorismo, exame, freesoftware, gnu, hack, Linux, linuxfan, linuxfun, linuxmint, lovelinux, LPI, LPIC, management, nerd, opensource, php, prova, shell, software, softwarelivre, sql, tech, ti, unix