내 빌드 스크립트가 다음과 같은 것을 생성한다고 가정해 보겠습니다.
build
├── [drwxr-xr-x pskocik pskocik ] bin
│ └── [-rwxr-xr-x pskocik pskocik ] FOO_bin
├── [drwxr-xr-x pskocik pskocik ] include
│ ├── [drwxr-xr-x pskocik pskocik ] FOO
│ │ ├── [-rw-r--r-- pskocik pskocik ] FOO_a.h
│ │ └── [-rw-r--r-- pskocik pskocik ] FOO_b.h
│ └── [-rw-r--r-- pskocik pskocik ] FOO.h
├── [drwxr-xr-x pskocik pskocik ] lib
│ ├── [-rw-r--r-- pskocik pskocik ] libFOO.a
│ └── [-rwxr-xr-x pskocik pskocik ] libFOO.so
└── [drwxr-xr-x pskocik pskocik ] share
└── [drwxr-xr-x pskocik pskocik ] man
├── [drwxr-xr-x pskocik pskocik ] man1
│ └── [-rw-r--r-- pskocik pskocik ] FOO.1.gz
└── [drwxr-xr-x pskocik pskocik ] man3
└── [-rw-r--r-- pskocik pskocik ] FOO.3.gz
8 directories, 8 files
이것을 복사하거나 이와 같이 /usr
복사 하는 가장 좋은 방법은 무엇입니까?/usr/local
- 파일의 속성이 root:root로 다시 지정됩니다.
- 파일 모드는 변경되지 않습니다.
- (선택적으로) 이미 존재하지 않는 한 디렉터리 노드에도 동일하게 적용됩니다(이 경우 소유권과 스키마는 변경되지 않습니다).
?
답변1
rsync를 사용하세요.
rsync -rltpDvh --chown root:root build/ /usr/
이는 다음을 의미합니다.
r
:재귀l
:링크 복사t
: 타임스탬프 유지p
: 권한 유지D
:--devices
v
: 상세h
: 사람이 읽을 수 있는 진행 상황
아직 설치하지 않았다면 먼저 패키지 관리를 사용하여 이 멋진 도구를 설치하세요 :)
관련 정보: