[Linux] 파일 아카이브와 압축 명령 익히기

IkSun·2023년 6월 9일

리눅스실습

목록 보기
10/14
post-thumbnail

요약
01 파일 아카이브 : tar
02 파일 아카이브와 압축 : jar
03 .Z 파일 : compress/uncompress
04 .gz 파일 : gzip/gunzip
05 .zip 파일 : zip/unzip
06 .bz2 파일 : bzip2/bunzip2
실습 9-1 작업 관리하기
요약


리눅스의 압축하는 명령어 잘 이해 - archive.compree 파일
targtar
c는 tar 만들겠다, x 는 tar 를 풀겠다


01. 파일 아카이브 - tar

아카이브

  • 아카이브 : 파일을 묶어 하나로 만든 것
tar [옵션] [아카이브 파일] 파일명

옵션 
c : tar 파일 생성 ⭑⭑
t : tar 파일 목록 보기
x : tar 파일 풀기 ⭑⭑
u : tar 파일 update 
r : tar 파일 추가
f : 아카이브 파일이나 tape 장치 등 지정
v : 표준 출력으로 실행 내용 출력
h : 심볼릭 링크의 원본 파일 포함
z : gzip 방식 추가 ⭑⭑
j : bzip2 방식 추가 ⭑⭑
J : xz 압축을 사용하여 아카이브 파일을 생성하거나 추출하는 모드 ⭑⭑
* tar/gtar		# 압축하지 않음.	z: 압축
	$ tar	cvf		a.tar		*.txt	# *.txt file을 a.tar 파일로 묶는다 ⭑⭑⭑⭑⭑
	$ tar	tvf		a.tar				# a.tar 파일의 내용을 list up
	$ tar	uvf		a.tar		1.txt	# 1.txt에 변경이 있으면 update
	$ tar	rvf		a.tar		t.txt	# t.txt를 a.tar에 추가
	$ tar	xvf		a.tar				# a.tar를 해제 ⭑⭑⭑⭑⭑

	$ tar 	cvfh	a.tar		*.txt	# symbolic file을 원본 파일로 대체

	$ tar	cvfz	a.tar.gz 	*.txt	# *.txt file을 a.tar.gz 파일로 묶는다 +압축한다 ⭑
	$ tar	cvfz	a.tar.gz	dir.a	# dir.a를  a.tar.gz 파일로 묶는다 +압축한다
	$ tar	xvfz	a.tar.gz			# a.tar.gz 해제

	$ tar	cvfj	a.tar.bz2	*.txt	# *.txt file을 a.tar.bz2 파일로 묶는다 +압축한다 ⭑
	$ tar	cvfj	a.tar.bz2	dir.a	# dir.a를  a.tar.bz2 파일로 묶는다 +압축한다
	$ tar	xvfj	a.tar.bz2			# a.tar.bz2 해제

	$ tar	cvfJ	a.tar.xz	*.txt	# *.txt file을 a.tar.xz 파일로 묶는다 +압축한다 ⭑
	$ tar	cvfJ	a.tar.xz	dir.a	#dir.a를  a.tar.xz 파일로 묶는다 +압축한다
	$ tar	xvfJ	a.tar.xz			# a.tar.xz 해제


02. 파일 아카이브와 압축 - jar

jar [옵션] [아카이브 파일] [파일명]

*xz
	$ xz 		1.txt			# 1.txt를 1.txt.xz로 압축 ⭑
	$ xz 	-d	1.txt.xz		# 압축을 풀어 1.txt로 만듬 ⭑
	$ xz	-l	1.txt.xz		# xz 파일의 내용을 보여줌
	$ xz		*.txt			# 각각을 따로 *.txt.xz로 만듬 ⭑
	$ xz	-k	*.txt			# 압축 후에 기존 파일을 삭제하지 않고 그대로 둠 ⭑	 

05. 파일 압축 - gzip

  • 확장자가 .gz 인 압축 파일 생성
gzip [옵션] 파일명

