Como usar o Touch Command no Linux

Crie novos arquivos vazios ou atualize carimbos de data / hora de arquivos / diretórios existentes facilmente usando o comando ‘touch’

A principal aplicação do toque comando é criar arquivos sem qualquer conteúdo. Criar arquivos vazios pode parecer uma perda de memória do sistema, mas há um problema aqui. toque O comando está à sua disposição quando você deseja criar registros de data e hora ou logs enquanto trabalha em um grande projeto que requer manutenção e monitoramento de logs. Você pode simplesmente criar um arquivo vazio usando toque e o arquivo terá o carimbo de hora e data de quando foi criado. (Nas informações do arquivo e não como o conteúdo do arquivo).

O segundo uso importante do toque comando é modificar a hora de acesso e modificação de um arquivo. Cada arquivo / diretório possui um carimbo de data / hora exclusivo adicionado a ele. Mostra o tempo de acesso e modificação do arquivo / diretório. Mas essas informações podem ser alteradas facilmente usando o toque comando.

Vamos ver o uso de toque comando em mais detalhes com exemplos autoexplicativos.

Opções usadas com toque comando

Existem várias opções disponíveis para serem usadas com o toque comando.

OpçãoDescrição
-umaalterar o tempo de acesso do arquivo
-mmudar a hora de modificação do arquivo
-calterar o tempo de acesso do arquivo sem criar um novo
-ruse um arquivo de referência para definir os carimbos de data / hora do arquivo ou diretório
-ddefinir o mesmo carimbo de data / hora arbitrário para acesso e hora de modificação usando data legível por humanos em formato livre
-tcrie um arquivo usando um tempo especificado

Usando toque Comando

O toque comando pode ser usado para criar arquivos vazios sem usar qualquer opção. Siga os exemplos fornecidos abaixo para criar arquivos vazios únicos ou múltiplos.

Para criar um arquivo vazio

Você pode usar o toque comando sem qualquer opção para criar um único arquivo vazio.

Sintaxe:

toque em [nome do arquivo]

Exemplo:

gaurav @ ubuntu: ~ / workspace $ touch iift.txt

Aqui, criei um arquivo chamado iift.txt usando toque comando. Use o ls comando para ver se o arquivo é criado.

gaurav @ ubuntu: ~ / workspace $ ls iift.txt init1 init2 init3 init4

Para ver as informações do arquivo, você pode usar o Estado comando da seguinte forma.

gaurav @ ubuntu: ~ / workspace $ stat iift.txt Arquivo: iift.txt Tamanho: 0 Blocos: 0 Bloco IO: 4096 arquivo vazio regular Dispositivo: 808h / 2056d Inode: 1990385 Links: 1 Acesso: (0644 / -rw-r --r--) Uid: (1000 / gaurav) Gid: (1000 / gaurav) Acesso: 2020-09-14 10: 18: 43.318160860 +0530 Modificar: 2020-09-14 10: 18: 43.318160860 +0530 Alterar: 2020-09-14 10: 18: 43.318160860 +0530 Nascimento: - gaurav @ ubuntu: ~ / workspace $

Para criar vários arquivos vazios

Se você deseja criar vários arquivos vazios de uma vez, você pode usar o toque comando da seguinte maneira.

Sintaxe:

toque em [nome do arquivo-1] [nome do arquivo-2] [nome do arquivo-3]

Exemplo:

gaurav @ ubuntu: ~ / workspace $ touch log1.txt ssh.txt filemove.c gaurav @ ubuntu: ~ / workspace $ ls -l total 36 -rw-r - r-- 1 gaurav gaurav 0 Set 14 10:35 filemove .c -rw-r - r-- 1 gaurav gaurav 0 Set 14 10:18 iift.txt -rw-r - r-- 1 gaurav gaurav 0 Set 14 10:35 log1.txt -rw-r-- r-- 1 gaurav gaurav 0 14 de setembro 10:35 ssh.txt

Aqui, criei três arquivos ‘log1.txt’, ‘ssh.txt’ e ‘filemove.c’. Eles têm extensões de arquivo diferentes.

Você também pode criar arquivos vazios em massa usando a seguinte maneira.

Sintaxe:

toque em [nome do arquivo] - {1..n} .txt

Exemplo:

Vamos criar 10 arquivos viz. sheldon_log-1.txt, sheldon_log-2.txt e assim por diante até sheldon_log-10.txt

