폴더가 있다고 가정해 보겠습니다.
./folder/
내부에는 많은 파일과 하위 디렉터리도 있습니다.
내가 실행할 때 :
mkdir -p folder
오류나 경고도 표시되지 않습니다.
그래서 확인하고 싶었습니다. 이 명령의 결과에 누락되거나 변경된 것이 있습니까?
답변1
mkdir -p
디렉토리가 이미 존재하고 디렉토리의 내용이 변경되지 않으면 오류가 발생하지 않습니다.
답변2
이식 가능한 스크립트는 POSIX에 의존합니다.mkdir
~의-p
옵션:
각목차기존 디렉터리의 이름을 지정하는 피연산자는 오류 없이 무시되어야 합니다.
오류가 보고되지 않은 경우-p
옵션이 작업을 완료했습니다.
누락된 중간 경로 이름 구성 요소를 만듭니다.
답변3
디렉토리가 이미 존재하는 경우 mkdir은 오류를 표시합니다.
목차-피디렉터리가 이미 존재하는 경우 오류가 발생하지 않습니다. 또한 디렉터리는 변경되지 않은 상태로 유지됩니다. 즉, 내용은 그대로 유지됩니다.
답변4
당신이 그렇게 말하는데,
실행하면
mkdir -p folder
오류나 경고도 표시되지 않습니다.
명령이 실패하면 오류가 표시됩니다. 이 -p
플래그는 디렉토리가 이미 존재하는 경우에만 오류를 억제합니다.
touch x
mkdir -p x
mkdir: cannot create directory ‘x’: File exists
에서 일반 사용자로 시도하면 /etc
.
억제 되는 것은 -p
대상 디렉터리가 이미 존재할 때 발생하는 오류입니다.
mkdir y
mkdir -p y
그러나 모든 경우에 당신은 아무것도 잃지 않고 아무것도 바꾸지 않습니다. 오류가 발생하면 원하는 디렉터리를 얻을 수 없습니다.