Comando Touch no Linux
O comando Touch pode ser utilizado para modificar os timestamps de acesso/modificação de ficheiros. É mais frequentemente utilizado para criar rapidamente um ficheiro vazio.
Este post mostra alguns exemplos muito simples e rápidos de utilização do comando táctil para modificar carimbos temporais ou criar ficheiros.
Criar um ficheiro em branco
Para simplesmente criar um ficheiro em branco com o comando táctil, utilize a sintaxe abaixo.
$ touch abc.txt
Se o ficheiro já existir, o seu tempo de acesso será actualizado.
Criar vários ficheiros com o comando táctil
Para criar vários ficheiros, especificar os seus nomes juntos separados por um espaço.
$ touch abc.txt cde.txt xyz.txt
Criar muitos e muitos ficheiros
Se por alguma razão desejar criar muitos ficheiros, então comandos como estes seriam muito úteis
# Create files with names A to Z$ touch {A..Z}# Create files with names 1 to 20$ touch {1..20}# Create files with extension$ touch {1..1000}.txt# Create 10K files$ touch {1..10}{1..1000}
E depois usar o comando ls para ver o que tudo foi criado.
Anular a criação de novos ficheiros
Se quiser apenas actualizar o tempo de acesso ao ficheiro existente, sem o criar, utilize a opção ‘-c’. Se o ficheiro existir, tocar irá actualizar o tempo de acesso, senão não fará nada
$ touch -c hello.txt
Alterar o tempo de acesso ao ficheiro – ‘a’
Para alterar apenas o tempo de acesso a um ficheiro utilize a opção ‘-a’ com o nome do ficheiro.
$ touch -a abc.txt
Para verificar o tempo de acesso use o comando stat
$ stat a.txt File: ‘a.txt’ Size: 0 Blocks: 0 IO Block: 4096 regular empty fileDevice: 801h/2049d Inode: 5904730 Links: 1Access: (0664/-rw-rw-r--) Uid: ( 1000/enlightened) Gid: ( 1000/enlightened)Access: 2016-03-10 15:04:24.281533071 +0530Modify: 2016-03-10 15:00:16.117864128 +0530Change: 2016-03-10 15:04:24.281533071 +0530
Alterar o tempo modificado ‘-m’
Utilizar a opção ‘-m’ option to change the modified time of the file
$ touch -m a.txtThen check the file statistics with the stat command -$ stat a.txt File: ‘a.txt’ Size: 0 Blocks: 0 IO Block: 4096 regular empty fileDevice: 801h/2049d Inode: 5904730 Links: 1Access: (0664/-rw-rw-r--) Uid: ( 1000/enlightened) Gid: ( 1000/enlightened)Access: 2016-03-10 15:04:24.281533071 +0530Modify: 2016-03-10 15:05:03.409475551 +0530Change: 2016-03-10 15:05:03.409475551 +0530
Para alterar o tempo de modificação de múltiplos ficheiros usando wildcard
$ touch -m *.txt
Alterar o tempo de acesso e tempo de modificação em conjunto
Utilizar a opção a e m em conjunto para modificar ambos tempo de acesso e modificação
$ touch -am a.txt
$ stat a.txt File: ‘a.txt’ Size: 0 Blocks: 0 IO Block: 4096 regular empty fileDevice: 801h/2049d Inode: 5904730 Links: 1Access: (0664/-rw-rw-r--) Uid: ( 1000/enlightened) Gid: ( 1000/enlightened)Access: 2016-03-10 15:07:39.633235119 +0530Modify: 2016-03-10 15:07:39.633235119 +0530Change: 2016-03-10 15:07:39.633235119 +0530
Definir um tempo de acesso/modificação específico em vez do tempo actual
Para definir a hora de acesso/modificação para uma data específica usar a opção t e especificar a data/hora no formato
YY]MMDDhhmm
$ touch -c -t 1603051015 a.txtor$ touch -c -t 201603051015 a.txt
Nota – Se omitir a opção c, será criado um novo ficheiro com a data e hora indicadas, caso não exista.
Utilizar o carimbo temporal de outro ficheiro como referência
$ touch -r ref.txt abc.txt
O comando acima irá definir o tempo de acesso/modificação da abc.txt para o da ref.txt
Especificar data/hora como string
Parte da opção t, existe outra opção ‘-d’ que aceita data/hora em formatos de leitura humana geral.
O exemplo seguinte fornece apenas a data. A hora é automaticamente definida para 00:00
$ touch -c -d '14 Mar' abc.txt
Or fornece apenas a hora, e a data actual será seleccionada –
$ touch -d '14:24' abc.txt
Conclusion
Estes foram alguns dos exemplos básicos de comando táctil. Para saber mais, verifique a página man com o comando “man touch”.
p>Or leia as páginas do manual online aqui:
https://man7.org/linux/man-pages/man1/touch.1.html
https://linux.die.net/man/1/touch