gaurav @ ubuntu: ~ / workspace $ touch sheldon_log- {1..0} .txt gaurav @ ubuntu: ~ / workspace $
gaurav @ ubuntu: ~ / workspace $ ls filemove.c iift.txt sheldon_log-10.txt sheldon_log-2.txt sheldon_log-4.txt sheldon_log-6.txt sheldon_log-8.txt gsy.c log1.txt sheldon_log-1. txt sheldon_log-3.txt sheldon_log-5.txt sheldon_log-7.txt sheldon_log-9.txt gaurav @ ubuntu: ~ / workspace $

Alterar ou modificar a hora de acesso do arquivo ou diretório

O registro de data e hora de acesso é a última vez em que um arquivo foi lido. Sempre que um usuário lê um arquivo, o carimbo de data / hora de acesso para esse arquivo é atualizado. O carimbo de data / hora de acesso denota a hora em que o arquivo foi acessado pela última vez. Não há nenhuma modificação ocorrendo com este arquivo ou diretório, mas ele está apenas sendo referenciado ou lido.

Usando toque comando com opção -uma modifica o ‘Tempo de acesso’ de um arquivo específico. O novo ‘Access Time’ será definido para a data e hora atuais. Para verificar o tempo de acesso atual e o tempo de modificação, use o Estado comando.

Arquivo de modificação

Sintaxe:

toque em -a [nome do arquivo]

Exemplo:

Veremos o tempo de acesso atual do arquivo a ser modificado.

gaurav @ ubuntu: ~ / workspace $ stat log1.txt Arquivo: log1.txt Tamanho: 0 Blocos: 0 Bloco IO: 4096 arquivo vazio regular Dispositivo: 808h / 2056d Inode: 2001385 Links: 1 Acesso: (0644 / -rw-r --r--) Uid: (1000 / gaurav) Gid: (1000 / gaurav) Acesso: 2020-09-13 23: 52: 19.305416141 +0530 Modificar: 2020-09-13 23: 52: 00.215090207 +0530 Alterar: 2020-09-13 23: 52: 19.305416141 +0530 Nascimento: - gaurav @ ubuntu: ~ / workspace $

Usando toque -a para alterar a hora de acesso do arquivo log1.txt para a data e hora atuais.

Saída:

gaurav @ ubuntu: ~ / workspace $ touch -a log1.txt gaurav @ ubuntu: ~ / workspace $
gaurav @ ubuntu: ~ / workspace $ stat log1.txt Arquivo: log1.txt Tamanho: 0 Blocos: 0 Bloco IO: 4096 arquivo vazio regular Dispositivo: 808h / 2056d Inode: 2001385 Links: 1 Acesso: (0644 / -rw-r --r--) Uid: (1000 / gaurav) Gid: (1000 / gaurav) Acesso: 2020-09-14 10: 59: 24.972855176 +0530 Modificar: 2020-09-13 23: 52: 00.215090207 +0530 Alterar: 2020-09-14 10: 59: 24.972855176 +0530 Nascimento: - gaurav @ ubuntu: ~ / workspace $

Você pode observar que o tempo de acesso do arquivo log1.txt agora está modificado.

Modificando Diretório

toque -a também pode ser usado para modificar o tempo de acesso de um diretório da mesma forma que é feito para um arquivo.

Sintaxe:

touch -a [caminho_diretório]

Exemplo:

gaurav @ ubuntu: ~ $ stat ./workspace/tomcat Arquivo: ./workspace/tomcat Tamanho: 4096 Blocos: 8 Bloco IO: 4096 diretório Dispositivo: 808h / 2056d Inode: 2039942 Links: 3 Acesso: (0775 / drwxrwxr-x) Uid: (1000 / gaurav) Gid: (1000 / gaurav) Acesso: 2018-03-30 11: 18: 28.912666800 +0530 Modificar: 2018-03-30 00: 13: 02.452194000 +0530 Alterar: 2020-09-14 11 : 18: 28.912666800 +0530 Nascimento: -

Usando toque -a para modificar o tempo de acesso para o diretório tomcat.

