Ni siquiera necesitas usar :
; puede simplemente > file
(al menos en bash
; otros shells pueden comportarse de manera diferente).
En términos prácticos, no hay una diferencia real aquí (aunque la minúscula sobrecarga de llamar /bin/touch
es una cosa).
touch
, sin embargo, también se puede usar para modificar las marcas de tiempo en un archivo que ya existe sin cambiar o borrar el contenido; Además, > file
eliminará cualquier file
que ya exista. Esto se puede solucionar usando en su lugar >> file
.
Otra diferencia touch
es que puede hacer que cree (o actualice la marca de tiempo) múltiples archivos a la vez (por ejemplo touch foo bar baz quux
) con una sintaxis más sucinta que con la redirección, donde cada archivo necesita su propia redirección (por ejemplo >foo >bar >baz >quux
).
Utilizando touch
:
$ touch foo; stat -x foo; sleep 2; touch foo; stat -x foo
File: "foo"
Size: 0 FileType: Regular File
Mode: (0644/-rw-r--r--) Uid: (991148597/redacted) Gid: (1640268302/redacted)
Device: 1,5 Inode: 8597208698 Links: 1
Access: Fri May 25 10:55:19 2018
Modify: Fri May 25 10:55:19 2018
Change: Fri May 25 10:55:19 2018
File: "foo"
Size: 0 FileType: Regular File
Mode: (0644/-rw-r--r--) Uid: (991148597/redacted) Gid: (1640268302/redacted)
Device: 1,5 Inode: 8597208698 Links: 1
Access: Fri May 25 10:55:21 2018
Modify: Fri May 25 10:55:21 2018
Change: Fri May 25 10:55:21 2018
Usando la redirección:
$ > foo; stat -x foo; sleep 2; >> foo; stat -x foo
File: "foo"
Size: 0 FileType: Regular File
Mode: (0644/-rw-r--r--) Uid: (991148597/redacted) Gid: (1640268302/redacted)
Device: 1,5 Inode: 8597208698 Links: 1
Access: Fri May 25 10:55:21 2018
Modify: Fri May 25 10:56:25 2018
Change: Fri May 25 10:56:25 2018
File: "foo"
Size: 0 FileType: Regular File
Mode: (0644/-rw-r--r--) Uid: (991148597/redacted) Gid: (1640268302/redacted)
Device: 1,5 Inode: 8597208698 Links: 1
Access: Fri May 25 10:55:21 2018
Modify: Fri May 25 10:56:25 2018
Change: Fri May 25 10:56:25 2018
touch
ser independiente funcionará de la misma manera, sea lo que sea que use.