들어가기에 앞서!!
아카이브 와 백업 파일의 차이
백업(Backup)
- 데이터가 사라지거나 손상되는 경우를 대비하여 저장하는 데이터 사본
아카이브(Archive)
-참고용(?) 데이터 사본 정도 , 백업은 복원 하는 의미라면 아카이브는 회수(?) 느낌이다.
- 저장해놓고(여기서 압축파일로 저장할때를 공부해 볼것이다.) 필요할때마다 필요한 부분 꺼내 쓰는 느낌?
------------------------------------------------------------------------------------------------------------------------
리눅스에서 파일을 압축하는 방법은 여러가지가 있습니다 .
그 중 오늘 써볼 파일 압축 명령어는 gzip , tar , xz 정도 있는데요 .
각 특징을 알아야 알맞는 압축 명령어를 쓰겠죠 ?? 알아봅시다!!
----------------------------------------------------------------------------------------------
gzip | tar | xz | zip | |
용량 압축 | tar 파일 다시 압축? 정도로 생각 |
압축이 거의 되지 않음 (파일 하나로 묶기) |
디렉터리 압축 불가 파일 무손실 압축 |
최고레벨 지원 X |
호환 정도 | 거의 모든 os 호환 | |||
cpu 소모 정도 | 소모 정도 적음 |
더욱 자세한 내용은 적어주고 싶지만 제가 아직 지식이 부족하여... 다음 기회에....
-------------------------------------------------------------------------------------------------------------------------------
tar
-압축해준다기 보다는 파일을 하나로 묶어주는 정도로 생각하시면 되겠습니다.
왜 그런가 하면 tar로 묶었는데 오히려 용량이 커질 수가 있습니다. (완전한 압축이 아닌 그냥 묶어주기 때문에)
*tips
- -f 옵션은 필수 옵션 입니다 . (묶을 때 이름 정해주는 옵션 , 풀때도 풀 파일 이름 지정해줄때 씁니다.)
- 그래서 기본적으로 tar -cf (생성될 파일 이름) (묶을 파일들) 형식으로 명령해주면 됩니다. {해제 시 tar -xf ( 이름)}
- 압축 해제시 해제 할 파일이 현 디렉토리에 존재하면 덮어씁니다 .. !! (주의)
- 현재 디렉토리 밑의 모든 파일을 압축하고싶을땐 tar -cf test0404.tar * 이런 식으로 해주면 됩니다.
- 디렉터리 채로 압축할땐 tar -cf test0404.tar hjhj/ (hjhj 디렉터리와 서브디렉터리 모두 압축)
-
*options
가장 필요한 옵션 부터 알아보겠습니다 .
-c : create 의 약자로 새 저장 파일을 만들어요. (옵션에 넣었지만 tar 파일을 만들때는 필수겠죠?)
-f : 묶을 때 이름을 정해줘요 (필수 옵션 입니다 !! 없으면 오류 발생합니다.)
-x : 파일 압축 해졔 할때 사용
-v : 파일을 압축하거나 해제 할때 과정을 보여줍니다 .(파일이 많다면 시간이 오래걸리니 과정을 보는 것이 좋겠죠?)
-p : 모든 퍼미션 정보 유지 (기존에 있던 파일 권한 유지)
-t : 압축파일 안의 파일 확인할때 쓰는 명령어
-z : gzip으로 압축하거나 해제
-j : bz2 로 압축하거나 해제
--------------------------------------------------------------------------------------------------------------------------------
gzip
여러 개의 파일 압축할 시에는 tar 명령어로 묶은 후 gzip 으로 압축해 줍니다.
*options
-n : 1~9 까지이며 숫자가 클수록 압축률 증가 (그만큼 압축하는 시간이 오래걸림)
-c : 압축결과를 출력 , 원본 파일은 그대로 둠
-d : 압축 해제
-f : 강제 압축
-l : 압축파일의 정보 출력
-r : 디렉토리에 포함된 모든 파일을 압축
-t : 압축파일 테스트
-v : 파일을 압축하거나 해제 할때 과정을 보여줍니다 .(파일이 많다면 시간이 오래걸리니 과정을 보는 것이 좋겠죠?)
-------------------------------------------------------------------------------------------------------------------
네 오늘은 리눅스에서 파일 압축에 대해 알아 보았는데요..
제가 아직 모르는 옵션들이 있드라구요.. 그런데 알면 편할 것 같은 옵션들이라 다음에 한번 찾아보시길 추천드려요.
확실하게 알지 못하는 것들이라 참고만 하시라고 적어봐요.
(다른 디렉터리에 풀때 명령어 -C 명령어로 저장할 디렉터리 지정하기 )
tar -xvf test0404.tar -C hj0404/ (hj0404 디렉터리 밑에 test0404.tar 파일 압축 해제)
(원하는 파일만 골라서 압축 해제)
tar -xvf test0404.tar jazz.txt (test0404.tar 파일에 있는 jazz.txt만 추출)
(필요 없는 파일 제외하고 모두 압축 --exclude)
tar --exclude="*.java" -zcvf test0404.tar.gz * (java확장자 파일 제외하고 모든 파일 압축) *은 현재 디렉토리 모든파일
(현재 압축 파일에 파일 추가 -r)
tar -rvf test0404.tar blues.txt collection.txt (test0404.tar 파일에 blues.txt , collection.txt 파일 추가)
(압축파일 안의 파일 확인할때 쓰는 명령어 -t)
이번 포스팅은 ~~~ 여기까지 하겠습니다. 최대한 자세히 적으려고 노력했어요 ㅠㅠ
자세히 못하는 명령어는 혹시 제가 잘못 알려드릴까봐 조마조마해서 많이 적진 못했어요 ...
더 자세히 아시는 분들은 댓글에 많이 알려주세요!!
'프로그래밍 공부 > 리눅스' 카테고리의 다른 글
리눅스 명령어 위치 확인 (0) | 2020.04.04 |
---|---|
리눅스 기본 명령어 (0) | 2020.04.01 |
시스템 구조, 파일 시스템 , 파일 시스템 생성 (0) | 2020.03.31 |
사용자 조회 명령 (0) | 2020.03.31 |
리눅스 그룹 생성,변경,삭제 (0) | 2020.03.29 |
댓글