/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.