Bạn thậm chí không cần sử dụng :
; bạn chỉ có thể > file
(ít nhất là trong bash
; các vỏ khác có thể hoạt động khác đi).
Trong thực tế, không có sự khác biệt thực sự ở đây (mặc dù chi phí rất nhỏ của việc gọi ra /bin/touch
là một điều).
touch
tuy nhiên, cũng có thể được sử dụng để sửa đổi dấu thời gian trên một tệp đã tồn tại mà không thay đổi hoặc xóa nội dung; hơn nữa, > file
sẽ thổi bay bất kỳ file
cái gì đã tồn tại Điều này có thể được làm việc xung quanh bằng cách sử dụng >> file
.
Một điểm khác biệt nữa touch
là bạn có thể tạo nó (hoặc cập nhật dấu thời gian trên) nhiều tệp cùng một lúc (ví dụ touch foo bar baz quux
) với cú pháp ngắn gọn hơn so với chuyển hướng, trong đó mỗi tệp cần chuyển hướng riêng (ví dụ >foo >bar >baz >quux
).
Sử dụng 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
Sử dụng chuyển hướng:
$ > 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
độc lập sẽ hoạt động theo cùng một cách bất cứ điều gì bạn nên sử dụng.