¿Qué podría causar que el toque falle con este mensaje de error?
touch: cannot touch `foo': No such file or directory
Tenga en cuenta que un error debido a permisos incorrectos se ve diferente:
touch: cannot touch `foo': Permission denied
La siguiente secuencia causa este mensaje de error:
$ mkdir foo
$ cd foo
En otra terminal:
$ rm -r foo
En la terminal anterior:
$ touch x
touch: cannot touch `x': No such file or directory
Por supuesto, otros eventos que también resultan en la invalidación del directorio de trabajo actual (CWD) de un proceso que intenta crear un archivo allí también producen este mensaje de error.
rmdir ../foo
en el mismo terminal debería funcionar. Otra posibilidad, sin misbehaving sistemas de archivos:ln -s directory-that-doesnt-exist/foo foo; touch foo
.Para mí, estaba tratando de escribir en un enlace simbólico que apuntaba a un archivo que ya no estaba allí:
fuente
Otra forma (más simple) de activar el mensaje:
Básicamente tratando de crear un archivo en una carpeta inexistente.
fuente
Quizás esto ayude a alguien en el futuro:
Recibí este mismo problema cuando eliminé el único archivo que existe en mi carpeta
git rm
. Por lo tanto, git eliminó la carpeta en la que estaba, y cualquier intento de crear un archivo desencadena este error porque la carpeta ya no está allí. Así que tuve que volver a crear la carpeta manualmente, entrar y ejecutar eltouch
comando con éxito.fuente