![원하지 않는 파일을 삭제하는 동안 하드 링크로 복사하는 Linux 명령이 있습니까?](https://linux55.com/image/58405/%EC%9B%90%ED%95%98%EC%A7%80%20%EC%95%8A%EB%8A%94%20%ED%8C%8C%EC%9D%BC%EC%9D%84%20%EC%82%AD%EC%A0%9C%ED%95%98%EB%8A%94%20%EB%8F%99%EC%95%88%20%ED%95%98%EB%93%9C%20%EB%A7%81%ED%81%AC%EB%A1%9C%20%EB%B3%B5%EC%82%AC%ED%95%98%EB%8A%94%20Linux%20%EB%AA%85%EB%A0%B9%EC%9D%B4%20%EC%9E%88%EC%8A%B5%EB%8B%88%EA%B9%8C%3F.png)
나는 다음과 비슷한 행동을 찾고 있습니다.
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
파일 이름에 공백이나 가 포함되지 않은 경우에만 작동합니다 \'"
.