Linux에서 디렉토리와 그 내용을 복사하는 방법

'cp' 명령을 사용하여 한 위치에서 다른 위치로 전체 디렉토리를 복사하여 붙여넣습니다.

실행 중인 운영 체제에 관계없이 파일이나 폴더를 한 위치에서 다른 위치로 복사하는 것은 매일 수행하는 가장 기본적인 작업입니다. 직장에서 바쁜 날, 학교에서 프로젝트 할당 중 또는 진행 중인 프로젝트 개발 중에 A 위치에서 B 위치로 파일을 복사하는 것은 불가피합니다.

파일 또는 폴더 복사는 일반적으로 GUI를 사용하여 수행됩니다. Linux는 파일이나 폴더를 한 위치에서 다른 위치로 복사할 수 있는 명령줄 유틸리티를 제공하여 터미널에서 작업하는 습관을 관리합니다. 사용 cp 다양한 옵션이 있는 명령을 사용하면 다양한 방법으로 파일과 폴더를 자유롭게 복사할 수 있습니다.

에 대해 배울 이 기사를 통해 안내해 드리겠습니다. cp 명령 및 해당 내용과 함께 디렉토리를 복사하는 방법.

사용 가능한 옵션 cp 명령

다음은 와 함께 사용되는 가장 일반적인 옵션입니다. cp 디렉토리 및 모든 컨텐츠 복사의 컨텍스트에서 명령.

옵션설명
-V상세 모드(진행 상황 표시)
-r/R재귀적으로 디렉토리 복사
-N기존 파일이나 폴더를 덮어쓰지 마십시오
-나덮어쓰기 전에 프롬프트

한 위치에서 다른 위치로 디렉토리 복사

가장 기본적인 사용법부터 알아보자 cp 명령. 이 명령을 옵션과 함께 사용합니다. -아르 자형.

사용 -아르 자형 옵션을 사용하면 복사 중인 디렉터리 내의 하위 폴더와 파일도 복사됩니다.

통사론:

cp -r [소스 위치] [대상 위치]

예시:

현재 작업 디렉토리 안에 'project'와 'workspace'라는 두 개의 디렉토리가 있습니다.

이 예에서는 cp -r 모든 내용과 함께 'project' 디렉토리를 '/home/gaurav/workspace'와 같은 새 위치에 복사하는 명령입니다. 이것은 단순히 'project'라는 디렉토리를 'workspace'라는 디렉토리에 복사한다는 것을 의미합니다.

'project' 디렉토리의 내용입니다. 사용 내용을 표시하는 명령입니다.

gaurav@ubuntu:~/project$ ls -al total 288 drwxr-xr-x 6 gaurav gaurav 4096 Sep 17 18:26 . drwxr-xr-x 88 gaurav gaurav 266240 9월 17일 18:24 .. drwxr-xr-x 2 gaurav gaurav 4096 9월 17일 18:25 dem1, drwxr-xr-x 2 dem1, drwxr-xr-x 2 -x 2 gaurav gaurav 4096 9월 17일 18:25 dem3 drwxr-xr-x 2 gaurav gaurav 4096 9월 17일 18:25 dem4 -rw-r--r-- 1 gurav gaurav 28 Sep 26 temp1 우분투:~/프로젝트$

이제 다음을 사용하여 cp -r 명령을 사용하여 'project' 디렉토리를 원하는 위치에 복사할 수 있습니다.

gaurav@ubuntu:~$ cp -r /home/gaurav/project /home/gaurav/workspace gaurav@ubuntu:~$

산출:

gaurav@ubuntu:~/workspace$ ls -al total 408 drwxrwxr-x 4 gaurav gaurav 4096 9월 17일 18:27 . Sep drwxr-xr-x 88 gaurav gaurav 266240 9월 17일 18:24 .. drwxrwxr-x 3 gaurav gurav 4096 2018년 3월 22일 .metadata drwxr-xr-x 6gurav 147 project -- 1 gaurav gaurav 1535 9월 16일 17:13 source.c gaurav@ubuntu:~/workspace$ 

위의 출력에서 ​​'project' 디렉토리가 원래 위치에서 새 위치 '/home/gaurav/workspace'로 복사된 것을 볼 수 있습니다. 이제 'project' 디렉토리를 열어 그 안의 내용도 모두 복사되었는지 확인해보자.

gaurav@ubuntu:~$ cd ./workspace/project gaurav@ubuntu:~/workspace/project$

메모: 나는 사용했다 ./ 전체 경로를 입력하는 대신 여기에. 그것은 단순히 내 홈 디렉토리 경로이고 작업 공간이 내 홈 또는 현재 작업 디렉토리에 있음을 의미합니다. 이에 대한 자세한 내용은 이 기사를 참조하십시오.

산출:

gaurav@ubuntu:~/workspace/project$ ls -al total 28 drwxr-xr-x 6 gaurav gaurav 4096 Sep 17 18:27 . dem1, drwxr-xr-x 2 gurav 7096gaurav 2 gaurav gaurav 4096 9월 17일 18:27 dem3 drwxr-xr-x 2 gaurav gaurav 4096 9월 17일 18:27 dem4 -rw-r--gaur-- 1 gurav 24 Sep 17 temp@18:tuvc ~/작업공간/프로젝트$ 

이 출력에서 ​​우리는 'project' 디렉토리의 모든 내용도 새 위치로 이동했다는 결론을 내릴 수 있습니다.

한 위치에서 다른 위치로 여러 디렉토리 복사

