예

디렉터리를 다른 디렉터리로 복사하고 싶습니다.

예를 들어 cp -r dir1 dir2dir1의 내용을 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 bb가 존재하지 않는 경우 메시지가 표시되지만 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

관련 정보