Ubuntu/Linux zip, unzip 사용방법
Ubuntu에서 zip, unzip 사용하는 방법을 다룹니다.
2024. 3. 12 최초작성
zip 압축
디렉토리 test의 하위 디렉토리까지 압축하여 test.zip 파일을 생성합니다.
zip -r test.zip ./test
zip 압축풀기
test.zip 파일을 압축 풀어서 현재 위치의 test2 디렉토리 내에 저장합니다.
unzip test.zip -d ./test2
이하에서는 테스트에 사용할 디렉토리를 생성하여 zip와 unzip 동작을 테스트해봤습니다. 필요하 신분만 보세요.
홈 디렉토리에서 테스트를 진행합니다.
$ pwd
/home/webnautes
test 디렉토리를 생성 후 이동합니다.
$ mkdir test
$ cd test
현재 위치에 파일 10개를 생성하고 확인합니다.
$ touch 1 2 3 4 5 6 7 8 9 0
$ ls
0 1 2 3 4 5 6 7 8 9
현재 위치에 dir 디렉토리를 생성 후, 이동합니다.
$ mkdir dir
$ cd dir
현재 위치에 파일 10개를 생성하고 확인합니다.
$ touch 1 2 3 4 5 6 7 8 9 0
홈 디렉토리로 이동합니다.
$ cd
현재 디렉토리는 다음처럼 보입니다.
$ ls
0 1 2 3 4 5 6 7 8 9 dir
디렉토리 구조를 확인하기 위해 tree를 설치합니다.
$ sudo apt install tree
test 디렉토리의 구조를 확인해보면 다음처럼 보입니다.
$ tree test
test
├── 0
├── 1
├── 2
├── 3
├── 4
├── 5
├── 6
├── 7
├── 8
├── 9
└── dir
├── 0
├── 1
├── 2
├── 3
├── 4
├── 5
├── 6
├── 7
├── 8
└── 9
1 directory, 20 files
zip 압축
디렉토리의 test의 하위 디렉토리까지 압축하여 test.zip 파일을 생성합니다.
$ zip -r test.zip ./test
adding: test/ (stored 0%)
adding: test/6 (stored 0%)
adding: test/dir/ (stored 0%)
adding: test/dir/6 (stored 0%)
adding: test/dir/1 (stored 0%)
adding: test/dir/4 (stored 0%)
adding: test/dir/7 (stored 0%)
adding: test/dir/9 (stored 0%)
adding: test/dir/2 (stored 0%)
adding: test/dir/0 (stored 0%)
adding: test/dir/3 (stored 0%)
adding: test/dir/8 (stored 0%)
adding: test/dir/5 (stored 0%)
adding: test/1 (stored 0%)
adding: test/4 (stored 0%)
adding: test/7 (stored 0%)
adding: test/9 (stored 0%)
adding: test/2 (stored 0%)
adding: test/0 (stored 0%)
adding: test/3 (stored 0%)
adding: test/8 (stored 0%)
adding: test/5 (stored 0%)
zip 압축풀기
test.zip 파일을 압축 풀어서 현재 위치의 test2 디렉토리 내에 저장합니다.
$ unzip test.zip -d ./test2
Archive: test.zip
creating: ./test2/test/
extracting: ./test2/test/6
creating: ./test2/test/dir/
extracting: ./test2/test/dir/6
extracting: ./test2/test/dir/1
extracting: ./test2/test/dir/4
extracting: ./test2/test/dir/7
extracting: ./test2/test/dir/9
extracting: ./test2/test/dir/2
extracting: ./test2/test/dir/0
extracting: ./test2/test/dir/3
extracting: ./test2/test/dir/8
extracting: ./test2/test/dir/5
extracting: ./test2/test/1
extracting: ./test2/test/4
extracting: ./test2/test/7
extracting: ./test2/test/9
extracting: ./test2/test/2
extracting: ./test2/test/0
extracting: ./test2/test/3
extracting: ./test2/test/8
extracting: ./test2/test/5
test2 디렉토리 내에 test 디렉토리가 압축 전과 동일하게 생성된 것을 볼 수 있습니다.
$ tree ./test2/test
./test2/test
├── 0
├── 1
├── 2
├── 3
├── 4
├── 5
├── 6
├── 7
├── 8
├── 9
└── dir
├── 0
├── 1
├── 2
├── 3
├── 4
├── 5
├── 6
├── 7
├── 8
└── 9
1 directory, 20 files