これまではこれができることを知りませんでした。
: >> file
機能的には次のように見えます。
touch file
ほとんどのリソースがこの組み込みシェルよりもタッチを好む理由はありますか?
ベストアンサー1
を使用する必要もありません:
。> file
少なくともWindowsでは、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