![동일한 파일 시스템 간의 cp가 다른 파일 시스템 간의 cp보다 더 빠릅니까?](https://linux55.com/image/188763/%EB%8F%99%EC%9D%BC%ED%95%9C%20%ED%8C%8C%EC%9D%BC%20%EC%8B%9C%EC%8A%A4%ED%85%9C%20%EA%B0%84%EC%9D%98%20cp%EA%B0%80%20%EB%8B%A4%EB%A5%B8%20%ED%8C%8C%EC%9D%BC%20%EC%8B%9C%EC%8A%A4%ED%85%9C%20%EA%B0%84%EC%9D%98%20cp%EB%B3%B4%EB%8B%A4%20%EB%8D%94%20%EB%B9%A0%EB%A6%85%EB%8B%88%EA%B9%8C%3F.png)
두 개의 동일한 파일 시스템 간의 복사가 두 개의 다른 파일 시스템 간의 복사보다 빠르다는 의심으로 이어지는 cp 옵션 -x 아이디어에 대해 열심히 생각해 왔습니다. 그리고 어느 것이 더 빠르고 효율적으로 사용 cp --reflink=auto
하거나 사용하는 cp --u
것이 사실인지 거짓인지 설명하고 증명해 주십시오.
답변1
cp
ObPOSIX: 여기서 논의된 옵션 중 어느 것도 표준이 아닙니다.
cp -x
동일한 파일 시스템 내에서 복사하는 것과는 아무런 관련이 없습니다.재귀 하강은 동일한 파일 시스템의 디렉터리와 파일만 고려합니다.. 이를 통해 사용자는 예를 들어 다음을 실행할 수 있습니다.
cp -rx / /somewhereelse
다른 파일 시스템( /proc
등 포함)을 복사하지 않고 루트 파일 시스템을 백업합니다. /somewhereelse
다른 파일 시스템에 있을 수 있습니다(이 경우에는 있어야 함).
이 -x
옵션은 각 인수에 적용되므로 cp -rx / /home /somewhereelse
아래에 보이는 모든 항목이 복사되고 /
아래의 내용만 파일 시스템 경계를 넘지 않고 복사됩니다 . 동일한 파일 시스템에 있더라도 작동 /home
합니다 ./
/home
성능 측면에서 복사되는 데이터 양을 줄이는 옵션은 전체 작업 속도를 향상시킵니다. 따라서 cp -u
(일부) 소스 파일의 복사본이 이미 있는 디렉터리에 복사하는 경우 타임스탬프가 동일하거나 해당 소스 파일보다 최신인 파일은 복사하지 않으므로 속도가 더 빨라집니다. cp --reflink=auto
참조 링크를 사용할 수 있을 때마다 데이터 블록 전체를 복사하는 것을 방지하므로 속도가 더 빨라집니다.