Что может вызвать сбой касания с этим сообщением об ошибке?
touch: cannot touch `foo': No such file or directory
Обратите внимание, что ошибка из-за неправильных разрешений выглядит иначе:
touch: cannot touch `foo': Permission denied
Что может вызвать сбой касания с этим сообщением об ошибке?
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
.
Для меня это была попытка записи в символическую ссылку, которая указывала на файл, которого больше не было:
$ ln -s ~/doomed/file ~/mysymlink
$ rm ~/doomed/file
$ touch ~/mysymlink
$ touch: cannot touch `mysymlink': No such file or directory
Может быть, это поможет кому-то в будущем:
Я получил эту же проблему, когда удалил единственный файл, который существует в моей папке с git rm
. Таким образом, git удалил папку, в которой я находился, и любая попытка создать файл вызывает эту ошибку, потому что папки больше нет. Поэтому мне пришлось заново создать папку, зайти в нее и touch
успешно выполнить команду.