확인하지 않고 기존 파일을 복사하시겠습니까?

확인하지 않고 기존 파일을 복사하시겠습니까?

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

# cp -Rf * ../

그러나 동일한 이름의 파일이 대상 폴더에 존재할 때마다 다음과 같은 문제가 발생합니다.

cp: overwrite `../ibdata1'? 

문제는 덮어쓸 파일이 200개 정도 있는데, Y then Enter200번 누르는 것은 올바른 방법이 아닌 것 같습니다.

그렇다면 올바른 접근 방식은 무엇입니까?

답변1

이 작업을 수행할 수 있습니다 yes | cp -rf myxx. 또는 루트로 수행하는 경우 .bashrc 또는 .profile에 cp에서 cp -i까지의 별칭이 있으며 대부분의 최신 시스템은 루트 프로필에 대해 이 작업을 수행합니다.

임시로 별칭을 무시하고 명령 앞에 \를 붙여서 명령의 별칭이 아닌 버전을 사용할 수 있습니다(예: \cp everything).

답변2

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

관련 정보