많은 수의 파일을 복사하고 덮어써야 하는데 다음 명령을 사용했습니다.
# cp -Rf * ../
그러나 동일한 이름의 파일이 대상 폴더에 존재할 때마다 다음과 같은 문제가 발생합니다.
cp: overwrite `../ibdata1'?
문제는 덮어쓸 파일이 200개 정도 있는데, Y then Enter
200번 누르는 것은 올바른 방법이 아닌 것 같습니다.
그렇다면 올바른 접근 방식은 무엇입니까?
답변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