Como criar novos arquivos no Linux usando o toque

De vez em quando, os usuários do Linux sentem a necessidade de criar um novo arquivo em seu sistema. Seja para fazer anotações, escrever algum código ou simplesmente para validação de arquivo durante a programação, o comando touch é o único utilitário de criação de arquivo de que você precisa.

Criar arquivos e gerenciar carimbos de data / hora no Linux é muito fácil com o comando touch. Aqui neste artigo, discutiremos o comando de toque em detalhes, juntamente com as várias funções que podem ser executadas com a ferramenta.

Qual é o comando de toque?

A principal função do comando touch é atualizar e gerenciar os carimbos de data / hora do arquivo. Se você tem um pouco de experiência em trabalhar no Linux, talvez já saiba que, nas distribuições do Linux, cada arquivo possui carimbos de data / hora específicos associados a eles.

Os carimbos de data / hora são responsáveis ​​por armazenar informações relacionadas ao arquivo, como quando o arquivo foi modificado, acessado ou alterado pela última vez. Esses carimbos de data / hora são mtime, atime e ctime. Todas essas informações podem ser modificadas facilmente usando o comando de toque.

Como usar o comando de toque

O uso mais básico do comando touch é criar novos arquivos vazios. Ao contrário do comando cat, que solicita que você adicione conteúdo ao seu arquivo no momento da criação, o comando touch cria um arquivo vazio sem esses prompts.

Isso é benéfico para desenvolvedores de software que precisam constantemente criar novos arquivos, seja para escrever código ou para validar a existência de um arquivo específico.

Sintaxe Básica

A sintaxe básica do comando de toque é:

 touch [options] [filename]

Você pode utilizar as funcionalidades do comando touch passando vários argumentos e sinalizadores no lugar de opções , enquanto filename é o nome do arquivo que você deseja criar.

Criar novos arquivos com toque

Para criar um arquivo vazio usando o toque, digite touch seguido do nome do arquivo.

 touch newemptyfile

O comando mencionado criará um novo arquivo denominado newemptyfile no diretório de trabalho atual. Você pode verificar se o arquivo foi criado usando o comando ls .

Da mesma forma, você pode criar vários arquivos ao mesmo tempo, passando os nomes dos arquivos separados pelo caractere de espaço .

 touch fileone filetwo filethree

Alterar registros de data e hora do arquivo

Conforme mencionado acima, existem três carimbos de data / hora associados a cada arquivo em seu armazenamento.

  1. Tempo de acesso (atime)
  2. Hora da modificação (mtime)
  3. Tempo de mudança (ctime)

Você pode alterar o acesso e a hora de alteração de qualquer arquivo em seu sistema usando o comando touch.

Para atualizar o atime e ctime de um arquivo, use o sinalizador -a com o comando touch padrão.

 touch -a textfile

O comando acima substituirá a hora de acesso e alteração do arquivo pela hora atual. Se o arquivo não existir, touch criará um novo arquivo e atribuirá os carimbos de data / hora a ele.

Você pode alterar o tempo de modificação (mtime) de um arquivo usando o sinalizador -m com toque também.

 touch -m textfile

Você pode verificar se os carimbos de data / hora foram alterados emitindo o comando stat com o nome do arquivo como argumento.

 stat textfile

Resultado:

 File: `textfile'
Size: 13 Blocks: 8 IO Block: 4096 regular file
Device: 801h/2049d Inode: 327688 Links: 1
Access: (0644/-rw-r--r--) Uid: ( 1000/ ubuntu) Gid: ( 1000/ ubuntu)
Access: 2021-04-12 16:59:45.000000000 +0000
Modify: 2021-04-12 16:57:59.000000000 +0000
Change: 2021-04-12 17:02:43.000000000 +0000

No trecho acima, você pode ver que a saída exibe atime, mtime e ctime do arquivo especificado.

Usar o sinalizador -c com o comando touch não cria um novo arquivo se ele não existir. Em vez disso, ele é usado apenas para atribuir um novo carimbo de data / hora a arquivos já existentes.

 touch -c existfile

Relacionado: Usando o Vi? Veja como abrir um arquivo, salvar e sair

Adicionar carimbos de data / hora personalizados a um arquivo

Para aqueles que desejam definir carimbos de data / hora de modificação personalizados para seus arquivos, as opções -c e -t podem ser úteis. Use o seguinte formato para fazer o mesmo.

 touch -c -t YYDDHHMM filename

… onde YYDDHHMM é a data e hora que você deseja definir e nome do arquivo é o nome do arquivo que você deseja modificar.

Para alterar o carimbo de data / hora do arquivo de uma forma mais amigável, use o sinalizador -d com o comando touch. Você terá que especificar o tempo que deseja definir em linguagem simples.

 touch -d "5 hours ago" newfile

Combinando o comando de data com toque, você pode adicionar um novo carimbo de data e hora de modificação de acordo com o antigo.

 touch -d "$(date -r filename) - 5 hours" existfile

Se a data e hora do arquivo for 14h, a execução do comando mencionado definirá 9h como a nova hora m para o arquivo.

Você também pode definir um carimbo de data / hora de modificação personalizado para arquivos no momento da criação. O sinalizador -t permite que você faça o mesmo.

 touch -t YYMMDDHHMM.SS filename

Por exemplo, para criar um novo arquivo com 12 de dezembro de 2020, 09:00:33 como o carimbo de data / hora, use o seguinte comando.

 touch -t 202012120900.33 newfile

Se você não conseguir descobrir o caminho para o arquivo que deseja modificar, use o comando find para pesquisar arquivos com um nome semelhante.

Você também pode definir o mtime e atime do arquivo individualmente durante a criação. Use os sinalizadores -a e -m com o comando.

Para atribuir apenas o tempo de acesso a um novo arquivo no momento da criação:

 touch -a -t 202012120900.33 newfile

O comando a seguir atribui a hora de modificação especificada ao arquivo recém-criado.

 touch -m -t 202012120900.33 newfile

Copiar carimbos de data / hora de outros arquivos

Para copiar o carimbo de data / hora de qualquer outro arquivo, use o sinalizador -r com o comando touch. A sintaxe padrão do comando é:

 touch -r originalfile copiedfile

… onde os carimbos de data / hora do arquivo original estão sendo copiados para o arquivo copiado.

Mudança de informações de arquivo no Linux

Gerenciar carimbos de data / hora de um arquivo nunca foi tão fácil com o comando touch. Se você está procurando criar um novo arquivo no Linux, existem várias opções, como touch, cat, etc. Mas essas opções são viáveis ​​apenas para aqueles que têm uma experiência decente de trabalho com qualquer sistema operacional baseado em Linux.

Para quem não se sente confortável com a linha de comando, estão disponíveis vários gerenciadores de arquivos que permitem criar novos arquivos de forma gráfica. E se você deseja navegar pelo armazenamento do sistema sem bombardear seu cérebro com comandos assustadores, esses gerenciadores de arquivos serão a escolha perfeita para você.