Câu trả lời:
Trình tự sau gây ra thông báo lỗi này:
$ mkdir foo
$ cd foo
Trong một thiết bị đầu cuối khác:
$ rm -r foo
Trong thiết bị đầu cuối trước:
$ touch x
touch: cannot touch `x': No such file or directory
Tất nhiên, các sự kiện khác cũng dẫn đến việc vô hiệu hóa thư mục làm việc hiện tại (CWD) của một quá trình cố gắng tạo một tệp ở đó cũng mang lại thông báo lỗi này.
rmdir ../foo
trong cùng một thiết bị đầu cuối sẽ hoạt động. Một khả năng khác mà không có hệ thống tập tin sai ln -s directory-that-doesnt-exist/foo foo; touch foo
.
Đối với tôi, nó đã cố gắng ghi vào một liên kết tượng trưng trỏ đến một tệp không còn ở đó:
$ ln -s ~/doomed/file ~/mysymlink
$ rm ~/doomed/file
$ touch ~/mysymlink
$ touch: cannot touch `mysymlink': No such file or directory
Có lẽ điều này sẽ giúp ai đó trong tương lai:
Tôi gặp vấn đề tương tự khi xóa tệp duy nhất tồn tại trong thư mục của mình git rm
. Do đó, git đã xóa thư mục mà tôi đang ở và mọi nỗ lực tạo tệp đều gây ra lỗi này vì thư mục không còn ở đó nữa. Vì vậy, tôi đã phải tạo lại thư mục bằng tay, đi vào nó và chạy touch
lệnh thành công.