원하지 않는 파일을 삭제하는 동안 하드 링크로 복사하는 Linux 명령이 있습니까?

원하지 않는 파일을 삭제하는 동안 하드 링크로 복사하는 Linux 명령이 있습니까?

나는 다음과 비슷한 행동을 찾고 있습니다.

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

파일 이름에 공백이나 가 포함되지 않은 경우에만 작동합니다 \'".

관련 정보