Linux 명령: tar, cpio, gzip, bzip 2, zip
12574 단어 Linux/shell/ops
tar 명령
tar 명령 은 Liux 의 파일 과 디 렉 터 리 에 파일 을 만 들 수 있 습 니 다.tar 를 이용 하여 특정한 파일 에 파일 (백업 파일) 을 만 들 수도 있 고 파일 에서 파일 을 바 꾸 거나 파일 에 새 파일 을 추가 할 수도 있 습 니 다.tar 는 처음에 테이프 에 파일 을 만 드 는 데 사용 되 었 으 며, 현재 사용 자 는 모든 장치 에서 파일 을 만 들 수 있 습 니 다.tar 명령 을 이용 하여 많은 파일 과 디 렉 터 리 를 하나의 파일 로 포장 할 수 있 습 니 다. 이것 은 백업 파일 이나 몇 개의 파일 을 하나의 파일 로 조합 하여 네트워크 전송 에 매우 유용 합 니 다.
우선 포장 과 압축 이라는 두 가지 개념 을 분명히 해 야 한다.포장 이란 많은 파일 이나 디 렉 터 리 를 하나의 전체 파일 로 바 꾸 는 것 을 말한다.압축 은 큰 파일 을 일부 압축 알고리즘 을 통 해 작은 파일 로 바 꾸 는 것 이다.
왜 이 두 개념 을 구분 해 야 합 니까?이것 은 Linux 의 많은 압축 프로그램 이 하나의 파일 만 압축 할 수 있 기 때 문 입 니 다. 이렇게 많은 파일 을 압축 하려 면 먼저 이 많은 파일 을 하나의 가방 (tar 명령) 으로 만 든 다음 에 압축 프로그램 으로 압축 해 야 합 니 다 (gzip bzip 2 명령).
문법
tar( )( )
옵션
-A --catenate: ;
-B: ;
-c --create: ;
-C : , , 。
-d: ;
-x --extract --get: ;
-t --list: ;
-z --gzip --ungzip: gzip ;
-Z --compress --uncompress: compress ;
-f --file=: ;
-v --verbose: ;
-r: ;
-u: ;
-j: bzip2 ;
-v: ;
-l: ;
-k: ;
-m: ;
-w: ;
-p --same-permissions: ;
-P --absolute-names: , “/” ;
-N --newer=: ;
--exclude=: 。
매개 변수
파일 이나 디 렉 터 리: 압축 할 파일 이나 디 렉 터 리 목록 을 지정 합 니 다.
실례
파일 을 모두 tar 패키지 로 포장 하기:
tar -cvf log.tar log2012.log , !
tar -zcvf log.tar.gz log2012.log , gzip
tar -jcvf log.tar.bz2 log2012.log , bzip2
옵션
f
이후 의 파일 이름 은 스스로 지 었 습 니 다. 우 리 는 습관 적 으로 'tar' 로 식별 합 니 다.z
옵션 을 추가 하면. tar. gz 또는. tgz 로 gzip 압축 된 tar 가방 을 대표 합 니 다.j
옵션 을 추가 하면 'tar. bz2' 를 tar 패키지 이름 으로 합 니 다.위 tar 가방 에 어떤 파일 이 있 는 지 찾 아 보 세 요.
tar -ztvf log.tar.gz
gzip 압축 된 log. tar. gz 를 사용 하기 때문에 log. tar. gz 가방 에 있 는 파일 을 찾 으 려 면
z
이 옵션 을 추가 해 야 합 니 다.tar 패키지 압축 풀기:
tar -zxvf /opt/soft/test/log.tar.gz
미리 설 치 된 상황 에서 우 리 는 압축 파일 을 어느 곳 에서 든 풀 수 있다.
tar 의 일부 파일 만 압축 해제:
tar -zxvf /opt/soft/test/log30.tar.gz log2013.log
저 는
tar -ztvf
을 통 해 tar 가방 안의 파일 이름 을 찾 아 볼 수 있 습 니 다. 만약 에 하나의 파일 만 있 으 면 이 방식 으로 일부 파일 의 압축 을 풀 수 있 습 니 다!파일 을 백업 하고 권한 을 저장 합 니 다:
tar -zcvpf log31.tar.gz log2014.log log2015.log log2016.log
이
-p
의 속성 은 매우 중요 합 니 다. 특히 원본 파일 의 속성 을 유지 하려 면.폴 더 에서 날짜 보다 새 파일 을 백업 합 니 다.
tar -N "2012/11/13" -zcvf log17.tar.gz test
백업 폴 더 내용 은 일부 파일 을 제외 합 니 다:
tar --exclude scf/service -zcvf scf.tar.gz scf/*
사실 가장 간단 한 tar 는 기억 속 의 방식 만 사용 하면 된다.
:tar -jcv -f filename.tar.bz2
:tar -jtv -f filename.tar.bz2
:tar -jxv -f filename.tar.bz2 -C
cpio 명령
cpio 명령 은 주로 백업 파일 을 만 들 거나 복원 하 는 도구 프로그램 입 니 다. cpio 명령 은 압축 파일 에 파일 을 복사 하거나 압축 파일 에서 파일 을 복사 할 수 있 습 니 다.
문법
cpio( )
옵션
-0 --null: , find “-print0” ;
-a --rest-access-time: ;
-A --append: , , ;
-b --awap: “-ss” ;
-B: / 5210Bytes;
-c: ASCII ;
-C --io-size=: / , Byte;
-d --make-directories: cpio ;
-E --pattern-file=: , , cpio , ;
-f --nonmatching: cpio ;
-F --file=: , , ;
-H: ;
-i --extract: copy-in , ;
-l: , , ;
-k: , cpio ;
-l --link: , copy-pass ;
-L --dereference: , ;
-m preserve-modification-time: ;
-M --message=: ;
-n --numeric-uid-gid: “-tv” , “-n”, ;
-o --create: copy-out , ;
-O: , , ;
-p --pass-through: copy-pass , , ;
-r --rename: , ;
-R<:> ----owner<:> copy-in , copy-pass , , ;
-s --swap-bytes: ;
-S --swap-halfwords: ;
-t --list: ;
-u --unconditional: , , ;
-v --verbose: ;
-V --dot: 。 “.” ;
--block-size=: / , 5, 2500, 10, 5120, ;
--force-local: ;
--help: ;
--no-absolute-filenames: ;
--no-preserve-owner: , , ;
-only-verify-crc: CRC , ;
--quiet: ;
--sparse: 0 , ;
--version: 。
실례
/etc 의 모든 일반 파일 을/opt/etc. cpio 에 백업 하고 다음 명령 을 사용 하 십시오.
find /etc –type f | cpio –ocvB >/opt/etc.cpio
시스템 의 모든 자 료 를 테이프 장치 에 백업 하고 다음 명령 을 사용 합 니 다.
find / -print | cpio -covB > /dev/st0
이곳
/dev/st0
은 테이프 의 장치 이름 으로 SCSI 테이프 기 를 대표 합 니 다.이전 테이프 에 백업 한 파일 을 보고 다음 명령 을 사용 하 십시오.
cpio -icdvt < /dev/st0 > /tmp/st_content
백업 한 파일 이 너무 많아 서 한 화면 이 표시 되 지 않 을 수도 있 습 니 다. 이 때 우 리 는 다음 명령 을 이용 하여 테이프 기기 의 파일 정 보 를 파일 로 출력 합 니 다.
예제 1 의 백업 패 키 지 를 해당 위치 로 복원 하고 같은 파일 이 있 으 면 다음 명령 을 사용 합 니 다.
cpio –icduv < /opt/etc.cpio
cpio 복구 경 로 를 주의 하 십시오. cpio 가 백업 을 포장 할 때 절대 경 로 를 사용 하면 복구 할 때 이 절대 경로 로 자동 으로 복 구 됩 니 다. 이 예 는 백업 파일 을 모두/etc 경로 에 대응 하 는 디 렉 터 리 로 복원 합 니 다.포장 백업 에 상대 적 인 경 로 를 사용 하면 복원 할 때 도 상대 적 인 경로 로 복 구 됩 니 다.
위의 예 시 를 통 해 알 수 있 듯 이 cpio 는 파일 을 직접 읽 을 수 없습니다. 모든 파일 이나 디 렉 터 리 의 전체 경로 이름 이 있어 야 읽 기 를 식별 할 수 있 습 니 다. find 명령 의 출력 은 이 정도 에 이 르 렀 기 때문에 cpio 명령 은 일반적으로 find 명령 과 함께 사 용 됩 니 다.사실 위의 예 시 를 우 리 는 이미 그들의 조합 용법 을 보 았 다.
gzip 명령
gzip 명령 은 파일 을 압축 하 는 데 사 용 됩 니 다.gzip 는 광범 위 한 압축 프로그램 을 사용 합 니 다. 파일 이 압축 된 후에 이름 뒤에 'gz' 확장자 가 여러 군데 있 습 니 다.
gzip 는 Linux 시스템 에서 자주 사용 하 는 파일 을 압축 하고 압축 을 푸 는 명령 으로 편리 하면 서도 사용 하기 쉽다.gzip 는 디스크 공간 을 절약 하기 위해 크 고 적은 파일 을 압축 할 수 있 을 뿐만 아니 라 tar 명령 과 함께 Linux 운영 체제 에서 유행 하 는 압축 파일 형식 을 구성 할 수 있 습 니 다.통계 에 따 르 면 gzip 명령 은 텍스트 파일 에 대해 60 ~ 70% 의 압축 률 을 가지 고 있다.파일 크기 를 줄 이 는 것 은 두 가지 뚜렷 한 장점 이 있다. 하 나 는 저장 공간 을 줄 일 수 있 고, 다른 하 나 는 네트워크 를 통 해 파일 을 전송 할 때 전송 시간 을 줄 일 수 있다 는 것 이다.
문법
gzip( )( )
옵션
-a ——ascii: ASCII ;
-d --decompress ----uncompress: ;
-f ——force: 。 ;
-h ——help: ;
-l ——list: ;
-L ——license: ;
-n --no-name: , ;
-N ——name: , ;
-q ——quiet: ;
-r ——recursive: , ;
-S ----suffix: ;
-t ——test: ;
-v ——verbose: ;
-V ——version: ;
-: 1~9 , “6”, , ;
--best: “-9” ;
--fast: “-1” 。
매개 변수
파일 목록: 압축 할 파일 목록 을 지정 합 니 다.
실례
test 6 디 렉 터 리 의 모든 파일 을. gz 파일 로 압축 합 니 다.
gzip *
상례 의 모든 압축 된 파일 을 압축 해제 하고 상세 한 정 보 를 열거 하 다
gzip -dv *
예 1 의 압축 된 파일 마다 정 보 를 자세히 표시 합 니 다. 압축 을 풀 지 않 습 니 다.
gzip -l *
tar 백업 파일 을 압축 합 니 다. 이 때 압축 파일 의 확장 자 는 'tar. gz' 입 니 다.
gzip -r log.tar
재 귀적 압축 디 렉 터 리
gzip -rv test6
이렇게 해서 모든 test 아래 의 파일 은 *. gz 로 변 했 고 디 렉 터 리 는 여전히 존재 합 니 다. 디 렉 터 리 안의 파일 만 상응 하여 *. gz 로 변 했 습 니 다. 이것 이 바로 압축 입 니 다. 포장 과 다 릅 니 다.디 렉 터 리 작업 이기 때문에 - r 옵션 을 추가 해 야 하위 디 렉 터 리 를 재 귀적 할 수 있 습 니 다.
압축 해제 디 렉 터 리
gzip -dr test6
명령
bzip 2 명령 은 'bz2' 형식의 압축 패 키 지 를 만 들 고 관리 하 는 데 사 용 됩 니 다.우 리 는 리 눅 스 압축 포장 방법 이 여러 가지 가 있 는 것 을 만 났 습 니 다. 다음은 리 눅 스 압축 포장 방법 중의 리 눅 스 bzip 2 명령 의 여러 가지 범례 를 설명 하여 보 여 드 리 겠 습 니 다. 보시 면 많은 수확 이 있 을 것 이 라 고 믿 습 니 다.
문법
bzip2( )( )
옵션
-c ——stdout: ;
-d ——decompress: ;
-f -force:bzip2 , , 。 。 ;
-h ——help: ;
-k ——keep:bzip2 , 。 , ;
-s ——small: ;
-t ——test: .bz2 ;
-v ——verbose: , ;
-z ——compress: ;
-V ——version: ;
--repetitive-best: , ;
--repetitive-fast: , 。
매개 변수
파일: 압축 할 파일 을 지정 합 니 다.
실례
지정 한 파일 파일 이름 압축:
bzip2 filename
bzip2 -z filename
여기 서 압축 할 때 출력 되 지 않 습 니 다. 원래 파일 filename 을 삭제 하고 filename. bz2 로 바 꿉 니 다. 이전에 filename. bz2 가 있 었 다 면 바 꾸 지 않 고 오 류 를 알려 주지 않 습 니 다. (바 꾸 려 면 - f 옵션 을 지정 합 니 다. 예 를 들 어
bzip2 -f filename
; filename 이 디 렉 터 리 라면 오 류 를 일 깨 워 줍 니 다. filename 이 눌 렸 다 면 bz2 접미사 가 있 으 면 압축 하지 않 고 bz2 접미사 가 없 으 면 다시 압축 합 니 다.지정 한 파일 filename. bz2 압축 풀기:
bzip2 -d filename.bz2
bunzip2 filename.bz2
여기 서 압축 을 풀 때 표준 출력 이 없 으 면 원래 파일 filename. bz2 를 filename 으로 바 꿉 니 다. 이전에 filename 이 있 었 다 면 오 류 를 바 꾸 지 않 고 알림 하지 않 습 니 다 (바 꾸 려 면
-f
옵션 을 지정 합 니 다. 예 를 들 어 bzip2 -df filename.bz2
.압축 을 풀 때 결과 도 출력 합 니 다:
$bzip2 -v filename
입력 후 출력 은 다음 과 같 습 니 다:
filename: 0.119:1, 67.200 bits/byte, -740.00% saved, 5 in, 42 out.
여기에
-v
옵션 을 더 하면 출력 되 고 압축 예 만 사용 하면 압력 을 풀 때 같은 이치 bzip2 -dv filename.bz2
는 더 이상 예 를 들 지 않 습 니 다.아 날로 그 압축 해제 실제 압축 해제 하지 않 음:
bzip2 -tv filename.bz2
입력 후 출력 은 다음 과 같 습 니 다:
filename.bz2: ok
여기 서
-t
아 날로 그 압축 해 제 를 지정 합 니 다. 실제 결 과 를 만 들 지 않 습 니 다. 검사 파일 과 유사 합 니 다. 물론 디 렉 터 리 아래 에 filename 이 있어 도 오류 출력 이 없 을 것 입 니 다. 압축 해 제 를 전혀 할 수 없 기 때 문 입 니 다. 화면 에 출력 하기 위해 -v
옵션 을 추가 하 였 습 니 다. 실제 압축 해제 bzip2 -dv filename.bz2
라면 'ok' 을 'done' 으로 바 꾸 었 습 니 다.. 압축 을 풀 때 결과 파일 을 만 드 는 것 외 에 원래 파일 도 저장 합 니 다.
bzip2 -k filename
여기에
-k
를 더 하면 원본 파일 을 저장 합 니 다. 그렇지 않 으 면 원본 파일 은 결과 파일 로 대 체 됩 니 다. 압축 예 만 들 면 압축 을 풀 때 같은 이치 $bzip2 -dk filename.bz2
는 더 이상 예 를 들 지 않 습 니 다.표준 출력 으로 압축 풀기:
bzip2 -dc filename.bz2
입력 후 출력 은 다음 과 같 습 니 다:
hahahhaahahha
표준 출력 에
-c
지정 한 파일 filename 의 내용 을 출력 합 니 다. filename. bz2 를 삭제 하지 않 습 니 다.표준 출력 으로 압축:
bzip2 -c filename
bzip2: I won't write compressed data to a terminal.
bzip2: For help, type: `bzip2 --help'.
여기 서
-c
를 사용 하여 표준 출력 으로 압축 하여 기 존 파일 을 삭제 하지 않 습 니 다. 다른 것 은 압축 된 파일 을 표준 출력 으로 출력 할 수 없습니다.bzip 2 를 사용 할 때 모든 뒤의 것 을 파일 로 간주 합 니 다 (파일 이름 이 '-' 로 시작 하 더 라 도):
bzip2 -- -myfilename
파일 이름
-
에 옵션 이 라 고 생각 하 는 오류 가 발생 하지 않도록 하기 위해 서 입 니 다.zip 명령
zip 명령 은 압축 파일 을 풀 거나 압축 작업 을 할 수 있 습 니 다. zip 는 광범 위 한 압축 프로그램 을 사용 합 니 다. 파일 이 압축 되면 'zip' 확장자 가 있 는 압축 파일 이 따로 생 깁 니 다.
문법
zip( )( )
옵션
-A: ;
-b: ;
-c: ;
-d: ;
-D: ;
-f: “-u” , , , ;
-F: ;
-g: , ;
-h: ;
-i: ;
-j: , ;
-J: ;
-k: MS-DOS ;
-l: , LF LF+CR ;
-ll: , LF+cp LF ;
-L: ;
-m: , , ;
-n: ;
-o: , ;
-q: ;
-r: , ;
-S: ;
-t: ;
-T: ;
-u: ;
-v: ;
-V: VMS ;
-w: , VMS ;
-x: ;
-X: ;
-y: , , UNIX ;
-z: ;
-$: ;
-: 1~9 。
매개 변수
/home/Blinux/html/
이 디 렉 터 리 의 모든 파일 과 폴 더 를 현재 디 렉 터 리 의 html. zip 로 압축 합 니 다.zip -q -r html.zip /home/Blinux/html
위의 명령 동작 은 절대 주소 의 파일 과 폴 더 를 압축 하 는 것 입 니 다. 다음은 상대 경로 디 렉 터 리 를 압축 하 는 것 입 니 다. 예 를 들 어 현재 Bliux 라 는 디 렉 터 리 에서 다음 작업 을 수행 하면 상기 와 같은 효 과 를 얻 을 수 있 습 니 다.
zip -q -r html.zip html
예 를 들 어 현재 나의 html 디 렉 터 리 에서 내 가 조작 하 는 zip 압축 명령 은:
zip -q -r html.zip *
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Linux 명령: logrotatelogrotate 명령 logrotate 명령 은 시스템 로 그 를 윤전, 압축, 삭제 하 는 데 사용 되 며, 로 그 를 지정 한 메 일 로 보 낼 수도 있 습 니 다.logrotate 명령 을 사용 하면 시스템 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.