동일한 파일 시스템 간의 cp가 다른 파일 시스템 간의 cp보다 더 빠릅니까?

동일한 파일 시스템 간의 cp가 다른 파일 시스템 간의 cp보다 더 빠릅니까?

두 개의 동일한 파일 시스템 간의 복사가 두 개의 다른 파일 시스템 간의 복사보다 빠르다는 의심으로 이어지는 cp 옵션 -x 아이디어에 대해 열심히 생각해 왔습니다. 그리고 어느 것이 더 빠르고 효율적으로 사용 cp --reflink=auto하거나 사용하는 cp --u 것이 사실인지 거짓인지 설명하고 증명해 주십시오.

답변1

cpObPOSIX: 여기서 논의된 옵션 중 어느 것도 표준이 아닙니다.

cp -x동일한 파일 시스템 내에서 복사하는 것과는 아무런 관련이 없습니다.재귀 하강은 동일한 파일 시스템의 디렉터리와 파일만 고려합니다.. 이를 통해 사용자는 예를 들어 다음을 실행할 수 있습니다.

cp -rx / /somewhereelse

다른 파일 시스템( /proc등 포함)을 복사하지 않고 루트 파일 시스템을 백업합니다. /somewhereelse다른 파일 시스템에 있을 수 있습니다(이 경우에는 있어야 함).

-x옵션은 각 인수에 적용되므로 cp -rx / /home /somewhereelse아래에 보이는 모든 항목이 복사되고 /아래의 내용만 파일 시스템 경계를 넘지 않고 복사됩니다 . 동일한 파일 시스템에 있더라도 작동 /home합니다 .//home

성능 측면에서 복사되는 데이터 양을 줄이는 옵션은 전체 작업 속도를 향상시킵니다. 따라서 cp -u(일부) 소스 파일의 복사본이 이미 있는 디렉터리에 복사하는 경우 타임스탬프가 동일하거나 해당 소스 파일보다 최신인 파일은 복사하지 않으므로 속도가 더 빨라집니다. cp --reflink=auto참조 링크를 사용할 수 있을 때마다 데이터 블록 전체를 복사하는 것을 방지하므로 속도가 더 빨라집니다.

관련 정보