gaurav @ ubuntu: ~ $ touch -a ./workspace/tomcat
gaurav @ ubuntu: ~ $ stat ./workspace/tomcat Arquivo: ./workspace/tomcat Tamanho: 4096 Blocos: 8 Bloco IO: 4096 diretório Dispositivo: 808h / 2056d Inode: 2039942 Links: 3 Acesso: (0775 / drwxrwxr-x) Uid: (1000 / gaurav) Gid: (1000 / gaurav) Acesso: 2020-09-14 11: 21: 10.638538949 +0530 Modificar: 2018-03-30 00: 13: 02.452194000 +0530 Alterar: 2020-09-14 11 : 21: 10.638538949 +0530 Nascimento: - gaurav @ ubuntu: ~ $

Aqui, o tempo de acesso do diretório ‘tomcat’ agora é alterado para a data e hora atuais.

Alterar a hora de modificação do arquivo / diretório

O tempo de modificação significa a última vez que o conteúdo de um arquivo foi modificado. Um programa ou processo editou ou modificou o arquivo. “Modificado” significa que algo dentro do arquivo foi corrigido, excluído ou novos dados foram adicionados.

Usando toque comando junto com a opção -m modifica o ‘Modification Time’ de um arquivo ou diretório. Os métodos a seguir podem ser implantados para arquivo e diretório.

Para Arquivo

toque -m [nome do arquivo]

Exemplo:

Em primeiro lugar, usando Estado comando para exibir o tempo de modificação para o arquivo.

gaurav @ ubuntu: ~ / workspace $ stat iift.txt Arquivo: iift.txt Tamanho: 66 Blocos: 8 Bloco IO: 4096 arquivo regular Dispositivo: 808h / 2056d Inode: 1990385 Links: 1 Acesso: (0644 / -rw-r- -r--) Uid: (1000 / gaurav) Gid: (1000 / gaurav) Acesso: 2020-09-14 11: 33: 36.927262587 +0530 Modificar: 2020-09-12 08: 33: 28.339190370 +0530 Alterar: 2020 -09-12 08: 33: 28.339190370 +0530

Agora use o toque -m comando para modificar o tempo de modificação.

gaurav @ ubuntu: ~ / workspace $ touch -m iift.txt
gaurav @ ubuntu: ~ / workspace $ stat iift.txt Arquivo: iift.txt Tamanho: 66 Blocos: 8 Bloco IO: 4096 arquivo regular Dispositivo: 808h / 2056d Inode: 1990385 Links: 1 Acesso: (0644 / -rw-r- -r--) Uid: (1000 / gaurav) Gid: (1000 / gaurav) Acesso: 2020-09-14 11: 33: 36.927262587 +0530 Modificar: 2020-09-14 11: 34: 34.719723531 +0530 Alterar: 2020 -09-14 11: 34: 34.719723531 +0530 Nascimento: - gaurav @ ubuntu: ~ / workspace $

O ‘tempo de modificação’ do arquivo iift.txt agora é alterado para a data e hora atuais.

Para Diretório

touch -m [caminho_do_diretório] OU [nome_do_diretório]

Exemplo:

Vamos mudar o tempo de modificação do diretório chamado ‘tomcat’ usando o toque -m comando. Vamos descobrir o seu atual ‘Tempo de modificação’ usando o Estado comando.

gaurav @ ubuntu: ~ / workspace $ stat tomcat Arquivo: tomcat Tamanho: 4096 Blocos: 8 Bloco IO: 4096 diretório Dispositivo: 808h / 2056d Inode: 2039942 Links: 3 Acesso: (0775 / drwxrwxr-x) Uid: (1000 / gaurav ) Gid: (1000 / gaurav) Acesso: 2020-09-14 11: 21: 10.638538949 +0530 Modificar: 2019-07-12 11: 43: 22.482485281 +0530 Alteração: 2019-07-12 11: 43: 22.482485281 +0530 Aniversário: -

Saída:

gaurav @ ubuntu: ~ / workspace $ touch -m tomcat
gaurav @ ubuntu: ~ / workspace $ stat tomcat Arquivo: tomcat Tamanho: 4096 Blocos: 8 Bloco IO: 4096 diretório Dispositivo: 808h / 2056d Inode: 2039942 Links: 3 Acesso: (0775 / drwxrwxr-x) Uid: (1000 / gaurav ) Gid: (1000 / gaurav) Acesso: 2020-09-14 11: 21: 10.638538949 +0530 Modificar: 2020-09-14 11: 43: 22.482485281 +0530 Alteração: 2020-09-14 11: 43: 22.482485281 +0530 Nascimento: - gaurav @ ubuntu: ~ / workspace $

Aqui, eu mudei o timestamp de modificação para o diretório ‘tomcat’.

