![포함 디렉터리를 생성할 수 없습니다.](https://linux55.com/image/224379/%ED%8F%AC%ED%95%A8%20%EB%94%94%EB%A0%89%ED%84%B0%EB%A6%AC%EB%A5%BC%20%EC%83%9D%EC%84%B1%ED%95%A0%20%EC%88%98%20%EC%97%86%EC%8A%B5%EB%8B%88%EB%8B%A4..png)
/dir1/dir2/dir3/dir4
다음과 같은 새 디렉토리를 만들고 싶지만 그럴 수 없습니다.
상위 디렉토리와 새 상위 디렉토리에서 하나씩 디렉토리를 생성하면 모든 것이 잘 작동합니다.
lm@debian:~$ sudo mkdir -v ./Pictures/Photos1/onbike2023/
mkdir: cannot create directory ‘./Pictures/Photos1/onbike2023/’: No such file or directory
lm@debian:~$ sudo mkdir -v ./Pictures/Photos1/
mkdir: created directory './Pictures/Photos1/'
lm@debian:~$ sudo mkdir -v ./Pictures/Photos1/onbike2023/
mkdir: created directory './Pictures/Photos1/onbike2023/'
lm@debian:~$
내가 뭘 잘못했나요?
답변1
mkdir
중간 디렉터리는 기본적으로 생성되지 않습니다. 즉, mkdir foo/bar/baz
성공 하고 싶다면 이미 존재하는 foo
것이 가장 좋습니다 foo/bar
.
그러나 이 동작을 변경할 수 있습니다 mkdir -p foo/bar/baz
. 이 옵션을 사용하면 필요한 경우 중간 디렉터리가 생성됩니다. mkdir
오류 코드가 foo/bar/baz
이미 존재하는 경우 종료를 유발하지 않는다는 추가 이점이 있습니다 .
답변2
에서 추출됨man mkdir
-p, --parents
no error if existing, make parent directories as needed, with their file modes unaffected by
any -m option.