Что может вызвать сбой касания с этим сообщением об ошибке?
touch: cannot touch `foo': No such file or directory
Обратите внимание, что ошибка из-за неправильных разрешений выглядит иначе:
touch: cannot touch `foo': Permission denied
Следующая последовательность вызывает это сообщение об ошибке:
$ mkdir foo
$ cd foo
В другом терминале:
$ rm -r foo
В предыдущем терминале:
$ touch x
touch: cannot touch `x': No such file or directory
Конечно, другие события, которые также приводят к аннулированию текущего рабочего каталога (CWD) процесса, который пытается создать файл, также приводят к этому сообщению об ошибке.
rmdir ../foo
в этом же терминале должен работать. Другая возможность без плохо себя файловые системы:ln -s directory-that-doesnt-exist/foo foo; touch foo
.Для меня это была попытка записи в символическую ссылку, которая указывала на файл, которого больше не было:
источник
Еще один (более простой) способ вызвать сообщение:
В основном пытается создать файл в несуществующей папке.
источник
Может быть, это поможет кому-то в будущем:
Я получил эту же проблему, когда удалил единственный файл, который существует в моей папке с
git rm
. Таким образом, git удалил папку, в которой я находился, и любая попытка создать файл вызывает эту ошибку, потому что папки больше нет. Поэтому мне пришлось заново создать папку, зайти в нее иtouch
успешно выполнить команду.источник