Linux(Ubuntu)에서 zip, unzip 명령어로 압축 및 압축 해제하는 명령어를 소개합니다.
1. zip 명령어로 폴더 및 파일 압축
-r
옵션을 사용하면 폴더 및 그 하위에 있는 모든 폴더 및 파일들을 모두 압축할 수 있습니다.
$ zip -r [output file name] [target folder]
# ex) zip -r abc.zip ./abc
두개 이상의 폴더 및 파일을 압축할 때도, 다음과 같이 폴더 및 파일 경로들을 나열하면 됩니다.
$ zip -r [output file name] [target folder1] [target folder2] [target file]
# ex) zip -r abc.zip ./abc ./mydir ./text1.txt ./text2.txt
1개 폴더 압축
다음과 같이 resources 폴더와 하위 파일들을 압축하여 output.zip
파일로 저장할 수 있습니다.
$ zip -r output.zip resources/
adding: resources/ (stored 0%)
adding: resources/SEC-INF/ (stored 0%)
adding: resources/SEC-INF/buildConfirm.crt (deflated 13%)
adding: resources/SEC-INF/buildinfo.xml (deflated 41%)
adding: resources/assets/ (stored 0%)
adding: resources/assets/NOTICE (deflated 65%)
adding: resources/AndroidManifest.xml (deflated 84%)
adding: resources/classes.dex (deflated 62%)
...
$ ls
output.zip resources
2개 이상의 폴더 및 파일 압축
아래와 같이 2개의 디렉토리와 2개의 파일을 output.zip
파일로 압축할 수 있습니다.
$ zip -r output.zip resources/ sources/ text1.txt text2.txt
updating: resources/ (stored 0%)
updating: resources/SEC-INF/ (stored 0%)
updating: resources/SEC-INF/buildConfirm.crt (deflated 13%)
updating: resources/SEC-INF/buildinfo.xml (deflated 41%)
파일만 압축
만약 파일만 압축한다면 -r
옵션을 사용하지 않고 다음과 같이 압축할 수 있습니다.
$ zip output.zip text1.txt text2.txt
adding: text1.txt (deflated 79%)
adding: text2.txt (deflated 79%)
$ ls
output.zip text1.txt text2.txt
2. unzip 명령어로 압축 풀기
다음과 같이 unzip으로 압축을 해제할 수 있습니다.
$ unzip [file name]
# ex) unzip abc.zip
특정 폴더에 압축을 풀고 싶으면 -d
옵션으로 타겟 폴더를 설정하시면 됩니다.
$ unzip [file name] -d [target folder]
# ex) unzip abc.zip -d ./myfolder
압축 해제
아래와 같이 output.zip
을 압축 해제할 수 있습니다. 파일들은 Working directory에 저장됩니다.
$ unzip output.zip
extracting: resources/res/drawable-mdpi/ic_arrow_down_24dp.webp
extracting: resources/res/drawable-mdpi/sesl_ic_commit_search_api_alpha.webp
....
$ ls
output.zip resources sources text1.txt text2.txt
특정 폴더에 압축 해제
만약 특정 폴더에 압축 해제하고 싶다면, -d
옵션으로 폴더를 지정할 수 있습니다. 다음은 mydir
폴더에 output.zip
을 압축 해제하는 예제입니다.
$ unzip output.zip -d ./mydir
extracting: resources/res/drawable-mdpi/ic_arrow_down_24dp.webp
extracting: resources/res/drawable-mdpi/sesl_ic_commit_search_api_alpha.webp
....
$ ls ./mydir
output.zip resources sources text1.txt text2.txt
위의 명령어를 실행했을 때 mydir
폴더 아래에 동일한 파일이 있으면, 아래와 같이 덮어쓸 것인지 물어봅니다.
$ unzip output.zip -d mydir/
Archive: output.zip
replace mydir/resources/SEC-INF/buildConfirm.crt? [y]es, [n]o, [A]ll, [N]one, [r]ename:
Loading script...
Related Posts
- Ubuntu/Linux - 특정 이름이 들어간 파일 모두 찾고 삭제하기
- Ubuntu/Linux - 특정 이름이 포함된 프로세스 모두 종료
- Ubuntu/Linux - 사용자 계정 이름 확인 (id, whoami)
- Ubuntu/Linux - E: unable to locate package 에러 해결
- Ubuntu 22.04/20.04 - Yarn 설치 방법
- Linux/Ubuntu - grep 명령어로 문자열 검색
- Linux/Ubuntu - 터미널에서 seq로 명령어 N회 반복
- Linux/Ubuntu - wc 명령어로 Line(줄) 개수 세기
- bash: pip: command not found 문제 해결 (Linux/Ubuntu)
- Ubuntu 22.04 - Swap 메모리 늘리기
- Linux - 파일이 수정된 날짜/시간 확인 방법
- Linux - 파일, 디렉토리 삭제 명령어(rm -rf, rmdir)
- 우분투 22.04 - deb 파일 설치하기
- Ubuntu 20.04 - OpenJDK 11 설치, 삭제
- Linux - ps 명령어로 실행 중인 프로세스(PID) 확인
- Ubuntu 20.04 - SSH 설치와 접속 방법
- Ubuntu에서 PPA 저장소 추가, 제거 방법
- Ubuntu 22.04 - Brave 브라우저 설치
- Ubuntu 22.04 - 프로스트와이어(FrostWire) 설치
- Ubuntu 22.04 - Remmina 설치 방법
- Ubuntu 22.04 - Rust 설치하기
- Ubuntu 22.04 - 텔레그램 설치하기
- Ubuntu - Deluge 토렌트 클라이언트 설치
- Ubuntu JDK 17 (OpenJDK) 설치, 삭제
- Ubuntu 20.04 스팀(Steam) 설치 방법
- Ubuntu에서 draw.io 설치하는 방법
- 우분투에 VMware 설치하기
- [Ubuntu] VMware에서 Windows 11 설치
- Vi/Vim에서 1줄 또는 여러줄 삭제 방법
- Vi/Vim에서 라인 번호 표시하 기
- 우분투에서 rar 압축, 압축 풀기
- Ubuntu에서 구글 드라이브 사용하기 (로컬 폴더에 마운트)
- [Ubuntu] apt-cache search, 설치 가능한 패키지 검색
- Ubuntu - DNS 캐시 삭제 방법
- Ubuntu에서 사용할 수 있는 Text Editor 소개