나는 다음과 비슷한 행동을 찾고 있습니다.
cp -al
파일 내용을 복사하는 대신 하드 링크만 생성하고
rsync -a --delete
소스에 존재하지 않는 파일을 타겟에서 제거합니다. 하드링크 관련 옵션을 찾아봤는데 rsync
안되는 것 같습니다.오직하드 링크를 만듭니다.
Linux에 그런 명령이 있습니까?
답변1
"src" 및 "dest"라는 디렉터리를 각각 복사본의 소스 및 대상으로 사용한다고 가정합니다. 다음 명령 파이프라인을 사용하여 소스에 존재하지 않는 대상 파일을 제거할 수 있습니다.
find src/* dest/* |cut -d'/' -f2- |sort |uniq -u |xargs printf "dest/%s\n" |xargs rm -f
파일 이름에 공백이나 가 포함되지 않은 경우에만 작동합니다 \'"
.