매달린 심볼릭 링크에서 cp를 강제로 복사


15

cp매달려있는 심볼릭 링크 에 강제 로 복사 하는 방법이 있습니까 (Bash 4.2.5, Ubuntu 12.04)?

cp a-file path/to/danling/symlink/a-file
cp: not writing through dangling symlink `path/to/danling/symlink/a-file`

cp -f 이 경우 무능한 것으로 보이며 동일한 메시지가 나타납니다.


cp -f대신 사용해 보셨습니까 ?
Rohith Madhavan

@RohithMadhavan yep; 같은 메시지가 (난 그냥 질문을 업데이트)
마르쿠스 유니 우스 브루투스

답변:


21

확인 cp복사하기 전에 대상 파일을 제거 :

$ ln -s /random/file f              
$ cp -f a f                  
cp: not writing through dangling symlink ‘f’
$ cp --remove-destination a f
$ diff a f && echo yes
yes

보낸 사람 man cp:

--remove-destination
      remove  each existing destination file before attempting to open
      it (contrast with --force)

2

실제 심볼릭 링크가있는 unlink theSymLink위치를 사용 theSymLink하고 다시 시도하십시오.


3
이것은 작동하지만 unlink더 일반적으로 사용되는 것과 동일한 효과를 가지므로 이점이 없습니다 rm. 특히, 같은 rm foo, unlink foo파일을 삭제 foo가 일반 파일이 아닌 심볼릭 링크 경우에도. (또는 ) unlink대신 사용하면 우발적 인 데이터 손실을 막을 수 없습니다 . rmmv --remove-destination ...
Eliah Kagan
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.