리눅스 cpio

From CS Wiki
파일을 복사하고 압축한다. (주로 백업용)
  • 유닉스와 리눅스 모두에서 명령어와 옵션이 같음
  • 경로 : /bin/cpio

사용법[edit | edit source]

문법[edit | edit source]

cpio [옵션] [대상디렉터리]

옵션[edit | edit source]

  • -0, --null : 파일명의 끝이 줄 바꿈 문자가 아니라 NULL로 끝난다.
  • -a, --reset-access-time : 파일 접근 시간을 재설정한다.
  • -A, --append : 압축된 파일에 파일을 추가한다. -o 옵션에만 작동한다.
  • -B : I/O 블록을 5,120바이트로 지정한다. 초기치는 512바이트이다.
  • --block-size=BLOCK-SIZE : I/O 블록사이즈를 BLOCK-SIZE * 512바이트로 지정한다.

추가 내용[edit | edit source]

-c : ASCII문자로 파일의 헤더 정보를 작성한다

-C bufsize : 입출력은 bufsize바이트로 레코드를 블록화한다

-d : 디렉토리가 필요하면 자동적으로 생성한다

-f : patterns과 일치하는 것을 제외한 모든 파일을 복사

-k : 파일의 헤더가 망가졌거나 입출력 오류 시 작업을 종료 하지 않고 다음 현재 파일은skip하고 다음 파일을 읽는다. ( -i 에서만 사용) 가능하면 파일을 복사하지 않고 링크 시킨다 (-p 에서만 사용)

-m : 파일의 최종 수정 시간을 현재 파일이 가지고 있는 시간을 그대로 유지한다

-M message : 백업 미디어 매체 교환이 필요할 때 사용자가 그 메시지를 정의 하여 사용할 수 있도록 한다

-O file : cpio의 출력을 file에 지정한다 (-o 에서만 사용)

-r : 대화식으로 파일명을 변경 한다(-p 에서는 사용불가능)

-b : 각 단어 내의 바이트 순서를 바꾼다(-i에서만 사용)

-s : 각 half word의 두 바이트를 서로 교환한다(-i에서만 사용)

-S : 각 word의 두half word를 서로 교환한다(-i에서만 사용)

-t : 입력파일 목록을 출력하고 파일은 생성하지 않는다

-u : restore시에 기존의 디렉토리에 그 파일이 존재하더라도 무조건 복사한다. 이 값을 설정하지 않으면 두 개의 수정 날짜를 비교하여 더 최근의 파일을 보존한다

-v : 현재 작업이 진행되고 있는 파일 목록을 표준 출력으로 출력 한다

-V : 현재 작업이 진행되고 있는 각 파일을 한 개의'.'으로 출력 한다.

예제[edit | edit source]

ex) 텍스트파일 백업

# find . -name *.text -print | cpio -o > text.backup

ex) 텍스트파일 복원

# cpio -i < text.backup

참고 문헌[edit | edit source]