리눅스 cpio
- 파일을 복사하고 압축한다. (주로 백업용)
- 유닉스와 리눅스 모두에서 명령어와 옵션이 같음
- 경로 : /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