使用する必要さえありません:。あなただけのことができます> file(少なくともでbash、他のシェルは異なる挙動を示す場合があります)。
実際的には、ここで実際の違いはありません(ただし、呼び出しのわずかなオーバーヘッドは問題/bin/touchです)。
touchただし、コンテンツを変更または消去することなく、既存のファイルのタイムスタンプを変更するために使用することもできます。さらに、すでに存在するもの> fileを吹き飛ばしfileます。これは代わりにを使用して回避できます>> file。
もう1つの違い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スタンドアロンであることは、使用するものが何であれ同じように機能します。