web-dev-qa-db-ja.com

touch: `foo 'にタッチできません:そのようなファイルまたはディレクトリはありません

このエラーメッセージでタッチが失敗する原因は何ですか?

touch: cannot touch `foo': No such file or directory

不適切な権限に起因するエラーは異なって見えることに注意してください:

touch: cannot touch `foo': Permission denied
22
Lorin Hochstein

次のシーケンスにより、このエラーメッセージが表示されます。

$ mkdir foo
$ cd foo

別のターミナルで:

$ rm -r foo

前のターミナルでは:

$ touch x
touch: cannot touch `x': No such file or directory

もちろん、ファイルを作成しようとするプロセスの現在の作業ディレクトリ(CWD)を無効にする他のイベントも、このエラーメッセージを生成します。

22
maxschlepzig

私にとっては、存在しないファイルを指すシンボリックリンクに書き込もうとしていました。

$ ln -s ~/doomed/file ~/mysymlink
$ rm ~/doomed/file
$ touch ~/mysymlink
$ touch: cannot touch `mysymlink': No such file or directory
4
antirealm

メッセージをトリガーする別の(より簡単な)方法:

$ mkdir foo
$ touch foo/bar/baz.txt
touch: cannot touch 'foo/bar/baz.txt': No such file or directory

基本的に、存在しないフォルダにファイルを作成しようとしています。

1
KevinG

多分これは将来誰かを助けるでしょう:

git rmを使用してフォルダーに存在する唯一のファイルを削除したときに、同じ問題が発生しました。したがってgitは私がいたフォルダーを削除し、ファイルが作成されようとするとフォルダーが存在しないため、このエラーがトリガーされます。そのため、手動でフォルダーを再作成し、そのフォルダーに移動して、touchコマンドを正常に実行する必要がありました。

0
Begueradj