내 /home/user/.bashrc 파일에는 오류를 방지하기 위해 다음과 같은 별칭이 있습니다.
alias rm='rm -i'
alias cp='cp -i'
alias mv='mv -i'
내가 하고 있는 일이 확실하다면 별칭을 사용하거나 덮어쓸 수 rm
있으며 mv
파일을 정말로 덮어쓸 것인지 묻지 않습니다.rm -f
mv -f
문제는 명령어가 작동하지 않는데 , cp
사용시 cp -f
계속해서 질문이 뜹니다 .
이게 정상인가요? 기본적으로 별칭을 사용하고 명령 cp -i
도 사용할 수 있으려면 어떻게 해야 합니까 ?cp -f
저는 Debian Wheezy 64비트를 사용하고 있습니다.
답변1
을 부여함으로써 cp -f
해당 옵션은 기존 옵션에 단순히 추가됩니다.
즉, 가 있으면 alias cp='cp -i'
명령의 cp 단어가 대체되어 cp -f
을 얻게 됩니다 cp -i -f file1 file2
.
별칭을 재정의하려면 다음을 수행하세요.
\cp -f file1 file2
명령 앞의 백슬래시는 앨리어싱을 비활성화합니다. 가독성을 높이기 command cp
위해 대체를 사용할 수 있습니다 \cp
.
답변2
비록 -f
그것이 의미하는 바이지만힘이 모든 것에 대해 , cp
이는 다음을 의미합니다.대상을 업데이트할 수 없는 경우 먼저 대상을 삭제하여 강제로 시도해 보세요..
mv
및 의 경우 rm
을 -f
재정의하세요 -i
. 하지만 의 경우 cp
유틸리티의 동작을 변경하는 것이지 -f
이 경우에는 그 반대가 아닙니다. -i
cp -i -f
이는 의미가 있으며 다음을 의미합니다.사용자에게 대상이 존재하는지 물어보고, 덮어쓸 수 없으면 먼저 삭제하세요..
mv
및 의 경우에도 rm
사용자에게 보내는 경고 및 오류 메시지의 경우 추가 -f
하는 것과 제거하는 것은 다릅니다 . -i
예를 들어 rm non-existent-file
오류는 보고되지만 rm -i -f non-existent-file
오류는 보고되지 않습니다.
-i
앞에서 언급했듯이 효과를 제거하려면 별칭 을 추가하는 대신 별칭을 비활성화하기 위해 제공된 솔루션을 사용해야 합니다 .-f