티스토리 뷰
cp (파일 복사)
Linux의 cp 명령은 파일 및 디렉터리 복사에 사용됩니다. 파일을 관리할 때 가장 일반적으로 사용되는 명령 중 하나이며, 한 위치에서
다른 위치로 데이터를 복사하는 방법을 사용자 정의할 수 있는 다양한 옵션을 제공합니다.
개별 파일을 사용하든 전체 디렉토리 트리를 사용하든 cp 명령을 이해하는 것이 중요합니다.
기본 설명
cp 명령은 원본 위치에서 대상 위치로 파일이나 디렉터리를 복사합니다.
기본적으로 cp는 -i(대화형)와 같은 옵션을 사용하지 않는 한 대상에 있는 동일한 이름의 모든 파일을 덮어씁니다.
cp [options] source destination
- 소스: 복사할 파일 또는 디렉터리입니다.
- 대상: 파일 또는 디렉터리가 복사될 대상 위치입니다.
일반적으로 사용되는 옵션
옵션 | 설명 |
-r 또는 -R | 하위 디렉터리와 파일을 포함하여 디렉터리와 해당 내용을 모두 복사하는 데 사용됩니다. |
-i | 대상에서 파일을 덮어쓰기 전에 사용자에게 확인 메시지를 표시합니다. |
-u | 원본 파일이 대상 파일보다 최신이거나 대상 파일이 없는 경우에만 파일을 복사합니다. |
-v | 명령이 수행하는 작업에 대한 자세한 정보를 표시하여 복사되는 각 파일을 인쇄합니다. |
-p | 소유권, 타임스탬프, 권한과 같은 파일 속성을 유지합니다. |
-a | -r, -p 및 -d(링크 유지) 옵션을 결합하여 소스의 전체 백업을 효과적으로 만듭니다. |
예시
- 기본 복사 명령: 파일을 다른 디렉터리로 복사합니다.
cp file.txt /path/to/destination/
- 여러 파일 복사: 여러 파일을 대상 디렉터리에 복사합니다.
cp file1.txt file2.txt /path/to/destination/
- 재귀 복사: 전체 디렉터리와 해당 내용을 복사합니다.
cp -r /path/to/source_dir /path/to/destination_dir
- 대화형 복사: 기존 파일을 덮어쓰기 전에 메시지를 표시합니다.
cp -i file.txt /path/to/destination/
GOOD 사용법
1. 백업 만들기: 백업할 디렉터리나 파일을 복사할 때 '-a' 옵션을 사용하여 구조, 타임스탬프 및 권한을 보존하는 것이 좋습니다.
cp -a /path/to/source /path/to/backup/
2. 선택적 덮어쓰기: 중요한 파일을 덮어쓰지 않으려면 덮어쓰기 전에 확인을 요청하는 '-i'(대화형) 옵션을 사용하세요.
cp -i important_file.txt /path/to/destination/
3. 타임스탬프 유지: 보관 작업과 같이 원본 수정 및 액세스 시간을 보존해야 하는 파일을 복사할 때 '-p' 옵션을 사용하세요.
cp -p file.txt /path/to/destination/
BAD 사용법
1. 메시지 없이 파일 덮어쓰기: 기본적으로 cp는 경고 없이 대상의 파일을 덮어씁니다. 덮어쓰기가 확실하지 않은 경우 항상 '-i' 옵션을 사용하세요.
cp file.txt /path/to/destination/ # Bad if destination already has important files
2. 재귀 플래그 잊어버리기: 디렉터리를 복사할 때 -r 사용을 잊어버리면 오류가 발생합니다.
cp /path/to/source_dir /path/to/destination_dir # Fails without -r
3. 자세한 정보 표시 옵션을 사용하지 않음: 대규모 파일 세트를 복사할 때 '-v'를 사용하여 진행 상황을 추적하는 것이 도움이 됩니다. 이를 무시하면 어떤 파일이 성공적으로 복사되었는지 궁금해질 수 있습니다.
cp -r /large/directory/ /backup/ # Use -v to see progress