[압축]
: 파일에 저장되어 있는 정보를 압축하여 보다 작은 기억공간에 동일한 정보를 저장하는 기술.
일반적으로 정보에 포함되어 있는 중복된 내용을 삭제하거나 보다 적은 길이의 코드를 사용하여 저장에 필요한 공간의 크기를 줄임. (<--> 압축 풀기)
[(디지털) 아카이빙]
: 지속적으로 보존할 가치를 가진 디지털 객체를 장기간 관리하여 이후의 이용을 보장하는 활동.
기록 관리 분야에서는 공적인 기록의 보존을 처리하는 과정이라 표현하나 컴퓨터 분야에서는 파일의 일시적인 백업 컬렉션을 의미함. 의미의 혼동을 피하기 위하여 아카이빙 대신 '디지털 보존'이라는 용어로 사용하기도 함.
* 디지털 아카이빙의 핵심은 장기 보존과 지속적 가치!
* 윈도우에서는 단일 파일 혹은 여러 파일들이 합쳐지고 용량이 최소화 되는 것이지만 리눅스에서는 일반적으로 압축은 파일의 용량을 최소화하는 것이고 여러 파일들을 묶어주는 것 즉 여러개의 파일을 하나의 파일로 생성하는 것을 아카이빙이라고 함.
1. [gzip]
: 파일을 압축 및 해지할때 사용하는 명령어 , 기존 파일의 속성 정보를 그대로 유지, gzip 명령어 다음에 파일의 이름을 쓰면 파일이 압축되며, 파일에 확장자(.gz)가 붙게 됨. 압축되기 전의 파일의 속성 정보는 압축이 된 이후에도 유지되며, 다수의 파일을 한개로 압축하는 것은 불가능.
-S : 기본 생성 파일인 .gz 형태가 아닌 지정한 파일로 생성한다.
-d : 압축된 파일의 압축을 해제한다. gunzip 과 동일 ex> gzip -d file.gz = gunzip file.gz
-f : 이미 이전에 압축파일이 존재하더라도, 무시하고 압축파일을 생성한다.
-r : 지정한 것이 디렉토리라면 하위 디렉토리와 파일까지 모두 압축한다.
-v : 압축 통계를 보여준다.
-[1-9] : 압축 레벨 지정 (-6 기본값 적용,-9 는 압축율은 좋지만, 속도가 느림,-1 은 압축율은 나 쁘지만, 속도가 빠름)
* 압축 속도가 빠를수록 압축률은 나빠지고 압축률이 좋아질수로 속도는 느려짐.
1-1. [gunzip]
: 확장자가 .gz로 된 압축 파일 해지 및 압축 파일 내용 확인하는 명령어
(예시)
- gunzip file.gz :압축 파일 해지
- gunzip -c file.gz : 압축 파일 내용 확인
1-2. [zcat]
: gunzip -c 와 동일 압축 파일 내용을 확인하는 명령어
(예시)
zcat file.gz = gunzip -c file.gz
2. [bzip2]
: 성능이 높은 압축 방식이며, 기존 파일의 속성 정보를 그대로 유지. tar 아카이브 파일을 압축하면, 기존 아카이브 파일이 제거되고 bz2 확장자로 생성
-d : 압축을 푼다.
-z : 파일을 압축한다.
-k : 파일을 압축이나 해제할 때 원본파일을 지우지 않는다.
-f : 압축, 해제할 때 같은 이름의 파일이 있을 경우 덮어쓰기 한다
-q : 경고 메시지가 나오지 않는다.
-v : bzip2 작업사항을 자세히 볼 수 있다.
-t : 지정된 파일의 무결성을 검사하지만, 압축을 풀지 않는다.
-c : 파일을 압축 또는 풀어서 표준 출력으로 보낸다.
-1~-9 : 압축할 때의 블록 크기를 정해준다.
2-1. [bunzip2]
: 확인이나 해제를 함 ,압축된 파일을 풀었을 때에도 원본 파일의 속성을 그대로 간직.
(예시)
bunzip2 file.bz2 :압축된 파일을 풀어줌
bunzip2 -c file.bz2 :압축 파일 내용을 확인할때 사용 (bzcat 와 동일)
bunzip2 -c file.bz2 = bzcat file.bz2
3. [tar]
: tar(tape archive) 명령어는 여러개의 파일이나 디렉토리를 한 개의 묶음파일로 만들 때와 Tape 디바이스에 백업할때 사용. tar명령어 사용시 옵션에 -기호 생략가능. 여러 파일을 한개로 묶지만 파일크기가 압축이 되지는 않아 gzip이나 bzip2로 크기를 압축하여 사용되는 경우가 많음.
-c : 여러 개의 파일을 하나의 파일로 묶을 때
-v : 생성과정을 보여 줌
-x : 파일의 압축을 해제하고 풀어 낼 때
-f : 기본장치인 테이프가 아니라 파일로서 동작시키는 경우 사용되는 옵션
-r : 파일 및 디렉토리 추가
-u : tar 파일과 새로운 디렉토리 내의 파일과 비교하여 최근 파일을 아카이브에 추가
-t : tar 파일의 내용을 확인할 때
-z : gzip과 관련하여 압축이나 해제를 한꺼번에 할 때
-j, -l : bzip2를 이용해서 압축이나 해제를 한꺼번에 할 때
* 파란색 옵션은 자주 사용되는 옵션
- tar와 z옵션 명령어를 이용하면 다수의 파일 압축 및 해지를 한번에 진행 가능
(예시)
<한번에 압축 시>
[root@Server /test]# tar cvzf file.tar.gz file1 file2 file3
[root@Server /test]# ls -l
-rw-r--r-- 1 root root 427643 2월 7 15:11 file.tar.gz
-rw-r--r-- 1 root root 692241 2월 7 15:11 file1
-rw-r--r-- 1 root root 692241 2월 7 15:11 file2
-rw-r--r-- 1 root root 692241 2월 7 15:11 file3
<한번에 압축 해제 시>
[root@Server /test]# rm -rf file{1,2,3} <-- file.tar.gz압축파일 제외 file 1~3 제거
[root@Server /test]# ls -l
-rw-r--r-- 1 root root 427645 2월 7 15:19 file.tar.gz
[root@Server /test]# tar xvzf file.tar.gz (# tar xvf file.tar.gz) file1 file2 file3
[root@Server /test]# ls -l
-rw-r--r-- 1 root root 427645 2월 7 15:21 file.tar.gz
-rw-r--r-- 1 root root 692241 2월 7 15:21 file1
-rw-r--r-- 1 root root 692241 7월 6 16:21 file2
-rw-r--r-- 1 root root 692241 7월 6 16:21 file3
4. [zip]
: 윈도우에서 사용하는 zip 방식의 압축과 동일. 즉 다수의 파일을 하나로 압축하며, 아카이빙과 압축이 둘 다 가능. 그리고 zip 명령어는 여러 운영체제와 호환이 가능.
(예시)
[root@Server /test]# zip file.zip file1 file2 file3 <-- file1~file3 을 zip 를 이용하여 압축 실시
adding: file1 (deflated 79%)
adding: file2 (deflated 79%)
adding: file3 (deflated 79%)
[root@Server /test]# ls -l
-rw-r--r-- 1 root root 428002 2월 7 15:32 file.zip
-rw-r--r-- 1 root root 692241 2월 7 15:32 file1
-rw-r--r-- 1 root root 692241 2월 7 15:32 file2
-rw-r--r-- 1 root root 692241 2월 7 15:32 file3
* zip 압축파일 해지는 'unzip'을 사용하면 됨.
(예시)
[root@Server /test]# unzip file.zip(zip 파일명)
'운영체제 > Linux' 카테고리의 다른 글
[Linux_개념] 프로세스 (Process) (0) | 2023.02.13 |
---|---|
[Linux_개념] 디렉토리(Directory) (0) | 2023.02.12 |
[Linux_개념] su, sudo란? (0) | 2023.02.07 |
[Linux_개념] Shell 메타 캐릭터 (Meta Character) (0) | 2023.02.06 |
[Linux_개념] 리눅스 기본 정리 (0) | 2023.02.04 |
댓글