여러 개의 파일을 하나로 묶고 압축할 수 있는 tar 실무
작성자 정보
- 관리자 작성
- 작성일
컨텐츠 정보
- 2,384 조회
- 0 추천
- 목록
본문
여러 개의 파일을 하나로 묶고 압축할 수 있는 tar 실무
tar는 여러개의 파일을 하나로 묶는 명령어입니다.
압축명령어라고 잘못알고 계시는 분들이 있는데, tar는 분명 여러개의 파일을 하나로 묶어주는 일종의 유틸리티라고 할 수 있습니다.
하지만, 거의 대부분 tar는 gzip이나 bzip2등과 같은 압축유틸리티와 함께 사용을 하는 것이 일반적입니다.
또한 tar옵션에는 -z라는 옵션을 사용하면 gzip을 동시에 사용할 수 있기 때문에 tar명령어만으로 압축하고 풀 수 있으며, 또한 tar만으로도 효율적인 압축파일관리를 할 수 있습니다.
그리고 tar옵션에 -j옵션을 사용하면 bzip2를 동시에 사용할 수 있습니다.
따라서 우리는 tar사용시에 gzip을 사용하고 bzip2를 사용하는 다양한 방법들에 대해서 배워볼 것입니다.
상식적인 질문 같지만, 파일을 하나로 묶고 압축하는 이유는 무엇일까요?
파일을 압축하면 파일의 용량을 줄여서 관리할 수 있기 때문에 디스크 사용량을 효율적으로사용할 수 있다는 큰 장점이 있습니다.
그리고 파일을 전송하고 업로드/다운로드 속도를 높이기 위하여 압축을 하기도 합니다.
원본을 원래사이즈 그대로 전송하기 보다는 압축된 상태의 파일사이즈가 줄어든 상태로 송수신을 하면 전송시간을 크게 줄일 수 있습니다.
이런 여러가지 이유들로 여러 개의 파일들을 하나의 파일로 묶고, 묶은 파일을 압축하는 작업을 합니다.
이것이 여러분과 저와 같은 시스템관리자들이 압축파일을 관리하는 방법을 배워야하는 궁극적인 이유라고 할 수 있겠지요.
물론, 이외에도 여러가지 이유(배포의 편리성, 파일보관의 편리성등)가 있지만 현재의 인터넷과 통신환경에서는 이런 이유로 파일묶음과 압축을 한다는 것입니다.
명령어위치 : /bin/tar
사용형식 : tar <Operrations> [Options]
< Operations >
Operations
|
의 미
|
[-]A
|
압축파일에 tar파일을 추가해서 넣을 때(--catenate --concatenate)
|
[-]c
|
tar파일을 생성할 때(여러개의 파일을 하나의 파일로 묶을 때) 반드시 사용. 즉,압축파일 생성(--create)
|
[-]d
|
압축파일과의 비교(--diff --compare)
tar파일과 해당 파일시스템간의 차이점을 확인 하고자 할 때 사용
|
[-]r
|
압축파일의 끝부분에 파일들을 추가(--append)
tar파일에 다른파일들을 추가하고자 할 경우에 사용
|
[-]t
|
압축파일의 압축된 파일들 리스트 확인(--list)
tar파일의 내용을 확인하고자 할 때 반드시 사용
|
[-]u
|
이미 압축되어 있는 파일보다 더 새로운 파일일 경우에 추가(--update)
|
[-]x
|
압축파일을 압축해제(--extract --get)
|
--delete
|
압축파일에서 파일을 삭제할 때
|
Operation이라함은 tar유틸리티가 어떤 작업을 할 것인가를 결정하는 작업지시입니다.
즉,압축을 할 것인가? 압축을 해제할 것인가? 압축된 파일의 내용을 살펴볼 것인가?등과 같이 어떤 종류의 작업을 할 것인가?를 결정하는 것입니다.
그리고 위의 표에서 [-]의 의미는 옵션문자 앞에 붙는 “-”를 생략할 수 있음을 의미합니다.
< Common Options >
Options
|
의 미
|
-C
|
작업대상 디렉토리를 지정함. 원하는 위치에 압축파일을 해제할 때
|
-f
|
tar파일을 사용할 때에는 반드시 사용 (--file F)
|
-j
|
bzip2와 관련하여 압축 또는 압축해제를 할 때 사용(--bzip2)
|
-p
|
tar파일을 생성할(풀) 때 원본파일의 속성들을 그대로 유지함. 즉, 원본파일이 가지고 있는 퍼미션,소유자등의 속성정보들을 그대로 유지함. (--preserve-permissions)
|
-v
|
묶을 때나 풀 때 그 과정을 자세하게 보려고 할 때 사용(--verbose)
|
-z
|
gzip과 관련하여 압축이나 해제를 한꺼번에 하려고 할 때 사용(--gzip)
|
Common Option이란 리눅스의 일반명령어에서 흔히사용되는 일반적인 명령어옵션을 의미하지만, 여기서는 조금 특이한 용도로 사용됩니다.
즉, 앞서 설명한 모든 종류의 Operation에 대하여 이번 표에서 설명하고 있는 모든 Common Option을 사용할 수 있습니다.
한가지 매우 중요한 사실은 이번 표에서 설명한 -C옵션, -f옵션, -j옵션, -p옵션, -v옵션, 그리고 -z옵션까지 즉, 모든 옵션들이 매우 흔하게 사용되고 있으며 반드시 각각의 정확한 의미를 알아 두어야한다는 점입니다.
관련자료
-
이전
-
다음