Alteração do tempo de acesso sem criar novo arquivo

toque comando quando executado, cria um novo arquivo vazio. Mas podem ocorrer alguns casos em que o arquivo já foi criado e você apenas deseja modificar a hora de acesso desse arquivo sem criar um novo.

Nesta situação, você pode usar toque comando com o -c opção que evita a criação de um novo arquivo e ainda permite modificar a data e hora do Access.

Sintaxe:

toque -c [nome do arquivo]

Exemplo:

gaurav @ ubuntu: ~ / workspace $ touch -c iift.txt gaurav @ ubuntu: ~ / workspace $ ls demo gsy.c log1.txt sheldon_log-1.txt sheldon_log-3.txt sheldon_log-5.txt sheldon_log-7.txt sheldon_log-9.txt filemove.c iift.txt sheldon_log-10.txt sheldon_log-2.txt sheldon_log-4.txt sheldon_log-6.txt sheldon_log-8.txt tomcat gaurav @ ubuntu: ~ / workspace $

Da mesma forma, você pode alterar o tempo de acesso do diretório já existente. Você pode usar o seguinte método para fazer isso.

Exemplo:

Exibindo o carimbo de data / hora de acesso atual do tomcat do diretório.

gaurav @ ubuntu: ~ / workspace $ stat tomcat Arquivo: tomcat Tamanho: 4096 Blocos: 8 Bloco IO: 4096 diretório Dispositivo: 808h / 2056d Inode: 2039942 Links: 3 Acesso: (0775 / drwxrwxr-x) Uid: (1000 / gaurav ) Gid: (1000 / gaurav) Acesso: 2020-09-14 11: 21: 10.638538949 +0530 Modificar: 2020-09-14 11: 43: 22.482485281 +0530 Alteração: 2020-09-14 11: 43: 22.482485281 +0530 Nascimento: - gaurav @ ubuntu: ~ / workspace $ 
gaurav @ ubuntu: ~ / workspace $ touch -c tomcat

Aqui, eu alterei o tempo de acesso do diretório já existente ‘tomcat’.

Saída:

gaurav @ ubuntu: ~ / workspace $ stat tomcat Arquivo: tomcat Tamanho: 4096 Blocos: 8 Bloco IO: 4096 diretório Dispositivo: 808h / 2056d Inode: 2039942 Links: 3 Acesso: (0775 / drwxrwxr-x) Uid: (1000 / gaurav ) Gid: (1000 / gaurav) Acesso: 2020-09-14 20: 18: 52.625031128 +0530 Modificar: 2020-09-14 20: 18: 52.625031128 +0530 Alterar: 2020-09-14 20: 18: 52.625031128 +0530 Nascimento: - gaurav @ ubuntu: ~ / workspace $ 

Verificação cruzada da saída:

gaurav @ ubuntu: ~ / workspace $ touch -c temp.cpp gaurav @ ubuntu: ~ / workspace $ ls temp.cpp ls: não é possível acessar 'temp.cpp': Não existe esse arquivo ou diretório gaurav @ ubuntu: ~ / workspace $ 

Aqui, tentei usar toque -c com temp.cpp. Este arquivo não existe. Portanto, podemos dizer que usando toque com opção -c evita a criação de novos arquivos vazios e modifica o carimbo de data / hora apenas para o arquivo existente.

Modificando o acesso e o carimbo de data / hora de modificação para uma data e hora específicas

Nos blocos anteriores, você deve ter observado que sempre que usamos o toque comando para alterar os carimbos de data / hora, ele é alterado para a hora e data atuais.

Porém, pode haver algumas ocorrências em que você precise usar uma data e hora personalizadas. Usando toque comando com -c e -t as opções podem servir ao propósito.

Exemplo:

Vou alterar o carimbo de data / hora Access e Modify no arquivo iift.txt para uma data e hora personalizadas.

gaurav @ ubuntu: ~ / workspace $ stat iift.txt Arquivo: iift.txt Tamanho: 66 Blocos: 8 Bloco IO: 4096 arquivo regular Dispositivo: 808h / 2056d Inode: 1990385 Links: 1 Acesso: (0644 / -rw-r- -r--) Uid: (1000 / gaurav) Gid: (1000 / gaurav) Acesso: 2020-09-14 12: 04: 07.091786565 +0530 Modificar: 2020-09-14 12: 04: 07.091786565 +0530 Alteração: 2020 -09-14 12: 04: 07,091786565 +0530 Nascimento: -

