> 압축/아카이브 > cpio

cpio: 파일 아카이브 생성 및 추출

cpio는 파일들을 아카이브로 복사하거나 아카이브에서 파일을 추출하는 데 사용되는 유틸리티입니다. 주로 파이프를 통해 파일 목록을 받아 처리하며, 백업 및 복원, 디렉토리 구조 복사 등에 활용됩니다. 세 가지 주요 모드(복사-아웃, 복사-인, 복사-패스)를 통해 다양한 아카이빙 작업을 수행할 수 있습니다.

개요

cpio는 표준 입력에서 파일 목록을 읽거나 표준 출력으로 아카이브를 쓰는 방식으로 작동하는 스트림 지향적 아카이버입니다. 이는 다른 명령어(예: find)와 함께 파이프를 통해 사용될 때 강력한 유연성을 제공합니다.

주요 특징

  • 세 가지 주요 작동 모드: 복사-아웃(-o), 복사-인(-i), 복사-패스(-p)
  • 파이프를 통한 유연한 파일 목록 처리
  • 다양한 아카이브 형식 지원
  • 백업, 복원, 디렉토리 구조 복사에 활용

주요 옵션

cpio는 작동 모드를 지정하는 옵션이 필수적이며, 그 외 다양한 보조 옵션들을 제공합니다.

작동 모드

일반 옵션

생성된 명령어:

명령어를 조합해 보세요.

설명:

`cpio` 명령어를 실행합니다.

위 옵션들을 조합하여 AI와 함께 가상으로 명령어를 실행해 보세요.

사용 예시

cpio의 세 가지 주요 모드를 활용한 다양한 사용 예시입니다.

현재 디렉토리의 모든 파일을 아카이브로 묶기

find . -print0 | cpio -ov0 > archive.cpio

find 명령어로 현재 디렉토리의 모든 파일 목록을 생성하고, 이를 cpio -ov 명령어로 archive.cpio 파일에 아카이브합니다. -0 옵션은 파일 이름에 공백이 포함되어도 안전하게 처리합니다.

아카이브에서 파일 추출하기

cpio -ivd < archive.cpio

생성된 archive.cpio 파일에서 모든 파일을 현재 디렉토리로 추출합니다. -d 옵션은 필요한 디렉토리를 자동으로 생성합니다.

디렉토리 구조를 다른 위치로 복사하기

find . -depth -print0 | cpio -pd0v /new/directory

현재 디렉토리의 모든 파일과 디렉토리 구조를 /new/directory 경로로 복사합니다. -p 모드는 아카이브를 생성하지 않고 직접 복사하며, -d는 디렉토리 생성, -v는 상세 출력을 의미합니다.

특정 패턴의 파일만 아카이브에서 추출하기

cpio -ivd 'report*' < archive.cpio

archive.cpio에서 'report'로 시작하는 파일만 추출합니다. 와일드카드를 사용할 수 있습니다.

팁 & 주의사항

cpio는 강력한 도구이지만, 올바른 사용법을 숙지하는 것이 중요합니다.

cpio 사용 시 유용한 팁

  • `find` 명령어와 함께 사용: `cpio`는 파일 목록을 표준 입력으로 받기 때문에, `find` 명령어를 사용하여 복잡한 조건으로 파일 목록을 생성한 후 `cpio`로 파이프하는 것이 일반적입니다.
  • `-0` 옵션 활용: 파일 이름에 공백이나 특수 문자가 포함될 수 있는 경우, `find -print0`과 `cpio -0`을 함께 사용하여 파일 이름이 올바르게 처리되도록 하는 것이 중요합니다.
  • 모드 선택의 중요성: `-o`, `-i`, `-p` 세 가지 모드는 각각 다른 목적을 가지므로, 작업에 맞는 정확한 모드를 선택해야 합니다.
  • 절대 경로와 상대 경로: `cpio`는 아카이브에 저장된 경로를 그대로 사용하므로, 아카이브 생성 시 `find .`와 같이 상대 경로를 사용하면 추출 시 현재 디렉토리에 상대적으로 추출됩니다. 절대 경로로 아카이브하면 추출 시에도 절대 경로를 따릅니다.

동일 카테고리 명령어