Non hai nemmeno bisogno di usare :
; puoi semplicemente > file
(almeno in bash
; altre shell possono comportarsi diversamente).
In termini pratici, non vi è alcuna reale differenza qui (anche se il minimo sovraccarico di chiamare /bin/touch
è una cosa).
touch
, tuttavia, può anche essere utilizzato per modificare i timestamp su un file che esiste già senza cambiare o cancellare il contenuto; inoltre, > file
spazzerà via tutto file
ciò che esiste già. Questo può essere aggirato invece usando >> file
.
Un'altra differenza touch
è che puoi far sì che crei (o aggiorni il timestamp su) più file contemporaneamente (ad es. touch foo bar baz quux
) Con una sintassi più concisa rispetto al reindirizzamento, dove ogni file ha bisogno del proprio reindirizzamento (ad es >foo >bar >baz >quux
.).
Utilizzando 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
Utilizzando il reindirizzamento:
$ > 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
essere autonomo funzionerà allo stesso modo qualunque cosa tu debba usare.