Computer >> 컴퓨터 >  >> 프로그램 작성 >> BASH 프로그래밍

Linux cp 명령:파일 및 디렉토리 복사 방법

이 자습서에서는 Linux에서 cp 명령을 사용하여 파일 또는 디렉터리를 복사하는 방법을 설명합니다. 아래에 예시가 포함되어 있습니다.

Linux는 지구상에서 가장 인기 있는 운영 체제 중 하나이며 모든 Android 장치의 기반입니다. 오픈소스입니다. Windows 또는 macOS와 같은 다른 시스템에 비해 몇 가지 분명한 이점이 있습니다.

Linux에는 프로그래머가 정기적으로 사용하는 상당한 수의 다양한 명령이 있습니다.

cp 명령이란 무엇입니까?

사본(cp) 명령은 모든 Linux 명령 중 기본적이고 가장 일반적으로 사용되는 명령 중 하나입니다. 사용자가 파일이나 디렉토리를 한 곳에서 다른 곳으로 복사할 수 있습니다. 파일을 복사할 때 원본 파일 이름은 그대로 유지되지만 필요한 경우 대상 파일 이름을 변경할 수 있습니다.

cp 명령의 일반적인 구문

이 명령의 일반적인 구문 형식은 다음과 같습니다.

cp [Options] [Source] [Destination]

cp 명령의 일반 옵션

-v Verbose mode (Show Progress)
-n Do not overwrite an existing fie
-d Copy a link file
-r/R Copy directories recursively
-i Prompt before overwrite
-b Make a backup of each existing destination file
-p Preserve the specified attributes

파일 및 디렉토리 복사 방법

아래에서는 cp를 사용하여 파일 및 디렉토리를 복사하는 데 사용되는 방법을 살펴보겠습니다. 명령.

파일 사본을 만드는 방법

cp 명령을 사용하여 파일을 복사하려면 복사하려는 파일 이름 뒤에 대상을 입력하십시오.

아래 예에서 linxscrew.txt 파일은 linxscrew_updated.txt라는 새 파일로 복사됩니다. cp 명령은 새 파일도 생성합니다.

cp linxscrew.txt linxscrew_updated.txt

결과:

ls
linxscrew.txt linxscrew_updated.txt

여러 파일을 새 위치로 복사하는 방법

cp 명령을 사용하여 둘 이상의 파일을 복사하려면 파일 이름 뒤에 디렉터리 대상을 전달합니다. 이 예에서는 "linxscrew1.txt라는 세 개의 파일을 복사합니다. ", "linxscrew2.txt ", "linxscrew3.txt ". "/home/docs 디렉토리에서 복사할 것입니다. "라는 디렉토리에 "/home/new_docs ". 모든 파일 이름은 공백으로 구분해야 합니다.

cp /home/docs linuxscrew1.txt linuxscrew1.txt linuxscrew1.txt /home/new_docs

파일이 새 위치에 올바르게 복사되었는지 확인하려면 아래와 같이 Is 명령을 사용할 수 있습니다.

ls -lh /home/new_docs

디렉토리 복사 방법

cp 명령은 기본적으로 디렉토리 내용을 복사하지 않습니다. 따라서 디렉토리를 한 곳에서 다른 곳으로 재귀적으로 복사하려면 – r을 사용해야 합니다. 옵션을 cp 명령과 함께 사용합니다. 그러면 하위 디렉터리를 포함한 전체 디렉터리가 새 대상 디렉터리로 복사됩니다. 디렉토리 이름은 그대로 유지됩니다.

다음 명령은 linuxscrew라는 전체 디렉토리를 복사합니다. , 문서 위치의 하위 디렉터리 포함 new_docs라는 위치로 :

cp -r /home/docs/linuxscrew/ /home/newdocs/

여러 디렉토리를 복사하는 방법

이것은 단일 디렉토리를 복사하는 것과 유사하며 단일 명령을 사용하여 여러 디렉토리를 재귀적으로 복사할 수 있습니다. 아래 예에서는 linuxscrew_files라는 디렉토리를 복사하려고 합니다. 및 linuxscrew_images /home/all_linuxscrew_docs라는 디렉토리에 .

cp -r /home/linuxscrew_files/ /home/linuxscrew_images/ /home/all_linuxscrew_docs/

특정 형식의 파일을 복사하는 방법

Linux에서 특정 형식의 파일만 복사하려면 와일드카드 “* "를 해당 파일 확장명과 함께 사용합니다. 아래 예에서는 .txt로 끝나는 모든 파일을 대상 디렉토리에 복사하고 있지만 이 방법은 모든 파일 확장명과 함께 사용할 수 있습니다.

cp /home/linuxscrew/*.txt /home/text_files/

기존 파일 덮어쓰기를 방지하는 방법

Linux에서 파일을 복사할 때 기존 파일을 덮어쓰지 않으려면 –n 옵션. 이렇게 하면 해당 이름의 파일에 대한 대상 디렉토리를 확인하고 NOT인 경우에만 명령을 수행합니다. 해당 이름을 가진 파일이 이미 있습니다. 있는 경우 명령은 계속 실행되지만 변경 사항은 적용되지 않습니다. 아래 예에서 파일 이름은 linuxscrew.txt입니다. .

cp -n /home/linuxscrew/linuxscrew.txt /home/all_linuxscrew_docs/

심볼 링크 파일 복사 방법

기본적으로 복사 작업을 수행할 때 심볼릭 링크는 제외됩니다. 링크 파일을 복사하려면 -d를 사용해야 합니다. 아래 예와 같이 옵션:

cp –d /hone/linuxscrew/linuxscrew.txt /home/all_linuxscrew_docs/