Що може призвести до збою дотику з цим повідомленням про помилку?
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
команду успішно.