technology

O comando touch faz muito mais do que apenas criar um arquivo vazio

.

Aqui nós criamos outro artigo onde você aprenderá como usar o touch comandoque tem sido usado principalmente para criando arquivos vazios por muito tempo.

E depois de ler este artigo, você ficará surpreso com as capacidades de comando de toqueque você tem subestimado por um longo período de tempo.

Então deixe-me começar este artigo onde você aprenderá como criar um arquivo vazio ou vários arquivos usando o touch comando. Além disso, você também aprenderá a alterar os horários de acesso e modificação fornecendo algumas referências.

10 Uso comum do comando top

Eu compilei alguns dos usos comuns de comandos de toque que você pode usar no mundo real, portanto, certifique-se de aprendê-los para uso futuro.

1. Crie um arquivo vazio usando o comando touch

Em primeiro lugar, deixe-me começar este guia com uma das funcionalidades comuns do comando de toqueque será muito útil para seu uso futuro para criar um arquivo vazio a partir do próprio terminal, sem abrir nenhum editor de linha de comando como nano, vimetc

E para crie um arquivo vazioprimeiro abra sua janela de terminal e copie e cole o código abaixo, que criará um arquivo chamado “nome do arquivo”.

$ touch filename

Depois de invocar o comando, ele não lançará nenhuma mensagem, portanto, para verificar se o arquivo foi criado ou não, use o comando ls comando para listar os arquivos.

$ ls -l

A saída do comando acima.

[email protected]:~$ ls -l
-rw-r--r-- 1 lmde lmde    0 Sep 28 06:13 filename

De acordo com a saída acima, você criou um arquivo no diretório atual que tem um tamanho de 0 byte. Obviamente, o tamanho do arquivo será zero porque o arquivo está completamente vazio.

2. Crie vários arquivos usando o comando touch

Além disso, você também pode criar mais de um arquivo por vez passando vários nomes de arquivo, o que pode ser feito executando o comando abaixo.

$ touch filename1 filename2 filename3

Em vez disso, você pode usar o método de expansão de chaves, que pode criar n números de arquivos em questão de segundos. Sério, é possível fazer isso? Sim, é possível executando o seguinte comando no seu terminal.

$ touch filename{1..10}

Se você quiser saber mais sobre como criar vários arquivos, confira este artigo.

3. Não crie um arquivo e altere o carimbo de data/hora

Normalmente, quando você executa o comando touch com um nome de arquivo, ele cria um novo arquivo se o arquivo não estiver localizado no diretório a seguir, ou se o arquivo existir, ele alterará o tempo de acesso do arquivo.

E, portanto, se você quiser touch não deve criar um arquivoentão use o -c ou --sem criar como no trecho de código abaixo, que irá pular o processo de criação do arquivo.

$ touch -c filename

4. Altere o tempo de acesso usando o comando de toque

O comando touch não é usado apenas para criar arquivos vazios ou com zero byte; também é útil para alterar os tempos de acesso, modificação e alteração do tempo de um arquivo.

Quando você corre touch filename, ele criará o arquivo, mas se o arquivo estiver presente, ele alterará o acesso, a modificação e o horário de alteração. No entanto, se você estiver interessado em alterar apenas o tempo de acesso e deixar o resto de todas as coisas intocadas, você deve usar o -uma opção.

$ touch -a filename

Isso vai mudar o um tempo ou tempo de acesso do arquivo correspondente.

5. Altere o tempo de modificação usando o comando de toque

Depois de aprender como alterar o tempo de acesso na seção anterior, você verá como alterar o tempo de modificação ou mtime do respectivo arquivo usando o -m opções. Digamos que você tenha um arquivo cujo nome seja “filename” em seu sistema e queira alterar apenas a hora modificada. Então você deve executar o código abaixo.

$ touch -m filename

6. Altere o tempo de acesso com base no arquivo de referência usando o comando de toque

Não apenas isso, mas você também pode alterar o acesso ou a hora de qualquer arquivo respectivo, especificando o caminho do arquivo de referência usando o --reference=/caminho/do/arquivo ou -r opção, que usará o tempo de acesso do arquivo especificado para definir a hora do arquivo correspondente.

Vamos dar um exemplo para melhor compreensão. Eu tenho dois arquivos diferentes. Um dos nomes de arquivo é “amostra_1” e o outro é “amostra_2”. Antes de alterar o tempo de acessodeixe-me verificar o tempo de acesso usando o stat comando.

[email protected]:~$ stat sample_1
  File: sample_1
  Size: 0               Blocks: 0          IO Block: 4096   regular empty file
Device: fe00h/65024d    Inode: 26345654    Links: 1
Access: (0644/-rw-r--r--)  Uid: ( 1000/    lmde)   Gid: ( 1000/    lmde)
Access: 2022-10-03 05:53:16.407781136 -0400

------------------------------------------------------------------------------------

[email protected]:~$ stat sample_2
  File: sample_2
  Size: 0               Blocks: 0          IO Block: 4096   regular empty file
Device: fe00h/65024d    Inode: 26345788    Links: 1
Access: (0644/-rw-r--r--)  Uid: ( 1000/    lmde)   Gid: ( 1000/    lmde)
Access: 2022-09-28 06:23:57.503851824 -0400

De acordo com a saída acima, ambos os arquivos têm atime diferente, então deixe-me replicar o timestamp de amostra_1 para amostra_2 executando o comando abaixo.