A data e a hora podem ser especificadas no formato: {CCYY} MMDDhhmm.ss

ParâmetroDescrição
CCOs primeiros dois dígitos de um ano
AASegundo dois dígitos de um ano
MILÍMETROSMês do ano (01-12)
DDDia do mês (01-31)
hhHora do dia (00-23)
milímetrosMinutos da hora (00-59)

Estou usando o carimbo de data como 203011051820 (ou seja, 5 de novembro de 2030, 18:20 horas).

gaurav @ ubuntu: ~ / workspace $ touch -c -t 203011051820 iift.txt

Este comando irá alterar o registro de data e hora de acesso e modificação do arquivo iift.txt do seguinte modo.

gaurav @ ubuntu: ~ / workspace $ stat iift.txt Arquivo: iift.txt Tamanho: 66 Blocos: 8 Bloco IO: 4096 arquivo regular Dispositivo: 808h / 2056d Inode: 1990385 Links: 1 Acesso: (0644 / -rw-r- -r--) Uid: (1000 / gaurav) Gid: (1000 / gaurav) Acesso: 2030-11-05 18: 20: 00.000000000 +0530 Modificar: 2030-11-05 18: 20: 00.000000000 +0530 Alterar: 2020 -09-14 20: 39: 55.641781140 +0530 Nascimento: - gaurav @ ubuntu: ~ / workspace $ 

Usando um arquivo de referência para definir o carimbo de data / hora

toque comando também pode ser usado com a opção -r para usar o carimbo de data / hora de um arquivo de referência de sua escolha no arquivo atual.

Sintaxe:

touch -r [reference_file] [actual_file]

Exemplo:

Nós vamos usar gsy.c arquivo como um arquivo de referência. Portanto, os carimbos de data / hora de gsy.c será usado para o arquivo iift.txt. Vamos verificar os carimbos de data / hora atuais de ambos os arquivos primeiro com Estado comando.

gaurav @ ubuntu: ~ / workspace $ stat gsy.c Arquivo: gsy.c Tamanho: 0 Blocos: 0 Bloco IO: 4096 arquivo vazio regular Dispositivo: 808h / 2056d Inode: 2001385 Links: 1 Acesso: (0644 / -rw-r --r--) Uid: (1000 / gaurav) Gid: (1000 / gaurav) Acesso: 2020-09-14 10: 59: 24.972855176 +0530 Modificar: 2020-09-13 23: 52: 00.215090207 +0530 Alterar: 2020-09-14 10: 59: 24.972855176 +0530 Nascimento: - gaurav @ ubuntu: ~ / workspace $ stat iift.txt Arquivo: iift.txt Tamanho: 66 Blocos: 8 Bloco IO: 4096 arquivo regular Dispositivo: 808h / 2056d Inode : 1990385 Links: 1 Acesso: (0644 / -rw-r - r--) Uid: (1000 / gaurav) Gid: (1000 / gaurav) Acesso: 2025-10-19 18: 20: 00.000000000 +0530 Modificar: 2025-10-19 18: 20: 00.000000000 +0530 Alteração: 2020-09-14 20: 39: 55.641781140 +0530 

Usando o comando touch -r agora.

gaurav @ ubuntu: ~ / workspace $ touch -r gsy.c iift.txt

Saída:

gaurav @ ubuntu: ~ / workspace $ stat iift.txt Arquivo: iift.txt Tamanho: 66 Blocos: 8 Bloco IO: 4096 arquivo regular Dispositivo: 808h / 2056d Inode: 1990385 Links: 1 Acesso: (0644 / -rw-r- -r--) Uid: (1000 / gaurav) Gid: (1000 / gaurav) Acesso: 2020-09-14 10: 59: 24.972855176 +0530 Modificar: 2020-09-13 23: 52: 00.215090207 +0530 Alteração: 2020 -09-14 21: 04: 27.640026328 +0530 Nascimento: - gaurav @ ubuntu: ~ / workspace $

Na saída, podemos ver que os carimbos de data / hora para o arquivo iift.txt mudou. Os novos carimbos de data / hora agora são semelhantes aos do arquivo de referência gsy.c

Conclusão

Neste tutorial, aprendemos sobre o toque comando e várias opções disponíveis com ele para criar novos arquivos vazios e corrigir os carimbos de data / hora de arquivos existentes de várias maneiras.