현재 작성중이므로, 내용, 글씨 달라질수 있음.
jar / tar / gzip / zip
1. tar
a. tar는 tape archive의 약자로, 파일 형식 혹은 명령어를 의미.
b. tar는 압축이 아닌, 묶음파일 이며 기존 디렉토리/파일의 구조를 유지하여 묶여 있기 때문에, 배포용도로 사용된다.
tar [옵션] [파일]
-f : 대상 tar 아카이브 지정. (기본 옵션)
-c : tar 아카이브 생성. 기존 아카이브 덮어 쓰기. (파일 묶을 때 사용)
-x : tar 아카이브에서 파일 추출. (파일 풀 때 사용)
-v : 처리되는 과정(파일 정보)을 자세하게 나열.
-z : gzip 압축 적용 옵션.
-j : bzip2 압축 적용 옵션.
-t : tar 아카이브에 포함된 내용 확인.
-C : 대상 디렉토리 경로 지정.
-A : 지정된 파일을 tar 아카이브에 추가.
-d : tar 아카이브와 파일 시스템 간 차이점 검색.
-r : tar 아카이브의 마지막에 파일들 추가.
-u : tar 아카이브의 마지막에 파일들 추가.
-k : tar 아카이브 추출 시, 기존 파일 유지.
-U : tar 아카이브 추출 전, 기존 파일 삭제.
-w : 모든 진행 과정에 대해 확인 요청. (interactive)
-e : 첫 번째 에러 발생 시 중지.
묶기 실습
tar -cvf 묶을파일명.tar 묶을파일 묶을파일 ..
ex)
tar -cvf test.tar test.txt
=> test.txt 파일을 test.tar 이라는 파일명으로 묶음
tar -cvf test.tar test.txt exam.txt
=> test.txt파일과 exam.txt 파일을 test.tar 파일로 묶음
tar -cvf test.tar *
=> 현재 디렉토리에 있는 파일 전부를 test.tar 파일로 묶음
tar -rvf test.tar test.txt
=> test.tar 파일 끝에 test.txt 파일을 추가하여 묶음
기타옵션
-cvzf : 확장자를 .tar.gz로 생성
-cvjf : 확장자를 .tar.bz2로 생성
풀기 실습
tar -xvf 풀고싶은파일.tar
ex)
tar -xvf test.tar
=> test.tar로 묶인 파일을 풀음
tar -xvf test.tar test.txt
=> test.tar로 묶인 파일에서 test.txt 파일만 추출
기타옵션
-xvzf 확장자가 .tar.gz인 경우 이 옵션 이용
-xvjf 확장자가 .tar.bz2인 경우 이 옵션 이용
2. gzip
a. gzip은 GNU zip의 준말이며, 초기 유닉스 시스템에 쓰이던 압축 프로그램을 대체하기 위한 자유 소프트웨어.
b. 압축 해제시, gzip, gunzip 두가지 명령어로 해제 가능.
gzip [옵션] [파일]
-n : n은 1부터 9까지 숫자로, 1이 가장 빠르지만 압축율은 가장 낮음
-c : 압축 결과를 출력하고 원본파일은 그대로 나둠
-d : 압축 해제
-f : 강제 압축
-l : 압축 파일의 정보 출력
-r : 디렉토리를 지정 시 디렉토리에 포함된 모든 파일 압축
-t : 압축 파일 테스트
-v : 압축 혹은 해제시 자세한 정보 출력
-h : 도움말 출력
-V : 버전 정보 출력
압축 실습
gzip -옵션 tar파일
ex)
gzip -1 test.tar
=> test.tar 파일을 압축, 결과물은 test.tar.gz 가 된다.
기타 옵션
-1 : compress faster
-9 : compress better
해제 실습
gzip -옵션 tar.gz파일
gunzip -옵션 tar.gz파일
* tar로 묶인 파일을 해제할때 tar 까지 동시에 해제하려면 tar -xvfz 옵션을 사용한다.
ex)
gzip -d test.tar.gz
=> test.tar.gz 압축파일을 풀어, test.tar 파일로 만든다.
gunzip -d test.tar.gz
=> test.tar.gz 압축파일을 풀어, test.tar 파일로 만든다.
3. jar
a. 일종의 자바 프로젝트 압축파일.
jar [옵션] [파일]
-c : 새 아카이브를 만듭니다.
-t : 아카이브에 대한 목차를 나열합니다.
-x : 아카이브에서 명명된 (또는 모든) 파일을 추출합니다.
-u : 기존의 아카이브를 업데이트합니다.
-v : 표준 출력에 대한 자세한 정보 출력을 생성합니다.
-f : 아카이브 파일 이름을 지정합니다.
-m : 지정된 manifest 파일에서 manifest 정보를 포함시킵니다.
-0 : 저장만 수행하며 ZIP 압축을 사용하지 않습니다.
-M : 입력 항목에 대한 manifest 파일을 만들지 않습니다.
-i : 지정된 jar 파일에 대한 색인 정보를 생성합니다.
-C : 지정된 디렉토리로 변경하고 다음 파일을 포함시킵니다.
압축 실습
jar -cvf 압축파일명.jar 압축할파일
ex)
jar cvf test.jar test
=> test 디렉토리를 test.jar 로 압축
jar cvf test.jar *.class *.java
=> 확장자가 .class 모든파일과 .java 모든파일을 test.jar 로 압축
jar cvf test.jar test app
=> test 디렉토리와 app 디렉토리를 test.jar 로 압축
해제 실습
jar -xvf jar파일
ex)
jar -xvf test.jar
=> test.jar 파일을 압축 해제
4. zip / unzip
a. 윈도우에서 주로 사용하는 zip 형태를 리눅스 서버로 옮겨서 작업할 때 사용.
b. 아카이빙 + 압축을 함께 사용가능.
zip [옵션] [파일]
-n : n은 1부터 9까지 숫자의 설정으로, 1이 가장 빠르지만 압축률은 가장 낮음
-r : 하위 디렉터리까지 포함하여 압축
-e : zip 파일에 암호 설정
-x : 압축시 파일 제외
-P : 압축 파일 생성 시 암호를 입력하여 생성
-d : 지정된 위치에 압축 해제
unzip [옵션] [파일]
-a : 압축 해제 텍스트 파일을 기본적으로 자동 변환
-L : 파일 이름을 대문자 시스템에서 소문자로 변환
-C : 대소 문자를 구분하지 않고 이름을 일치시킴
-o : 항상 파일을 덮어쓰기
-n : 파일을 추출할 때 파일을 덮어쓰지 않음
압축 실습
zip test.zip ./*
=> 현재폴더 전체 파일을 test.zip으로 압축
zip -r test.zip ./*
=> 현재폴더내 여러 하위 폴더들까지 모두 test.zip으로 압축
해제 실습
unzip test.zip
=> 현재폴더에 test.zip을 압축해제
unzip test.zip -d ./target
=> 타겟폴더에 test.zip을 압축해제
'IT > OS' 카테고리의 다른 글
[Linux] 파일 및 디렉토리 Permission(권한) 이해 및 변경 (0) | 2023.01.13 |
---|---|
[Windows/Linux] netstat 명령어 사용법 (0) | 2023.01.11 |
댓글