일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- gcc 컴파일
- CDC
- DNN Accelerator
- Data HAzard
- pygraphviz 설치 오류
- linux makefile 작성
- CUDA
- linux c++ 컴파일
- linux c 컴파일
- Pyverilog 튜토리얼
- pytest-pythonpath 설치 오류
- 남산업힐
- gpgpu-sim
- AMBA
- 이진수 곱셈 알고리즘
- pyverilog 설치 오류
- Pyverilog 실행
- makefile
- DNN 가속기
- Pyverilog 설치
- CLOCK GATING
- 클럭 게이팅
- systolic array
- Design DNN Accelerator
- Makefile compile
- Pyvrilog tutorial
- 대구 반도체 설계기업 특화
- 딥러닝 가속기
- 데이터 해저드
- 컨벌루션 연산
- Today
- Total
오늘은 맑음
[Linux] 파일 압축 해제 / tar와 tar.gz 본문
리눅스에서 파일을 다루다 보면 *.tar 혹은 *.tar.gz 파일을 자주 봅니다
뭔가 압축 파일인 것 같은데 무슨 뜻인지도 모르겠고 그냥 구글에 '리눅스 압축 해제'를 검색하죠
그래서 tar -zcvf name 등의 명령어를 치면 압축이 해제되고 디렉토리가 나옵니다
그래서 오늘은 tar가 무엇인지 알아보고 사용법을 알아보겠습니다
tar란?
tar란 tape archive의 줄임말입니다
과거에는 tape에 정보를 보관했죠(반도체 업계에서는 fab에 보내기 직전의 작업까지 수행한 상태를 tape out이라고 하죠)
거기서 이어진 단어로 데이터를 모으는 것을 의미합니다
단순하게 데이터를 모으는 작업이기 때문에 데이터가 압축되지 않습니다
tar.gz란?
gz란 gzip 알고리즘을 이용해서 압축을 하는 것을 의미합니다
압축을 하게 되면 파일의 용량이 줄어들겠죠?
즉, tar.gz 확장자인 파일은 tar로 한 번 데이터들을 모아주고 gzip 알고리즘을 이용해서 데이터를 압축했다는 의미입니다
여기서 tar와 gz는 독립적입니다
항상 tar와 gz가 함께 쓰이지는 않습니다
tar 명령어 사용법
자주 사용하는 옵션은 아래와 같습니다.
tar [OPTION...] [FILE]...
-f : tar의 대상 지정
-c : tar 생성(파일 묶기)
-x : tar 해체(파일 풀기)
-v : 처리되는 과정 출력
-z : gzip 압축
더 많은 명령어가 필요하시다면 tar --help를 검색해보시기 바랍니다
1. tar로 파일 묶기
tar -vcf
vcf옵션을 이용해서 tar 명령어를 수행했습니다.
f 옵션으로 묶을 폴더를 지정하고, v 옵션으로 struct 폴더 내의 데이터가 묶이는 과정이 출력됩니다
마지막으로 c(create) 옵션으로 .tar 파일이 생성됩니다
2. gzip으로 압축하기
tar -zvcf
위의 옵션에서 z옵션을 추가해서 .tar로 묶인 파일을 압축했습니다
비교해보면 확실히 gzip으로 압축한 파일이 용량이 적은 것이 보이네요
3. gzip으로 압축 해제
tar -zvxf
이번에는 c(create)옵션이 아닌 x(extract) 옵션을 주어 파일을 추출해보겠습니다
먼저 있었던 tar파일을 지워주고 압축 해제를 진행하면 같은 용량의 struct.tar 파일이 생성된 것을 볼 수 있습니다
4. tar 추출
tar -vxf
이제 마지막으로 struct.tar를 추출해보겠습니다
기존 struct 폴더를 삭제하고 추출을 해보니 struct 폴더가 돌아왔습니다!
tar는 생각보다 자주 사용하지만 옵션을 사용하려면 자주 잊어버립니다
자주 사용하는 옵션을 알파벳으로 기억하지 말고, c(create)와 x(extract)등 단어로 기억하면 더욱 좋습니다
저도 더이상 검색하고 싶지 않아 포스팅해 봅니다
'Linux' 카테고리의 다른 글
[Linux] 사용자 정의 함수, alias (0) | 2022.06.05 |
---|---|
[Linux] 파일 구조를 출력, Linux tree (0) | 2021.07.11 |
[Linux] vi/vim 단어 수정/치환 (2) | 2021.06.09 |
[Linux] vi/vim 상하좌우, 라인이동 (2) | 2021.05.30 |
[Linux] vim tab to space, tab 확인, tab space로 변경 (0) | 2021.04.28 |