Flutter 문서에서 설치 관련 부분을 보다가 unzip 명령어가 나왔는데 직접 실행해보고 싶었다.
그래서 해본 김에 정리하기
- unzip: zip으로 압축된 파일을 해제하는 명령어
/Downloads/test 디렉토리 안에 test_file_1, test_file_2라는 파일이 있고, 두 파일을 '아카이브.zip'로 압축했다.
그리고 Downloads 디렉토리 내에서 아래 명령어를 실행하면,
현재 디렉토리인 Downloads 내에 '아카이브.zip' 파일이 압축해제되어
test_file_1과 test_file_2 파일이 생긴다.
unzip ~/Downloads/test/아카이브.zip
*__MACOSX라는 디렉토리도 같이 생기던데 이건 뭘까..
현재 디렉토리가 아닌 특정 디렉토리 내에 압축을 풀고 싶을 경우
뒤에 -d /압축해제할 path를 입력하면 된다.
unzip ~/Downloads/test/아카이브.zip -d ~/Desktop // Desktop 디렉토리에 압축해제
- zip: 여러 개의 파일을 압축할 수 있는 명령어로, tar와 달리 아카이빙과 압축을 같이 할 수 있다.(파일 용량의 압축 가능, 아래 내용 참고)
// zip 압축파일명 압축할_파일_1 압축할_파일_2
zip archive.zip ~/Downloads/test_file_1 ~/Downloads/test_file_2
이렇게 압축할 파일의 상위 경로까지 모두 작성해서 압축하면,
압축된 파일을 풀었을 때 해당 디렉토리 경로까지 모두 생성된다.
이게 무슨 말이냐면..
위의 명령어를 입력했을 때
~/Downloads 경로에 있는 test_file_1, test_file_2를 압축해서 맨 위의 archive.zip 압축파일이 만들어진다.
그리고 archive.zip의 압축을 풀면 Users 디렉토리가 생긴다.
디렉토리의 끝까지 가보면 test_file_1, test_file_2 파일이 있는데,
원래 상위 경로였던 Users/csy/Downloads 안에 파일이 들어있는 걸 확인할 수 있다.
압축할 때 이렇게 파일명만 입력하면 다른 결과가 나온다.
zip archive_2.zip test_file_1 test_file_2
이렇게 archive_2 디렉토리 내에 지정한 파일만 압축되어 있다.
위에서 말한 tar와의 차이점도 찾아보았다.
모두 압축을 하는 명령어이긴 한데, CPU나 용량 압축 등에서 성능의 차이가 있는 것 같다.
- zip: 거의 모든 OS 환경에서 호환 가능하지만, 용량 압축이 낮다.
- tar: 일반적으로 리눅스 환경에서 사용되고, 여러 개의 파일을 하나로 묶는 개념이다.
압축에 소비되는 시간 및 CPU가 적지만 용량 압축이 거의 없다. - tar.gz: 용량 압축이 높지만 CPU를 많이 쓰지 않는다.
- 참고할만한 압축 파일 성능 비교글
참고한 글
- https://www.lesstif.com/lpt/linux-zip-unzip-80248839.html#Linuxzip/unzip%EC%9C%BC%EB%A1%9C%EC%95%95%EC%B6%95%ED%95%98%EA%B3%A0%ED%95%B4%EC%A0%9C%ED%95%98%EA%B8%B0-unzip
- https://suzxc2468.tistory.com/166
'프로그래밍' 카테고리의 다른 글
[Mac] touch 명령어(터미널에서 파일 생성, 수정시간 변경) (0) | 2023.01.10 |
---|---|
[Mac] Cannot identify version of git executable: no response (0) | 2021.08.28 |
[Mac] M1 homebrew 설치 방법 - zsh: command not found (12) | 2021.05.19 |
댓글