ubuntu 에서 jupyter server 를 열어 jupyter lab 에서 딥러닝 관련 작업을 하고 있는데 jupyter lab 에서는 폴더 다운로드가 불가능했다. 이에 zip 파일로 압축해서 다운로드 해야하는 상황이 많아 zip / unzip 명령어를 정리를 한다.
설치
sudo apt update
sudo apt install zip
ZIP
하위 디렉터리 압축
하위 디렉터리를 포함하는 압축 옵션인 -r 을 사용해서 compressed.zip 파일에 /path/to/dir 내용을 압축한다
zip -r compressed.zip /path/to/dir
여러 소스 압축
dir1, dir2, file3 세 개의 소스를 압축한다
zip -r compressed.zip /path/to/dir1 /path/to/dir2 /path/to/file3
zip 에 내용 추가
zip compressed.zip path/to/file
특정 폴더 제외
특정 폴더를 제외하려면 -x 옵션을 사용하며 아래는 .git 폴더는 빼고 압축한다.
zip -9 -r compressed.zip /path/to/dir -x '*.git*'
unzip
압축내 목록 보기
압축을 해제하지 않고 압축 파일내의 목록만 출력한다.
unzip -l compressed.zip
압축 해제
현재 폴더에 압축 해제한다.
unzip compressed.zip
특정 폴더에 해제
압축이 풀릴 대상을 지정하는 -d 옵션을 사용하면 원하는 폴더에 압축을 해제할 수 있다
unzip compressed.zip -d /path/to/put
여러 파일 압축 해제
unzip 은 file globing 을 제대로 지원하지 않아서 다음과 같이 사용할 수가 없다
unzip *.zip -d /path/to/put
여러 파일 압축 해제가 필요할 경우 bash 의 for 함수를 이용해서 간단하게 처리할 수 있다
for i in *.zip; do unzip $i -d /path/to/put;done