Вам навіть не потрібно користуватися :
; можна просто > file
(принаймні, в bash
інших; снаряди можуть поводитися інакше).
На практиці, тут немає ніякої реальної різниці (хоча мінусовий накладний виклик /bin/touch
- це річ).
touch
однак, також можна використовувати для зміни часових позначок у файлі, який вже існує, не змінюючи або стираючи вміст; далі > file
вибухне все, file
що вже існує. Це можна вирішити, замість цього використовувати >> file
.
Ще одна відмінність у touch
тому, що ви можете змусити його створювати (або оновлювати часову позначку) декількох файлів одночасно (наприклад touch foo bar baz quux
) з більш лаконічним синтаксисом, ніж при перенаправлення, де кожен файл потребує власного перенаправлення (наприклад >foo >bar >baz >quux
).
Використання 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
Використання перенаправлення:
$ > 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
автономна робота буде працювати так само, як би ви не використовували.