이 오류 메시지가 나타나면서 터치가 실패하는 원인은 무엇입니까?
touch: cannot touch `foo': No such file or directory
잘못된 권한으로 인해 발생한 오류는 다르게 보입니다.
touch: cannot touch `foo': Permission denied
답변1
다음 순서로 인해 이 오류 메시지가 발생합니다.
$ mkdir foo
$ cd foo
다른 터미널에서:
$ rm -r foo
이전 터미널에서:
$ touch x
touch: cannot touch `x': No such file or directory
물론 파일을 생성하려는 프로세스의 현재 작업 디렉터리(CWD)가 유효하지 않게 되는 다른 이벤트로 인해 이 오류 메시지가 나타날 수도 있습니다.
답변2
나에게는 더 이상 존재하지 않는 파일에 대한 심볼릭 링크를 작성하려고 했습니다.
$ ln -s file symlink
$ rm file
$ touch symlink
$ touch: cannot touch `symlink': No such file or directory
답변3
메시지를 트리거하는 또 다른 (더 쉬운) 방법:
$ mkdir foo
$ touch foo/bar/baz.txt
touch: cannot touch 'foo/bar/baz.txt': No such file or directory
기본적으로 존재하지 않는 폴더에 파일을 만들려고 합니다.
답변4
아마도 이것은 미래에 누군가에게 도움이 될 것입니다.
폴더에 있는 유일한 파일을 삭제했을 때도 같은 문제가 발생했습니다 git rm
. 그러므로자식내가 있던 폴더가 삭제되었으며 폴더가 더 이상 존재하지 않기 때문에 파일을 만들려고 하면 이 오류가 발생합니다. 그래서 수동으로 폴더를 다시 만들고 해당 폴더로 들어가서 touch
명령을 성공적으로 실행해야 했습니다.