Linux cp 명령이 자동이 아닙니다

Linux cp 명령이 자동이 아닙니다

-f cp를 사용하면 침묵해야 한다는 것을 알고 있지만 그렇지 않습니다! 그래요

cp -rf Functional Functionalssssssss

Functional이 존재하지 않으면 'Functional'을 stat할 수 없다는 메시지가 표시됩니다... 하지만 오류 메시지를 보고 싶지 않습니다!! 내가 직접 처리하고 싶어

답변1

출력은 실제로 가 아닌 cannot stat...으로 전송됩니다 . 질문에 제공한 특정 예의 경우 다음은 다음 으로 리디렉션하여 오류 출력을 억제합니다 .stderrstdoutstderr/dev/null

cp -rf Functional Functionalssssssss 2>/dev/null

또한 적어도 cp내 Debian Linux 서버 버전에서는 -f보편적인 '침묵' 플래그가 아닙니다. 대신 의 동의어입니다 --force. 즉, cp복사하기 전에 기존 대상 파일을 자동으로 지웁니다.

답변2

bash 또는 sh(posix 표준)을 사용하는 경우 [ -f file ] && cp file target 원하는 것입니다.

파일이 존재하는지 확인하고 복사합니다. 오류에 작별 인사를 하세요.

관련 정보