このエラーメッセージが表示されたときにタッチが失敗する原因は何ですか?
touch: cannot touch `foo': No such file or directory
不正な権限によって発生したエラーは異なって見えます。
touch: cannot touch `foo': Permission denied
答え1
次の順序でこのエラーメッセージが表示されます。
$ mkdir foo
$ cd foo
他の端末から:
$ rm -r foo
前の端末から:
$ touch x
touch: cannot touch `x': No such file or directory
もちろん、ファイルを生成しようとしているプロセスの現在の作業ディレクトリ(CWD)が無効になる他のイベントによって、このエラーメッセージが表示されることもあります。
答え2
私にはもう存在しないファイルへのシンボリックリンクを作成しようとしました。
$ ln -s file symlink
$ rm file
$ touch symlink
$ touch: cannot touch `symlink': No such file or directory
答え3
メッセージをトリガーする別の(より簡単な)方法:
$ mkdir foo
$ touch foo/bar/baz.txt
touch: cannot touch 'foo/bar/baz.txt': No such file or directory
既定では、存在しないフォルダにファイルを作成しようとしています。
答え4
おそらく、これは将来的に誰かに役立つでしょう。
フォルダ内の唯一のファイルを削除したときにも同じ問題が発生しましたgit rm
。だから子私が持っていたフォルダが削除され、フォルダが存在しなくなったためにファイルを作成しようとすると、このエラーが発生します。そのため、手動でフォルダを再作成し、そのフォルダに入り、touch
コマンドを正常に実行する必要がありました。