옵션
-d : 압축 해제 (gunzip과 동일) ⭑ 
-l : 압축된 파일의 내용 출력 ⭑
-r : 현재 디렉토리부터 하위 디렉토리까지 모두 압축  ⭑
-t : 압축 파일 검사
-v : 압축 정보 화면에 출력
-g : 최대한 압축
*gzip/gunzip → .gz
	$ gzip 			1.txt		# 1.txt를 1.txt.gz로 압축 ⭑
	$ gzip 		-l 	1.txt.gz	# 1.txt.gz의 압축률 등 상세정보 출력
	$ gzip 		-d	1.txt.gz	# 압축을 풀어 1.txt로 만듬 ⭑

	$ gzip		-1			 	# 최고 속도로 압축 (fast), 압축률 저하
	$ gzip		-9				# 최고 압축률 (best), 속도 저하
	$ gzip		-n				# n은 1부터 9까지의 숫자지정,
	 							# 위의 두 행의 내용과 같이 1로 갈수록 최고속도 9로 갈수록 느린 압축
	$ gzip			*.txt		# 각각을 따로 *.txt.gz로 만듬 ⭑
	$ gzip		-c				# 압축 결과를 출력하고, 원본 파일은 그대로 둠 ⭑
	$ gzip 		-r 	dir.a		# dir.a 하위 모든 파일들을 각각 따로 *.gz로 만듬

	$ gzip 		-t 	1.txt.gz	# 1.txt.gz 압축 파일 검사
	$ gzip 		-v 	1.txt		# 1.txt 압축하면서 압축 정보 화면에 출력
	gzip 		-f 				# 기존의 압축 파일이 있을 경우, 묻지 않고 덮어쓰기를 합니다.
	gzip 		-k 				# 원본 파일을 유지하면서 압축 파일을 만듭니다. 
	gzip 		-N 				# 압축 해제할 때 원본 파일의 타임스탬프를 유지합니다.
	gzip 		-q 				# 경고 메시지를 숨깁니다.
	gzip 		-v 			 	# 자세한 출력을 표시합니다. 압축률과 같은 정보를 포함합니다

	$ gunzip		1.txt.gz	# 1.txt.gz 압축을 풀어 1.txt로 만듬

	# gzip은 리눅스에 기본적으로 설치 되어 있지만 
	# 만약 gzip명령어를 찾을 수 없다고 나오면
	# $apt-get install gzip으로 설치하면 된다.

	# gzip, bzip2는 여러 개의 파일을 하나로 압축하는 용도가 아님
	# 여러 개의 파일을 압축하려면 7z, zip, tar 압축 또는 묶기 사용

06. 파일 압축 - zip

  • 확장자가 .zip 인 압축 파일 생성
zip [옵션] 파일명
*zip/unzip

	$ zip	1.zip	1.txt			# 1.txt를 압축하여 1.zip으로 만듬 ⭑
    $ zip	-r 	dir.zip	dir.a		# dir.a의 모든 파일(현재 폴더의 하위폴더까지)을 압축하여 dir.zip로 만듬
    $ zip	-v	1.txt.zip  1.txt	# 1.txt 압축하면서 압축 상세 정보 화면에 출력	
    $ zip 	-u 	1.zip 	   1.txt   	# 1.txt가 변경 되었으면 update.

07. 파일 압축 - bzip2

bzip2 [옵션] 파일명
*bzip2/bunzip2	→ .bz2
	$ bzip2 		1.txt		# 1.txt를 1.txt.bz2로 압축 ⭑
	$ bzip2 	-d	1.txt.bz2	# 압축을 풀어 1.txt로 만듬 ⭑
	$ bzip2 	-v 	1.txt		# 1.txt 압축하면서 압축 정보 화면에 출력
	$ bzip2		-r 	dir.a		# dir.a 하위 모든 파일들을 각각 따로 *.bz2로 만듬

	$ bzip2			*.txt		# 각각을 따로 *.txt.bz2로 만듬 ⭑

요약

profile
공부한 것 기록용

0개의 댓글