내 bash 스크립트는 일부 파일을 여러 개의 디렉토리에 복사합니다.Bash : 대상이 같은 볼륨 안에 있으면 하드 링크를 만듭니다. 복사하지 않을 경우 복사하십시오.
공간을 절약하고 속도를 극대화하려면 모든 사본이 평생 동안 똑같이 유지되어야하므로 사본 대신 하드 링크를 만드는 것이 좋습니다.
스크립트는 다른 컴퓨터에서 실행되지만 대상 디렉터리가 원본과 다른 볼륨에있는 경우가있을 수 있습니다. 이 경우 하드 링크를 만들 수 없으며 파일을 복사해야합니다.
원본 볼륨과 대상 디렉터리가 같은 볼륨에 있는지 확인하여 하드 링크 또는 복사 할 수 있도록하려면 어떻게합니까?
ln $SRC $TARGET || cp $SRC $TARGET
는 CP 그냥 크로스 장치를 실패 -l하지 않을까요? 또한, 하드 링크는 '모든'메타 데이터를 유지하기 때문에, 첫 번째 변종에서'cp -al' (또는 첫 번째 변종에서'cp -a')를 제안합니다 : – sehe
@sehe :'cp -l' 실패는 두 번째 생각이었습니다. . 그래서 좋은 대안이 아니라 힌트를 주셔서 감사합니다. – thiton