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.
- Tempo de acesso (atime)
- Hora da modificação (mtime)
- 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
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ê.