O touch
objetivo principal do comando é manipular os registros de data e hora dos arquivos e criar arquivos.
Exemplos
1. criando arquivos
$ ls -l
total 0
$ touch file{1..3}
$ ls -l
total 0
-rw-rw-r--. 1 saml saml 0 Jan 12 13:33 file1
-rw-rw-r--. 1 saml saml 0 Jan 12 13:33 file2
-rw-rw-r--. 1 saml saml 0 Jan 12 13:33 file3
NOTA: A total 0
saída de ls -l
está correta. Esta implementação ls
mostra o número de blocos que estão sendo usados pelos arquivos quando eles estão listados. Você pode garantir esse fato adicionando a -s
opção a ls
. Isso listará os blocos em uso por cada arquivo. Aqui eu adicionei 2 caracteres para o arquivo1 e o arquivo2.
Exemplo
$ ls -ls
total 8
4 -rw-rw-r--. 1 saml saml 3 Jan 13 12:07 file1
4 -rw-rw-r--. 1 saml saml 3 Jan 13 12:09 file2
0 -rw-rw-r--. 1 saml saml 0 Jan 13 12:05 file3
2. informações de hora / data de um arquivo - comando stat
$ stat file1
File: ‘file1’
Size: 0 Blocks: 0 IO Block: 4096 regular empty file
Device: fd02h/64770d Inode: 11403667 Links: 1
Access: (0664/-rw-rw-r--) Uid: ( 1000/ saml) Gid: ( 1000/ saml)
Context: unconfined_u:object_r:user_home_t:s0
Access: 2014-01-12 13:33:38.279456149 -0500
Modify: 2014-01-12 13:33:38.279456149 -0500
Change: 2014-01-12 13:33:38.279456149 -0500
Birth: -
Podemos usar touch
para manipular os vários carimbos de data e hora em um determinado arquivo.
3. trecho da página do manual touch
-a change only the access time
-m change only the modification time
-t STAMP
use [[CC]YY]MMDDhhmm[.ss] instead of current time
4. manipulação do tempo de acesso
$ touch -a -t200001010000 file1
$ stat file1
File: ‘file1’
Size: 0 Blocks: 0 IO Block: 4096 regular empty file
Device: fd02h/64770d Inode: 11403667 Links: 1
Access: (0664/-rw-rw-r--) Uid: ( 1000/ saml) Gid: ( 1000/ saml)
Context: unconfined_u:object_r:user_home_t:s0
Access: 2000-01-01 00:00:00.000000000 -0500
Modify: 2014-01-12 13:33:38.279456149 -0500
Change: 2014-01-12 13:38:52.023434696 -0500
Birth: -
5. manipule o tempo de modificação
$ touch -m -t200001010000 file1
$ stat file1
File: ‘file1’
Size: 0 Blocks: 0 IO Block: 4096 regular empty file
Device: fd02h/64770d Inode: 11403667 Links: 1
Access: (0664/-rw-rw-r--) Uid: ( 1000/ saml) Gid: ( 1000/ saml)
Context: unconfined_u:object_r:user_home_t:s0
Access: 2000-01-01 00:00:00.000000000 -0500
Modify: 2000-01-01 00:00:00.000000000 -0500
Change: 2014-01-12 13:39:31.060432026 -0500
Birth: -
Você pode estar se perguntando sobre o horário da mudança (ctime). Isso não pode ser manipulado usando touch
. Isso rastreia a hora em que qualquer um dos metadados foi tocado no arquivo. Consulte estas perguntas e respostas sobre perguntas e respostas para obter mais detalhes, intitulado: O que você pode fazer em um arquivo sem disparar o carimbo de data / hora "Alterar"? .
echo -n > filename
, você pode executar o seguinte:>filename