반응형
리눅스 어떻게 복사하지만 덮어 쓰지 않습니까?
내가 원하는 cp
심지어 그들이 복사 된 파일보다 오래된 디렉토리하지만 기존 파일을 덮어 싶지 않아요. 그리고 Crontab Bash 스크립트의 일부이므로 완전히 비 대화식으로 만들고 싶습니다. 어떤 아이디어?
매뉴얼 페이지 에서 가져온 것 :
-n, --no-clobber
do not overwrite an existing file (overrides a previous -i option)
예:
cp -n myoldfile.txt mycopiedfile.txt
사용을 고려하십시오 rsync
.
rsync -a -v --ignore-existing src dst
의견 rsync -a -v src dst
에 따르면 기존 파일을 업데이트하므로 정확하지 않습니다.
cp -n
당신이 원하는 것입니다. 매뉴얼 페이지를 참조하십시오.
'n'옵션이없는 사용자 (예 : RedHat의 cp -u
경우)는 소스가 기존 파일보다 최신 인 경우 (또는 기존 파일이없는 경우)에만 파일을 쓰는 데 사용할 수 있습니다 .
[편집] 주석에서 언급했듯이 이것은 오래된 파일을 덮어 쓰므로 OP가 원하는 것이 아닙니다. ceving의 답변을 사용하십시오.
이것은 RedHat에서 작동합니다.
false | cp -i source destination 2>/dev/null
업데이트 및 덮어 쓰기를하지 않는 것은 뭔가 다르다.
알파인 리눅스 : 고산 지역 : 대답 다음은 단일 파일의 경우입니다 cp -n
(그리고 작동하지 않는 false | cp -i ...
솔루션은 I가 발견 내 경우에는 작업 때문에 너무) :
if [ ! -f env.js ]; then cp env.example.js env.js; fi
위 예제에서 env.js
파일이 존재하지 않으면에 복사 env.example.js
합니다 env.js
.
일부 cp 버전에는 --no-clobber 옵션 이 없습니다 . 이 경우 :
echo n | cp -vipr src/* dst
참고 URL : https://stackoverflow.com/questions/9392735/linux-how-to-copy-but-not-overwrite
반응형
'Programing' 카테고리의 다른 글
CSS : not (: last-child) : 애프터 셀렉터 (0) | 2020.03.04 |
---|---|
C #에서 XML 파일을 읽고 구문 분석하는 방법 (0) | 2020.03.04 |
레일에서 사용자 정의 구성 변수를 정의하는 방법 (0) | 2020.03.04 |
일반적으로 Node.js는 10,000 개의 동시 요청을 어떻게 처리합니까? (0) | 2020.03.04 |
파이썬에서 문자열에서 한 문자 변경 (0) | 2020.03.04 |