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ção | Descrição |
---|---|
-uma | alterar o tempo de acesso do arquivo |
-m | mudar a hora de modificação do arquivo |
-c | alterar o tempo de acesso do arquivo sem criar um novo |
-r | use um arquivo de referência para definir os carimbos de data / hora do arquivo ou diretório |
-d | definir o mesmo carimbo de data / hora arbitrário para acesso e hora de modificação usando data legível por humanos em formato livre |
-t | crie 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âmetro | Descrição |
CC | Os primeiros dois dígitos de um ano |
AA | Segundo dois dígitos de um ano |
MILÍMETROS | Mês do ano (01-12) |
DD | Dia do mês (01-31) |
hh | Hora do dia (00-23) |
milímetros | Minutos 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.