디렉터리를 다른 디렉터리로 복사하고 싶습니다.
예를 들어 cp -r dir1 dir2
dir1의 내용을 dir2에 복사합니다. dir1 자체를 dir2에 복사하여 ls dir2
출력할 경우 dir1 안에 있는 내용은 복사하지 않으려고 합니다 dir1
.
답변1
당신처럼:
cp -r dir1 dir2
당신은 할 것디렉토리 1(및 그 내용) 내부디렉토리 2. 믿을 수 없다면 시도해 보세요 ;-).
내용을 복사하는 명령디렉토리 1입력하다디렉토리 2예:
cp -r dir1/* dir2
답변2
cp(및 mv) 설명서를 확인하세요.
cp [OPTION]... [-T] SOURCE DEST
cp [OPTION]... SOURCE... DIRECTORY
cp [OPTION]... -t DIRECTORY SOURCE...
이렇게 하면 cp a b
b가 존재하지 않는 경우 메시지가 표시되지만 cp -T a b
, b가 존재하고 디렉터리인 경우에는 cp -t b a
그렇지 않은 경우 오류가 발생합니다.
예
mkdir empty
cd empty
mkdir a
touch a/a-file
cp -r a b #this creates b a copy of a
cp -r a b #this time it makes a copy of a called a in b (b/a)
실시예 2
mkdir empty
cd empty
mkdir a
touch a/a-file
cp -r -T a b #this creates b, a copy of a
cp -r -T a b #updates b (no effect in this case)
실시예 3
mkdir empty
cd empty
mkdir a
touch a/a-file
mkdir b
cp -r -t b a #copy a into b
cp -r -t b a #updates a/b (no effect in this case)
답변3
또한 첫 번째 매개변수(복사할 디렉터리)도 확인하세요.슬래시 문자로 끝나지 않습니다./
. 이 경우 일부 버전 cp
(예: MacOS)에서는 이를 그대로 처리하여 /*
전체 디렉토리가 아닌 디렉토리의 내용만 복사합니다. 키를 사용하여 디렉터리 이름을 자동 완성하는 경우 일반적으로 슬래시를 추가합니다 Tab.
전체 디렉토리 복사 dir1
디렉토리를 입력하십시오 dir2
:
cp -r dir1 dir2
디렉터리 내용 복사 dir1
디렉토리를 입력하십시오 dir2
:
cp -r dir1/ dir2
이는 다음과 같습니다:
cp -r dir1/* dir2