`mkdir -p`와 `install -d`의 차이점은 무엇입니까?

`mkdir -p`와 `install -d`의 차이점은 무엇입니까?

시스템에 대한 변경 사항과 관련하여 이 두 명령 mkdir -p의 차이점은 무엇입니까 ?install -d

답변1

mkdir -p와 사이의 주요 차이점은 install -d디렉토리가 이미 존재하는 경우install -d소유권 및 파일 모드 비트 만 설정하려고 시도합니다..

  • install -dmake_dir_parents통화를 preserve_existing다음으로 설정하세요 .false
  • mkdir -pmake_dir_parents호출을 preserve_existing로 설정합니다 true.

preserve_existing그렇다면 디렉토리가 이미 존재하는 경우 true함수는 소유권 및 파일 모드 비트를 설정하려고 시도하지 않습니다.

mkdir -p그리고 install -dcoreutils 에서 똑같은 함수를 호출하세요 make_dir_parents.

Coreutil 소스:

답변2

우선, mkdir -pPOSIX이지만 install그렇지 않습니다. 그럼, 우리는부터 시작합니다GNU install문서:

--directory( ) 옵션을 부여 하면 각각의-dinstall목차그리고 누락된 상위 디렉토리. 옵션이나 현재 umask에 u=rwx,go=rx관계없이 -m상위 디렉터리는 " "(755) 모드를 사용하여 생성됩니다. 바라보다디렉토리 Setuid 및 Setgid, 상위 디렉터리에서 set-user-ID 및 set-group-ID 비트를 상속하는 방법을 알아보세요.

그리고:

' -d'
'누락된 상위 디렉토리를 생성 --directory하고
기본 속성을 제공합니다. 그런 다음 주어진 각 디렉토리가 생성되어 해당 소유자, 그룹 및 모드를 명령줄에 지정된 디렉토리나 기본값으로 설정합니다.

그래서:

  1. GNU의 경우 install상위 디렉토리의 권한이 다를 수 있습니다.
  2. install리프 디렉터리의 소유권을 설정할 수 있습니다.

관련 정보