사용 중인 소프트웨어 모듈 패치 업데이트를 위해 aws 클라우드에 올라간 파일들을 업데이트 시켜줘야 했다. AWS S3에 파일을 업로드 하고, 미리 서명된 URL을 통해 파일을 다운 받았고 (wget 명령어 사용) 해당 파일의 압축을 풀어줘야 했다. 🤘 위 프로세스를 정리하면서 tar, gz, zip 압축 및 압축 해제 리눅스 명령어를 정리해보려고 한다.
💡 AWS S3(Simple Storage Service) : Simple Storage Service의 약자로 파일 서버의 역할을 하는 서비스다. 일반적인 파일서버는 트래픽이 증가함에 따라서 장비를 증설하는 작업을 해야 하는데 S3는 이와 같은 것을 대행한다.
$ tar -cvf [파일명.tar] [폴더명]
# abc라는 폴더를 aaa.tar로 압축 예시
$ tar -cvf aaa.tar abc
$ tar -zcvf [파일명.tar.gz] [폴더명]
# abc라는 폴더를 aaa.tar.gz로 압축 예시
$ tar -zcvf aaa.tar.gz abc
$ zip [파일명.zip] [폴더명]
# 현재폴더 전체를 aaa.zip으로 압축 예시
$ zip aaa.zip ./*
# aaa.zip으로 압축하고 현재 폴더의 모든 것과 현재 폴더의 하위 폴더들도 모두 압축 예시
$ zip aaa.zip -r ./*
# 위 명령어를 스크립트에서 실행할 때, 파일 경로가 전부 나올 수 있기 때문에 해당 폴더로 이동한 후 작업하는 것을 권장
$ tar -xvf [파일명.tar]
# aaa.tar라는 tar파일 압축해제 예시
$ tar -xvf aaa.tar
$ tar -zxvf [파일명.tar.gz]
# aaa.tar.gz라는 tar.gz파일 압축 해제
$ tar -zxvf aaa.tar.gz
$ unzip [파일명.zip]
# aaa.zip 압축 해제 예시
$ unzip aaa.zip
# 특정 폴더에 압축해제 예시
$ unzip aaa.zip -d ./target
참고로 tar, tar.gz 차이가 궁금하다면 다음의 글을 참고하면 된다!
option | meaning |
---|---|
-c | 파일을 tar로 묶음 |
-p | 파일 권한을 저장 |
-v | 묶거ㅏㄴ 파일을 풀 때 과정을 화면으로 출력 |
-f | 파일 이름을 지정 |
-C | 경로를 지정 |
-x | tar 압축을 풂 |
-z | gzip으로 압축하거나 해제함 |
https://brownbears.tistory.com/161
https://dev.classmethod.jp/articles/for-beginner-s3-explanation/