CentOS 5 및 Apache 2.2를 실행하는 웹 서버에 cms(modx)를 설치했습니다. 이제 새 버전이 나왔으니 업데이트하고 싶습니다. 설명모드x위키기존 파일을 덮어쓰는 것이 좋습니다.
.zip 파일을 다운로드하여 추출했습니다. 기존 설치는 에 있습니다 html/cms/
. 새 파일은 에 있습니다 html/modx-2.1.1-pl/
. SSH 연결을 통해 서버에 액세스합니다.
html/cms/
기존 파일을 덮어쓰고 설치에 포함되지 않은 파일을 유지하면서 새 파일을 이동하는 방법은 무엇입니까 ? 나는 시도했습니다 mv
- 명령을 내리고 그것에 대해 읽었 rsync
거나 cp
그것이 적합할 수도 있습니다.
시도했을 때 mv -ivt cms/ modx-2.1.1-pl/*
성공하지 못했습니다 . 의 하위 디렉토리는 modx-2.1.1-pl/
이동되지 않았습니다.
옳은 일은 무엇입니까?
답변1
만일의 경우를 대비해 먼저 기존 파일을 백업하세요.
tar czf modx-old.tar.gz html/cms
그런 다음 cp
새 파일을 제자리에 복사하는 데 사용합니다. mv
여기서는 기존 디렉토리를 반복하는 대신 기존 디렉토리를 건너뛰기 때문에 사용할 수 없습니다 . 그러나 cp
전체 복사본이 생성되어 대상에 있는 기존 파일을 덮어씁니다.
cd html/modx-2.1.1-pl/ && cp -Rpf . ../html/cms/
GNU를 사용하면 복사하는 대신 하드 링크를 생성하여 cp
추가할 수 있습니다 .-l
마지막으로 디렉토리를 삭제할 수 있습니다 modx-2.1.1-pl
.
답변2
매개변수의 순서가 잘못되었습니다. 이 명령의 사용법 mv
은 입니다 mv source dest
. modx-2.1.1-pl 아래의 모든 항목을 cms로 이동하려면 다음을 수행해야 합니다 mv modx-2.1.1-pl/* cms/
. 실제로 cp
대신 사용하는 것이 더 나을 수도 있습니다 mv
. 이 경우 구문은 다음과 같습니다 cp -r modx-2.1.10pl/* cms/
.