cp -x의 목적 (파일 시스템에서 유지)?


25

동일한 파일 시스템에 머물고 싶은 경우 동일한 파일 시스템에 대한 출력 경로 만 지정할 수 없습니까?

아니면 실수로 현재 파일 시스템을 떠나는 것을 방지합니까?


1
-x는 다른 컨텍스트에서 : unix.stackexchange.com/a/358331/30851 이지만 cp와 동일 : -x는 파일 시스템을 마이그레이션하고 완전한 사본이되기를 원하는 경우, 파일을 건너 뜁니다. 당신은 전체 그림.
frostschutz

1
많은 플래그에 대해 같은 것을 요청할 수 -i있습니다.
JigglyNaga

1
@JigglyNaga 저도 그렇게 생각하고있었습니다. 그러나 -x는 문서에서 잘 표현되지 않았으며 덜 명확합니다.
neverMind9

답변:


59

파일이 복사 되는 위치가 아니라 에서 파일을 복사 하는 위치를 제한 합니다. cp하위 디렉토리로 내려 오는 방법을 제어하기 위해 재귀 적 사본에 유용합니다 . 그러므로

cp -xr / blah

마운트 된 다른 파일 시스템이 아닌 루트 파일 시스템 만 복사합니다.

참조 문서를 (그 구분이 미묘하지만).cp -x


3
예, / mnt에서 네트워크 공유를 복사하지 않을 수 있습니다. 홈 드라이브 아래에 원격 RCS 저장소도 마운트되지 않았습니다.
mckenzm

1
@mckenzm 또한 /mnt배포판 설정으로 운영되는 휴먼 규칙 만 있기 때문에 OS의 요구 사항은 아닙니다. 때때로 /var/somewebsite/www/sessions로드 밸런싱 웹 서버를 구현하기 위해 네트워크 파일 시스템을 마운트했습니다
slebetman

실제로 이러한 종류의 플래그는 마운트하지 않은 거대한 네트워크 공유 또는 이동식 미디어를 실수로 복사하지 못하게합니다. 또한 --exclude각각을 수동으로 차단하는 옵션을 제공 할 필요가 없습니다 . rsync에 매우 유용합니다.
Lassi

3
또한 같은 복사 파일 시스템 방지 /dev, /proc, /sys당신은 일반적으로 "한꺼번에"를 읽을 수 없다 어떤을 등.
Stephen Kitt

28

-x플래그 cp는 GNU 확장입니다. 단일 파일을 복사 할 때는이 옵션이 적용되지 않지만 전체 파일 계층을 복사 할 때이 -x옵션을 사용하면 원래 소스와 동일한 파일 시스템에없는 파일 및 디렉토리를 복사 할 수 없습니다.

예를 들어, 마운트 지점이 /usr/usr/local인 파일 시스템에서 를 사용 cp -xR /usr /some-dest하면의 계층 구조가 복사되지 않습니다 /usr/local.

거기에 다른 유틸리티입니다 -x같은 유사한 의미를 가진 옵션 dufind(플래그가 호출 -xdev을 위해 find), 및 rsync.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.