파일을 .Z의 형태로 압축하는 명령어

사용법 : compress [옵션] 파일 ... 
-b maxbits : 최대 비트수를 제한한다. 
-c : 기본 생성파일인 .Z의 형태가 아닌. 지정한 파일로 생성한다. 
-d : 압축된 파일의 압축을 해제한다. 이는 uncompress 명령과 같다. 
-f : 이미 이전에 압축파일이 존재하더라도, 무시하고 압축 파일을 생성한다. 
-r : 지정한 것이 디렉토리라면 하위 디렉토리와 파일까지 모두 압축한다. 
-v : 압축 통계를 보여준다. 
-V : 버전과 명령어에 대한 정보를 보여준다. 

compress 명령어는 하나 이상의 파일을 파일명에 Z 확장자를 붙여 새로운 파일 압축을 생성한다.
다음과 같은 파일들이 있다고 가정하자.

# ls 
20020417_Command.hwp  20020608.hwp  20020612titlesample1.hwp 
20020620.hwp  Planning.hwp 

먼저 이들 파일을 tar 명령의 -cf 옵션으로 모두 하나의 파일로 묶어 보자.

# tar -cf test.tar * 

test.tar 파일로 파일이 묶여진 것을 복 수 있다.

# ls test.tar 
test.tar 

파일 압축
파일을 compress -f 옵션으로 압축할 수 있다. compress 압축은 기본적으로 .Z 확장자를 가진다. 기본적으로 원본 파일은 지워지고 압축된 파일만 남는다. -v 옵션을 사용하여 압축율과 압축 과정을 확인 할수 있다.

# compress -f -v test.tar 
sum.awk: -- replaced with test.tar.Z Compression: 28.07% 

# ls test.tar* 
test.tar.Z 

파일 압축 해제
.Z 확장자의 test.tar.Z 파일은 uncompress 명령으로 압축을 해제한다. -v 옵션으로 압축 해제 결과를 볼수 있다.

# uncompress -v test.tar.Z 
sum.awk.Z: -- replaced with sum.awk 

압축해제된 test.tar파일을 tar -xf 명령으로 파일 묶음을 해제할 수 있다.

# tar xf test.tar 
2005/06/21 20:44 2005/06/21 20:44
파일을 지정된 경로에 복사하는 명령어

사용법 : cp [옵션] 원본파일 복사파일, cp [옵션] 파일 ... 디렉토리 
-a, --archive : 원본 파일의 속성, 링크 정보들을 그대로 유지하면서 복사한다. 
이 옵션은 -dpR 옵션과 같은 역할을 한다. 
-b, --backup : 복사대상 파일이 있을 경우를 대비해, 백업파일을 만든다. 
-d, --no-deference : 원본파일이 소프트링크 파일이면, 소프트링크 원본을 복사한다. 
-f, --force : 복사대상 파일이 있을 경우, 복사대상 파일을 강제로 지우고 복사한다. 
-i, --interactive : 복사대상 파일이 있을 경우, 사용자에게 복사에 대한 여부를 물어본다. 
-l, --link : 심볼릭 링크 형식으로 복사한다. 물론 하드 링크형식이기에 경로는 복사할 수 없다. 
-P, --parents : 원본 파일에 지정을 경로와 같이 했을 경우, 그 경로 그대로 복사한다. 
-p, --preserver : 원본 파일의 소유자, 그룹, 권한, 시간정보들이 그대로 보존하여 복사한다. 
-r : 일반 파일이면 그냥 복사하고, 만약 원본이 경로면 그 경로와  함께 경로 안에 있는 모든 하위경로, 파일들이 복사된다. 
-s, --symbolic-link : 경로가 아닌 일반 파일을 심볼릭 링크 형식으로 복사한다. 
-u, --update : 복사할 대상이 이미 있는데 이 파일의 변경 날짜가 같거나 더 최근의 것이면 복사하지 않는다. 
-v, --verbose : 복사 상태를 자세하게 보여준다. 
-x, --one-file-system : 원본과 대상 파일의 파일 시스템이 다를 경우에는 복사 하지 않는다. 
-R, --recursive : 디렉토리를 복사할 경우 하위 디렉토리와 파일을 모두 복사한다. 
--help : 도움말을 보여준다. 
--version : 버전정보를 보여준다. 

cp는 파일을 또 하나의 파일이나, 다른 디렉토리로 복사하는 명령어이다. 복사를 할경우, 대상파일이 있을 경우, 사용자에게 물어보지 않고 바로 복사한다. 만일 이 복사가 잘못된 경우, 이전의 정보 위에 다른 내용이 덧씌워진 파일을 복구하는 것은 거의 불가능하다. 이 같은 실수를 방지하기 위해, alias 설정으로 -i 옵션을 설정하였다.

# alias | grep cp 
alias cp='cp -i' 

아래는 아파치 설정파일과 네임서버 설정 파일을 홈 디렉토리에 복사한다.

