반응형
cp
명령어를 사용하여 디렉토리를 복사하고 동일한 폴더에 중복 복사본을 만드는 방법에 대해 한국어로 설명해드리겠습니다.
cp
명령어와 -r
옵션
cp
: 기본적인 복사 명령어로, 파일이나 디렉토리를 한 위치에서 다른 위치로 복사합니다.-r
(또는--recursive
): 이 옵션은cp
명령어에 디렉토리를 재귀적으로 복사하라고 지시합니다. 즉, 디렉토리와 그 안의 모든 파일 및 하위 디렉토리를 포함하여 구조를 그대로 유지하면서 복사합니다.
예제
original_folder
라는 디렉토리가 있고, 동일한 상위 디렉토리에 duplicate_folder
라는 이름으로 중복 복사본을 만들고 싶다고 가정해 보겠습니다.
단계:
- 터미널 열기:
터미널 애플리케이션을 엽니다. - 상위 디렉토리로 이동:
cd
명령어를 사용하여original_folder
가 있는 디렉토리로 이동합니다. cd /path/to/your/directory
- 디렉토리 복사:
cp
명령어와-r
옵션을 사용하여 디렉토리를 복사합니다. cp -r original_folder duplicate_folder
실습 예제
다음과 같은 디렉토리 구조가 있다고 가정해 보겠습니다:
/path/to/your/directory/
└── original_folder/
├── file1.txt
├── file2.txt
└── subdirectory/
└── file3.txt
다음 명령어를 실행합니다:
cd /path/to/your/directory
cp -r original_folder duplicate_folder
이 명령어를 실행하면 디렉토리 구조는 다음과 같이 됩니다:
/path/to/your/directory/
├── original_folder/
│ ├── file1.txt
│ ├── file2.txt
│ └── subdirectory/
│ └── file3.txt
└── duplicate_folder/
├── file1.txt
├── file2.txt
└── subdirectory/
└── file3.txt
공백이 포함된 디렉토리 이름 처리
디렉토리 이름에 공백이 포함된 경우, 문제를 피하기 위해 따옴표를 사용해야 합니다:
cp -r "original folder" "duplicate folder"
고유한 이름 생성
기존 디렉토리와의 충돌을 피하기 위해 중복 복사본에 고유한 이름을 생성하고 싶을 수 있습니다. 다음은 디렉토리 이름에 현재 날짜와 시간을 추가하는 스크립트입니다:
original_folder="original_folder"
timestamp=$(date +%Y%m%d_%H%M%S)
duplicate_folder="${original_folder}_${timestamp}"
cp -r "$original_folder" "$duplicate_folder"
이 스크립트를 실행하면 original_folder_20240627_153000
와 같은 이름으로 original_folder
의 복사본이 생성되어 현재 날짜와 시간을 기준으로 고유한 이름이 부여됩니다.
요약
cp -r
을 사용하여 디렉토리를 재귀적으로 복사합니다.- 디렉토리 이름에 공백이 있는 경우 따옴표로 묶습니다.
- 필요시 중복 복사본에 고유한 이름을 생성하는 스크립트를 사용합니다.
이 개념들을 이해하면 Bash를 사용하여 디렉토리를 효과적으로 복사하고 내용을 관리할 수 있습니다.
반응형
'UX 개발 > Shell Script (Bash)' 카테고리의 다른 글
쉘 스크립트(Bash) - 내비게이팅(브라우징) 관련 기본 명령어 모음 (0) | 2024.06.27 |
---|---|
쉘 스크립트(Bash) - 파일 관련 기본 명령어 모음 (0) | 2024.06.27 |
쉘 스크립트(Bash) - 탐색 및 파일 외 유용한 기본 명령어 모음 (0) | 2024.06.27 |
쉘 스크립트(Bash) - cd, ls 등 활용 파일시스템 브라우징(내비게이팅) 하기 (0) | 2024.06.27 |
쉘 스크립트(Bash) - 디렉토리 제거하기(rm) (0) | 2024.06.27 |