파일을 덮어 쓰려면 'cp'를 어떻게 사용합니까?


9

쉘 스크립트 또는 터미널을 사용하여 존재하지 않을 수도있는 파일을 덮어 쓰는 방법은 무엇입니까? 나는 cp에 대한 맨 페이지를 보았고 -f 인수를 사용하여 덮어 쓰게했다. 그러나 그것은 아무것도하지 않습니다.

$ cp -f /path/to/source/file.txt /path/to/target

또는 OS X의 일반적인 내장 명령 행 도구를 사용하여 파일을 덮어 쓸 수있는 또 다른 옵션이 있습니까?


3
그것은 나를 위해 작동합니다. 그것을 시도 할 때 덮어 쓰는 대신 무엇을하고 있습니까?
Gordon Davisson

2
대상 파일을 덮어 쓸 수있는 권한이 없으면이 작업은 실패합니다. 실제로 대상 파일을 덮어 쓰고 싶다면 다음을 사용할 수 있습니다. sudo 명령의 시작 부분에. 그러나 조심해서 사용하십시오!
Daniel

@ 고든 데이비슨 : 뭐하는거야? 아무것도. 그 파일이 대상 디렉토리에 복사됩니다. mv 그들 또는 rm 그들.
rogerFernand

@ 다니엘 로손 : 사용하지 않고 sudo 나는 사용할 수있다. mv 또는 rm 사용하기 전에 파일을 이동하거나 제거하려면 cp. 사용 sudo cp 아무런 차이가 없다.
rogerFernand

Curiouser 및 curiouser.
Daniel

답변:


12

별칭이 관련되어 있지 않다면 왜 cp가 이런 식으로 행동하는지에 관해서는 어리둥절 해합니다. 그러나이 정확한 상황을 위해 제공되는 빠르고 더럽고 위험한 유틸리티가 있습니다. yes. 확인 메시지를 표시하는 명령으로 연속적인 확인 메시지를 파이프 할 수 있습니다 (텍스트를 보낼 때 사용할 수 있지만 기본값은 "y"입니다).

yes | cp foo bar cp 명령을 실행하고 모든 확인 프롬프트를 건너 뜁니다.


8

명령 별명으로 인해 발생할 수 있습니다.

전화하기 cp 직접 사용할 수 있습니다. /bin/cp src dest


1
이것이 왜 downvoted되었는지 잘 모르겠습니다. 나는 명시 적으로 -f를 지정하면 별칭에서 -i를 무시한다는 인상을 받았지만 확인해 보았습니다. 포스터는 cp 앨리어스가 있는지 여부를 알아야합니다 (유형 alias cp ). 프로파일에서 별명을 변경하거나 제안 된대로 / bin / cp를 사용할 수 있습니다.
octern

나는 기본값을 사용하고있다. cp 애플이 제공 한 것처럼.
rogerFernand

@octern : roger$ alias cp -bash: alias: cp: not found
rogerFernand

나는 / bin / cp를 사용해야했다. 왜 그런지 모르겠다.
beingalex

1
나는 너무 늦을 지 모르지만 검색 엔진에서 오는 사람들은 명령에 별명이 있는지 확인할 수있었습니다. type cp. 그리고 실제로 그렇게했습니다.
shriek

2
rm foo/bar/destination && cp source foo/bar/destination

먼저 ( rm ) 목적지, 그 다음에 성공한 경우 ( && ) 당신은 당신의 복사를합니다. 폴더를 제거 할 때 다음을 추가하십시오. -rrm ( rm -r ).


1

별칭도 -f로 엉망으로 만들었고 / bin에서 직접 cp를 호출하고 모두 괜찮습니다. 우발적 인 덮어 쓰기 / 제거를 방지하는 별칭을 사용하는 것이 좋습니다. 따라서 제거하지 않는 것이 좋습니다.

# 별칭

별칭 cp = 'cp -i'

이미 설명한 것처럼, -i 플래그는 -f 플래그를 superceedes하는데, 이는 명령이 의도 한대로 수행되는 것을 허용하지 않을 것이다.

. # / bin / cp -fauv src dst

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.