touchコマンドを使用するにはいつファイルが必要ですか? [コピー]

touchコマンドを使用するにはいつファイルが必要ですか? [コピー]

時々まったく存在しないファイルに触れましたが、コマンドを実行した後にファイルが生成される現象が発生しました。ただし、タッチしたディレクトリによっては、「該当するファイルやディレクトリはありません」というエラーが発生します。

たとえば、を実行すると、touch foo.txtfoo.txtファイルが私のホームディレクトリに作成されます。逆に、私が実行するとtouch /bar/foo.txt、私はそれを取得しますtouch: cannot touch '/bar/foo.txt': No such file or directory

これの論理は何ですか?ありがとうございます。

ベストアンサー1

このtouchコマンドにはターゲットファイルは必要ありませんが、ターゲットファイルの親ディレクトリが必要です。したがって、実行するには、そのtouch /bar/foo.txtディレクトリがすでに存在することを確認する必要があります/bar/

ほとんどのコマンドラインプログラムと同様に、このtouchコマンドはユーザーが提供するパス引数が相対パスであると仮定します。したがって、touch foo.txt現在の作業ディレクトリにファイルが作成されます。現在のディレクトリがホームディレクトリの場合は、foo.txtホームディレクトリに作成されます。

おすすめ記事