Intro
리눅스에서 압축파일의 압축을 푸는 방법, 파일들을 압축해 하나의 압축파일로 만드는 방법을 공부해보도록 하겠습니다.
zip, unzip
다양한 방법이 있겠지만, 가장 손쉽게 사용할 수 있고, 직관적이라고 생각하는 zip, unzip 패키지를 사용해보도록 하겠습니다.
패키지 |
설명 |
옵션 |
옵션 설명 |
zip |
파일 및 폴더를 압축합니다. |
-r |
하위 디렉터리를 포함 |
|
|
-x |
특정 파일 제외 |
|
|
-n |
압축률과 압축속도 1이 가장 빠르나, 압축률이 낮음 |
|
|
-e |
압축파일에 암호 설정 |
unizp |
압축파일의 압축을 해제합니다. |
-d |
특정 폴더에 압축 풀기 |
|
|
-o |
파일을 항상 덮어쓰기 |
|
|
-n |
파일을 덮어쓰지 않음 |
Installation
zip 과 unzip 패키지는 별도 설치가 필요합니다.
1
2
3
4
5
6
7
| // 우분투
$ sudo apt-get install zip
$ sudo apt-get install unzip
// CentOS
$ sudo yum install zip
$ sudo yum install unzip
|
사용법
zip 사용법
1
2
3
4
5
| // 하나의 파일을 압축하는 경우
$ zip 압축파일명.확장자 압축할파일
$ zip exam_file.zip /data/example/exam_files/001.csv
|
1
2
3
4
5
| // 다수개의 파일을 압축하는 경우
$ zip 압축파일명.확장자 압축할파일1 압축할파일2 ... 압축할파일n
$ zip exam_files.zip ./001.csv ./002.csv ./003.csv
|
1
2
3
4
5
6
7
| // 폴더와 그 하위 폴더, 하위 파일을 압축할 경우
$ zip -r 압축파일명.확장자 압축할폴더
$ zip -r exam_files.zip /data/example/exam_files
$ zip -r this_folder.zip ./*
$ zip -r several.zip ./exam_files ./data_list.csv
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
| // 기타
// 이미 존재하는 압축파일에 새로운 파일 추가
$ zip 기존압축파일 새로추가할파일
$ zip existed.zip ./example/add.csv
// 특정 파일 제외
$ zip 압축파일명.확장자 압축할파일이나폴더 -x 제외규칙
$ zip tiles.zip ./* -x *.jpg*
// 비밀번호 설정
$ zip 압축파일명.확장자 압축할파일 -e
$ 이후 비밀번호 설정
$ zip secret.zip ./* -x *.jpg* -e
|
unzip 사용법
1
2
3
4
| // 압축 풀기 (현재 폴더에)
$ unzip 압축파일.확장자
$ unzip example.zip
|
1
2
3
4
| // 압축 풀기 (특정 폴더에)
$ unzip 압축파일.확장자 -d 압축풀경로
$ unzip throws.zip -d ../throws
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
| // 기타
// 파일을 덮어쓰지 않기
$ unzip -n 압축파일.확장자
$ unzip -n example.zip -d ../examples
$ 꼭 unzip 다음에 써야함. 마지막에 쓰면 에러
// 파일을 항상 덮어쓰기
$ unzip -o 압축파일.확장자
$ unzip -o example.zip -d ../examples
$ 꼭 unzip 다음에 써야함. 마지막에 쓰면 에러
// 이 옵션들을 사용하지 않을 경우,
// 중복파일이 있으면 덮어쓸 것인지를 계속 물어봅니다.
|
Reference
https://onecoin-life.com/58
CentOS zip 설치
https://www.lesstif.com/lpt/linux-zip-unzip-80248839.html
https://m.blog.naver.com/sw4r/221999562678