$ touch --reference=/home/Strong The One/sample_1 ~/sample_2
or
$ touch -r ~/sample_1 ~/sample_2

Resultado após executar o comando acima

[email protected]:~$ stat sample_1
  File: sample_1
  Size: 0               Blocks: 0          IO Block: 4096   regular empty file
Device: fe00h/65024d    Inode: 26345654    Links: 1
Access: (0644/-rw-r--r--)  Uid: ( 1000/    lmde)   Gid: ( 1000/    lmde)
Access: 2022-10-03 05:53:16.407781136 -0400

------------------------------------------------------------------------------------
[email protected]:~$ stat sample_2
  File: sample_2
  Size: 0               Blocks: 0          IO Block: 4096   regular empty file
Device: fe00h/65024d    Inode: 26345788    Links: 1
Access: (0644/-rw-r--r--)  Uid: ( 1000/    lmde)   Gid: ( 1000/    lmde)
Access: 2022-10-03 05:53:16.407781136 -0400

7. Altere o tempo de acesso com base no arquivo de referência para Symlinks usando o comando touch

Quando você deseja replicar o tempo de acesso em links simbólicos, deve usar o -h ou - sem referência como no trecho de código abaixo, mas o único problema com essa opção é que ela não suporta a maioria das distribuições Linux.

Se estiver funcionando em seu sistema, não se esqueça de colocar o nome da distribuição na seção de comentários abaixo.

$ touch -h symlink-file
or
$ touch --no-dereference symlink-file

8. Altere o carimbo de data/hora de um arquivo usando o comando touch

Se você leu um de nossos artigos em que discutimos como excluir arquivos que não foram acessados ​​ou modificados em um determinado período de tempo, usei as mesmas técnicas para obter a saída do resultado.

Então, vamos ver como alterar ou definir a data e hora personalizadas do arquivo seguindo o [[CC]AA]MMDDhhmm[.ss] padronizar.

Por exemplo, quero alterar o carimbo de data/hora do arquivo para algum 202210041630, o que parece estranho. Espera, eu decodificarei o número secreto para você, mas não conte a ninguém que é segredo

2022   10     04    16     00
  ↓     ↓      ↓     ↓     ↓
Year  Month  Date  Hour   Minutes

Depois de conhecer o timestamp, vamos usar o -t opção para definir um carimbo de data/hora personalizado conforme mostrado no snippet de código abaixo.

$ touch -t 202210041600 filename  

A saída do comando acima.

[email protected]:~$ stat filename
  File: filename
  Size: 6               Blocks: 8          IO Block: 4096   regular file
Device: fe00h/65024d    Inode: 26345654    Links: 1
Access: (0644/-rw-r--r--)  Uid: ( 1000/    lmde)   Gid: ( 1000/    lmde)
Access: 2022-10-04 16:00:00.000000000 -0400
Modify: 2022-10-04 16:00:00.000000000 -0400
Change: 2022-10-04 10:44:55.225002615 -0400
 Birth: 2022-09-28 06:13:28.479889509 -0400

9. Altere apenas a data do arquivo usando o comando touch

Acima, você aprendeu como alterar o timestamp do arquivo, que altera a data e hora do arquivo, mas às vezes você quer apenas alterar a data do arquivo. Em seguida, use o comando abaixo, que alterará a data do arquivo e, posteriormente, redefinirá a hora do arquivo.

$ touch -d '04 October' filename

Além disso, você também pode definir a data do arquivo usando o comando abaixo.

$ touch --date="yesterday" filename
or
$ touch -d "friday" filename

10. Altere apenas a hora do arquivo usando o comando touch

Sim, você também pode usar o -d ou --data= opção para definir a hora do arquivo sem fazer nenhuma alteração na seção de data. Digamos que você queira definir a hora do arquivo que é salvo como “nome do arquivo” em seu sistema para 18:45:00 ou 18:45 assim, então você deve considerar o comando abaixo.

$ touch -d "18:45:22" filename

A saída do comando acima

[email protected]:~$ stat filename
  File: filename
  Size: 6               Blocks: 8          IO Block: 4096   regular file
Device: fe00h/65024d    Inode: 26345654    Links: 1
Access: (0644/-rw-r--r--)  Uid: ( 1000/    lmde)   Gid: ( 1000/    lmde)
Access: 2022-10-04 18:45:22.000000000 -0400
Modify: 2022-10-04 18:45:22.000000000 -0400
Change: 2022-10-04 10:44:55.225002615 -0400
 Birth: 2022-09-28 06:13:28.479889509 -0400

Cheat sheet do comando de toque

  • Crie bytes de arquivo vazios ou zero no Linux:
  • Crie vários bytes vazios ou zero de arquivos no Linux:
  • Evite o comando de toque para não criar o arquivo:
  • Altere o acesso ou a hora do arquivo:
  • Altere o acesso ou a hora do arquivo no Linux usando o arquivo de referência:
    • $ touch -r /refrence-file-path/ /to-file-path/
  • Altere a modificação ou mtime do arquivo no Linux:
  • Altere o timestamp do link simbólico no Linux:
  • Altere o timestamp do arquivo no Linux:
    • $ touch -t 202210041600 filename
  • Alterar data do arquivo no Linux:
    • $ touch -d '04 October' filename
  • Altere a hora do arquivo no Linux:
    • $ touch -d "HH:MM:SS" filename

É tudo por agora. Se você quiser adicionar algo, deixe-me saber na seção de comentários.

.

Mostrar mais

Artigos relacionados

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Botão Voltar ao topo