# cp /etc/httpd.conf /etc/named.conf ~ 

-R 옵션은 웹 서버 기본 디렉토리인 /var/www/html 와 모든 하위 디렉토리와 파일을 /backup 디렉토리로 복사한다.

# cp -R /var/www/html/backup 
2005/06/21 20:43 2005/06/21 20:43
파일을 복사하고 압축하는 명령어.

사용법 : 
cpio -o, --create [옵션] : 표준 입력으로 받는 파일 리스트를 압축의 파일 출력 형태로 복사한다. 
cpio -i, --extract [옵션] [패턴] : 지정한 패턴의 형태에 맞는 압축파일에서 입력을 받아 압축을 푼 파일로 복사한다. 
cpio -p, --pass-through [옵션] 디렉토리 : 동일한 시스템에서 지정한 다른 디렉토리로 파일을 복사한다. 

-0, --null : 파일명의 끝이 뉴라인이 아니라 널로 끝이 난다. 
-a, --reset-access-time : 파일 접근 시간을 재 설정한다. 
-A, --append : 압축된 파일에 파일을 추가한다. -o 옵션에만 작동한다. 
-B : I/O 블록을 5120 bytes로 지정한다. 초기치는 512 bytes이다. 
--block-size=BLOCK-SIZE : I/O 블록사이즈를 BLOCK_SIZE * 512 bytes로 지정한다. 
-c : SVR4 포맷을 사용하기 위해 "-H newc" 옵션을 이용한다. 이전의 ASCII 포맷을 사용하려면, "-H odc"을 사용한다. 
-C IO-SIZE,--io-size=IO-SIZE : I/O 블록 사이즈를 지정한 IO-SIZE로 지정한다. 
-d, --make-directories : 지정한 디렉토리를 생성한다. 
-E FILE, --pattern-file=FILE : -i- 옵션에서 사용하며, 지정한 패터의 형식에 맞는 파일을 읽는다. 
-f, --nonmatching : 주어진 패턴에 상관없이 파일을 복사한다. 
-F, --file=archive : 표준 입력이나 표준 출력 대신 주어진 파일이름으로 압축한다. 
--force-local: -F, -I, -O 옵션과 함께 압축된 파일을 로컬 파일로 인식한다. 
-H FORMAT, --format=FORMAT : 주어진 FORMAT 형식으로 압축한다. 
    bin : 바이너리 형식 
    odc : 옛 POSOX 이식 형식 
    newc : 새로운 SVR4 이식 형식 
    crc : 새로운 SVR4 이식 형식에 체크섬 추가 
    tar : tar 형식 
    ustar : POSIX.1 tar 형식 
    hpbin : HPUX의 cpio에 쓰이는 바이너리 형식 
    hpodc : HPUX의 cpio에 사용되는 이식 형식 
-I archive : 표준입력 대신 archive 파일명을 쓴다. 복구시 다중 볼륨을 효과적으로 처리할 수 있다. 
-l, --link : 복사하기 보다 파일을 링크한다. 
-L, --dereference : 링크를 복사하는 것이 아니라 원본 파일을 복사한다. 
-m, --preserve-modification-time : 파일을 만들 때 파일 수정횟수를 같이 보존한다. 
-M MESSAGE, --message=MESSAGE : 테이프나 플로피 디스크와 같이 미디어 백업 크기에 도달했을 때, 지정한 MESSAGE를 보여 준 후 프롬프트를 뛰워 새로운 것을 삽입하게 한다. 
-n, --numeric-uid-gid : 실행시 작동되는 상세 파일이름을 보여 주는 것이 아니라, UID와 GID를 보여준다. 
-O archive : 표준출력 대신 archive 파일이름을 사용한다. 백업이나 파일 보관시 다중 볼륨을 효과적으로 처리할 수 있다. 
--quiet : 복사된 블록 개수를 보여주지 않는다. 
-r, --rename : 상호 대화식으로 파일을 다시 지정한다. 
-R [user][:.][group],--owner [user][:.][group] : -o 과 -p 옵션에서 지정한 소유권으로 파일을 생성한다. 
-t, --list : 입력 목차 테이블을 출력한다. 
-u, --unconditional : 이전의 파일이 있던지 없던지 상관없이 무조건 파일을 복구한다. 
-v, --verbose : 실행동안 파일들을 보여 주거나, -t 옵션과 함께 쓰여 ls -l 스타로 리스트를 보여준다. 
--version : cpio 버전을 출력한다. 

cpio 시스템 백업에 자주 사용되는 명령어이다. 이는 복잡한 백업 전략과 융통성을 지원한다.
이러면 /targetdir의 모든 것이 /hdc1의 파티션으로 모두 복사된다.
백업 장치인 /dev/ftape에서 파일을 복구해 보자.

# cd /home/ 
# cpio -itvcdumB < /dev/ftape 
2005/06/21 20:42 2005/06/21 20:42