Вам даже не нужно использовать :
; Вы можете просто > 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
быть автономным будет работать так же, как вы должны использовать.