확인없이 기존 파일을 복사 하시겠습니까?


18

많은 양의 파일을 복사하고 덮어 써야하며 다음 명령을 사용했습니다.

# cp -Rf * ../

그러나 동일한 이름의 파일이 대상 폴더에 존재할 때 마다이 질문이 나타납니다.

cp: overwrite `../ibdata1'? 

문제는 약 200 개의 파일을 덮어 쓸 것이며 Y then Enter200 번 누르는 것이 올바른 방법 이라고 생각하지 않는다는 것입니다 .

그렇다면 올바른 방법은 무엇입니까?

답변:


38

당신은 할 수있다 yes | cp -rf myxx, 또는 당신이 루트로 할 경우 - 당신의 .bashrc 또는 CP의 -i에 CP의 별칭을 .profile에 있으며, 가장 현대적인 시스템은 루트 프로필에 그렇게.

별명을 일시적으로 무시하고 별명을 붙일 수없는 버전의 명령 앞에 \를 붙여서 사용할 수 있습니다 (예 : \ cp


4
별명을 우회하는 방법을 가리키는 +1. 무차별 대입 솔루션의 경우 -1로 유혹했습니다.
Hennes

5
+! 에 대한 yes파이프 기능 - 매우 편리합니다!
Andrew Newby

14

RHEL과 CentOS는 실수로 파일을 덮어 쓰거나 삭제하지 않도록 루트 사용자의 별칭을 설정하여 초보자 사용자를 보호하려고 시도했음을 알고 있습니까?

alias cp='cp -i'
alias mv='mv -i'
alias rm='rm -i'

-i스위치를 수정하거나 기존 파일을 제거 할 때 확인을 필요로하는 것이다. 명령을 실행하기 전에 별칭 확장이 발생하기 때문에 --force -f 스위치를 사용하더라도 여전히 확인이 필요합니다.

/root/.bashrc파일 을 편집하여 별명을 영구적으로 제거하고 세션 지속 시간 동안 unalias cp 또는 단일 명령에 대해 다음 중 하나를 사용 하여 별명을 제거 할 수 있습니다 .

  • 전체 경로를 사용하십시오 /bin/cp
  • 따옴표를 사용 "cp"하거나 'cp'명령 주위에
  • 명령 키워드를 사용하십시오. 예 command cp
  • 명령을 피하다 \cp
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.