여러 디렉토리를 복사하려면, cp 명령어는 위에서 언급한 것과 같은 방식으로 사용할 수 있습니다. 여기서 유일한 변경 사항은 복사할 여러 디렉터리의 여러 소스 경로를 입력해야 한다는 것입니다.

통사론:

cp -r [소스_경로_1] [소스_경로_n] [대상_경로]

예를 들어 이 명령을 확인해 보겠습니다.

예시:

gaurav@ubuntu:~/workspace$ cp -r ./snap ./project /home/gaurav/tomcat

여기에서 현재 작업 디렉토리에서 두 개의 디렉토리 'snap'과 'project'를 새 위치 '/home/gaurav/tomcat'으로 복사했습니다.

이제 디렉토리가 내용과 함께 새 위치에 복사되었는지 확인하겠습니다.

gaurav@ubuntu:~/tomcat$ ls -al total 9316 drwxrwxr-x 5 gaurav gaurav 4096 9월 19일 12:16 . drwxr-xr-x 88 gaurav gaurav 266240 9월 19일 12:15 .. drwxr-xr-x 6 gaurav gurav 4096 9월 19일 12:16 프로젝트 drwxr-xr-x 7 9월 19일 12:16 프로젝트 drwxr-xr-x 7 9월 19일 12:15

이 디렉토리의 내용도 복사되는지 확인합니다.

gaurav@ubuntu:~/tomcat/snap$ ls couchdb 이클립스 htop pycharm-community vim-editor gurav@ubuntu:~/tomcat/snap$ 
gaurav@ubuntu:~/tomcat/project$ ls dem1, dem2 dem3 dem4 temp.c gaurav@ubuntu:~/tomcat/project$

사용 cp 상세 모드로 명령

사용 cp 옵션이 있는 명령 -V 자세한 정보 표시 모드를 활성화합니다. 이 기능은 복사 중인 터미널의 파일을 표시합니다. 복사 중인 파일 또는 폴더의 이름이 터미널에 표시됩니다.

통사론:

cp -vr [소스_디렉토리] [대상_위치_경로]

예시:

gaurav@ubuntu:~$ cp -vr ./workspace/apache ./space

이 예에서 디렉토리 'apache'는 새 폴더 'space'에 복사됩니다. 나는 사용했다 -V 옵션 -아르 자형, 그래서 아파치 디렉토리의 모든 내용도 복사됩니다.

산출:

'./workspace/apache' -> './space/apache' './workspace/apache/apache-tomcat-8.0.52.tar.gz' -> './space/apache/apache-tomcat-8.0. 52.tar.gz' gaurav@ubuntu:~$

출력은 복사 중인 디렉토리를 표시합니다. 여러 파일을 복사하는 경우에도 동일한 과정을 수행할 수 있습니다.

사용 시 덮어쓰기를 피하십시오. cp 명령

가끔 사용하면서 cp 명령을 사용하여 여러 파일 또는 폴더를 복사하면 이미 새 위치에 복사된 파일을 덮어쓸 수 있습니다. 이를 방지하려면 다음을 사용하는 것이 좋습니다. -나 옵션 cp 명령. 파일이나 폴더를 덮어쓰기 전에 메시지가 표시됩니다.

통사론:

cp -ri [소스_디렉토리_경로] [대상_위치_경로]

메모: 여기, 내가 사용한 구문에서 -아르 자형 옵션도. 이것은 디렉토리의 내용도 복사합니다. 또한 디렉터리 내의 이러한 하위 폴더 및 파일을 덮어쓰고 있는지 확인합니다.

예시:

gaurav@ubuntu:~$ cp -ri ./workspace/snap ./tomcat cp: 덮어쓰기 './tomcat/snap/pycharm-community/current'?

여기서는 'snap'이라는 디렉터리를 새 위치에 복사하려고 했습니다. 그러나 디렉토리 이름 'snap'은 이미 새 위치에 존재합니다. 따라서 기존 스냅 디렉토리를 덮어쓰기 전에 터미널에서 메시지를 표시합니다.

'를 입력할 수 있습니다.' 또는 '아니' 이 프롬프트에 대한 응답으로.

사용하지 않는 경우 -나 옵션을 선택하면 기존 디렉토리를 새 디렉토리로 덮어씁니다.

다음을 사용하여 파일 및 디렉토리 덮어쓰기 건너뛰기 cp 명령

우리는 사용할 수 있습니다 -N 터미널을 사용하는 동안 유사한 파일 및 디렉토리를 덮어쓰지 않고 단순히 건너뛰도록 직접 지시하는 옵션 cp 명령.

통사론:

cp -nr [소스_디렉토리_경로] [대상_위치_경로]

이 명령을 사용하면 파일과 폴더를 덮어쓰지 않도록 할 수 있습니다.

예시:

gaurav@ubuntu:~$ cp -ri ./workspace/snap ./tomcat gaurav@ubuntu:~$

여기서 'snap' 디렉토리는 이미 대상 위치에 존재합니다. 따라서 사용 -N 옵션은 이 디렉토리를 덮어쓰지 않도록 합니다.

같지 않은 -나 옵션을 선택하면 덮어쓰기에 대한 메시지가 표시되지 않습니다.

결론

사용 cp Linux에서 디렉토리와 그 내용을 복사하는 명령은 쉬운 프로세스입니다. 에 대해 자세히 알아보려면 cp 다른 사용 가능한 옵션과 함께 명령을 입력하면 다음을 입력하여 매뉴얼 페이지를 확인할 수 있습니다. 남자 cp 당신의 리눅스 터미널에서.