tar

덤프버전 : r

파일:다른 뜻 아이콘.svg
은(는) 여기로 연결됩니다.
동명의 화학 물질에 대한 내용은 타르 문서
타르번 문단을
타르# 부분을
, {{{#!html }}}에 대한 내용은 문서
#s-번 문단을
#s-번 문단을
# 부분을
# 부분을
, {{{#!html }}}에 대한 내용은 문서
#s-번 문단을
#s-번 문단을
# 부분을
# 부분을
, {{{#!html }}}에 대한 내용은 문서
#s-번 문단을
#s-번 문단을
# 부분을
# 부분을
, {{{#!html }}}에 대한 내용은 문서
#s-번 문단을
#s-번 문단을
# 부분을
# 부분을
, {{{#!html }}}에 대한 내용은 문서
#s-번 문단을
#s-번 문단을
# 부분을
# 부분을
, {{{#!html }}}에 대한 내용은 문서
#s-번 문단을
#s-번 문단을
# 부분을
# 부분을
, {{{#!html }}}에 대한 내용은 문서
#s-번 문단을
#s-번 문단을
# 부분을
# 부분을
, {{{#!html }}}에 대한 내용은 문서
#s-번 문단을
#s-번 문단을
# 부분을
# 부분을
, {{{#!html }}}에 대한 내용은 문서
#s-번 문단을
#s-번 문단을
# 부분을
# 부분을
참고하십시오.





1. 개요
2. 상세
3. 다른 OS와의 관계
4. 사용법



1. 개요[편집]


흔히 압축 형식의 일종으로 간주되지만 압축은 전혀 하지 않으며, 단순히 다수의 파일을 하나로 묶을 때 사용한다. 따라서 엄밀히 말하면 '압축 형식'이라 부를 수는 없다. 확장자는 *.tar로 Tape Archive의 약자이다. 대체로 tarball이라고 불린다.


2. 상세[편집]


각 파일의 정보를 담아야 하기 때문에 용량이 오히려 소폭 늘어난다. 과거 자기테이프를 기억 매체로 사용하던 시절[1] 데이터 관리를 보다 효율적으로 하기 위해 만들어졌다. 파일을 하나로 묶는 역할만 하는지라 처리 속도가 빠르다. 유닉스 계열 운영체제에서 주로 쓰인다.

tar는 단순히 묶는 역할만 하므로 압축이 필요한 경우 tar 파일을 다른 압축 유틸리티를 통해 압축한다. 이 경우 뒤에 확장자가 더 따라붙는다. gzip을 이용하면 tar.gz, bzip2를 이용하면 tar.bz 하는 식. tgz, tbz 등 아예 합쳐진 확장자로도 많이 쓰인다. 간혹 압축한 파일을 tar로 지정해서 받는 쪽에서 뭘로 풀어야 할 지 몰라 환장하게 만드는 경우도 있다(...).[2]

타르볼의 장점은 다른 압축 파일들이 가질 수 없는 기능인 파일의 특성을 같이 저장 할 수 있다는 점인데, 예를 들어 CMS 구축 파일이 zip 파일과 tar.bz로 제공될 때 zip, 7z파일은 바이너리 파일이나 폴더 권한 설정을 수동으로 (.htaccess 포함)해주어야 하지만, tar의 경우는 권한 설정 등이 tar 안에 저장되어 있기 때문에 귀찮은 작업이 사라진다는 장점이 있다.


3. 다른 OS와의 관계[편집]


윈도우에서는 잘 쓰이지 않는 파일 형식이다. 윈도우의 전신이 된 DOS에는 tar 같은 파일을 한데 묶어 주는 기능이 없었다. 사실 tar라는 기능은 유닉스가 메인프레임 같은 중대형 컴퓨터용이었고, 대량의 데이터를 다루는 일이 많다 보니 생긴 것이다. 그러나 DOS는 PC용 OS였고, 초창기 PC는 대량의 데이터를 다루는 일이 없다 보니 해당 기능을 채용하지 않은 것이다. 따라서 DOS용 파일 압축 프로그램들은 여러 파일의 압축을 시도하면 파일을 합쳐 주는 기능까지 같이 넣는 것이 일반적이었고, 이것은 윈도우 시대까지 그대로 이어졌다. 그러다 보니 tar는 윈도우에서는 거의 쓰이지 않는 포맷이 되었고, 윈도우용 tar 유틸리티도 나와 있지만 굳이 설치해서 쓰는 사람은 드물다. 때문에 유닉스/리눅스와 전혀 인연이 없는 사람에게 tar 파일을 보내면 뭥미 소리가 나오니 주의. 그나마 2010년대 이후에 나오는 윈도우용 압축 프로그램은 tar 압축 해제를 대부분 지원한다. 다만 tar의 강점인 퍼미션 보존만은 지원하지 않으니 주의. 근데 애초에 타르볼의 강점이 퍼미션 보존이라고 알고 있을 정도 사람이면 WSL로 보내버리는 정도의 조치는 이미 취해놨을 것이기 때문에... 문제는 Windows에서 리눅스/BSD로 보낼 때

그 반대도 마찬가지. 윈도우는 tar를 지원하지 않는 대신 OS 차원에서 ZIP 파일의 압축 및 해제를 지원하는데, 이 파일을 리눅스 등의 유닉스 계열 OS로 보내면 비슷한 문제가 생긴다. 물론 이 경우에는 ZIP 압축 해제를 지원하는 unzip 패키지를 설치해서 풀면 된다. RAR 등의 다른 윈도우에서 많이 사용되는 압축 프로그램도 마찬가지다. 물론 이 때도 마찬가지로 퍼미션 보존은 기대하지 말자.[3]

macOS에서는 잘 지원한다. macOS의 전신이 유닉스 계열 OS인 BSD이기 때문이다. 사용 방법도 같다.

압축 프로그램 간 호환성이 제로에 가까운 ALZEGG보다는 훨씬 낫긴 하다


4. 사용법[편집]


유닉스 계열 운영체제에 기본적으로 포함되어 있는 tar 압축 명령어는 보통 다음과 같은 옵션을 가진다. GNU tar를 기준으로 설명한다. FreeBSD나 OS X 등 BSD 계열의 경우도 대동소이하지만 미묘하게 다른 경우가 있으니 주의.
  • -f : 테이프 대신 파일을 묶는다. 원래 테이프를 다루는 프로그램이었기 때문에 생긴 흔적이다. 파일을 묶거나 풀려면 반드시 붙여줘야 한다. 이 옵션을 사용하지 않으면 압축된 바이너리가 터미널에 그대로 출력된다.
  • 역할 옵션-이 중 하나만 써야 한다.
    • -c : 지정한 파일을 tar로 묶는다.
    • -x : tar를 압축 해제한다.
    • -r : 묶인 tar에 새 파일을 추가한다.
    • -t : tar 안에 들어있는 파일을 목록으로 표시한다.
  • 부가 옵션-위 기능에 부가기능을 추가한다.
    • -v : 압축 및 해제 과정을 상세한 메시지로 출력한다.
    • -p : UID를 보존한다. 사실상 퍼미션 보존과 같은 말이다. 풀 시스템 백업에서 타르볼이 사용되는 이유이자 타르볼의 꽃.
  • 압축 옵션-파일을 작업할 때 사용할 압축 형식을 지정한다. 당연히 이 중 하나만 사용 가능.
    • -z : 묶은 tar를 gzip으로 압축하거나, -x인 경우 해당 파일이 이미 gzip 압축되었음을 가리킨다.[4]
    • -j : 묶은 tar를 bzip2로 압축하거나 bzip2 압축된 타르볼을 한 번에 압축 해제한다.
    • -J : 묶은 tar를 xz로 압축하거나 xz 압축된 타르볼을 한 번에 압축 해제한다.


파일:CC-white.svg 이 문서의 내용 중 전체 또는 일부는
문서의 r28 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}}에서 가져왔습니다. 이전 역사 보러 가기
파일:CC-white.svg 이 문서의 내용 중 전체 또는 일부는 다른 문서에서 가져왔습니다.
[ 펼치기 · 접기 ]
문서의 r28 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)
문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)





파일:크리에이티브 커먼즈 라이선스__CC.png 이 문서의 내용 중 전체 또는 일부는 2023-01-27 09:59:09에 나무위키 tar 문서에서 가져왔습니다.

[1] 지금도 저장 용량이 엑사~페타급을 바라보는 초대형 서버에서는 백업용으로 자기테이프를 사용한다.[2] 다만 매직 넘버가 다 있기 때문애 사용자 입장이 아닌 컴퓨터 입장에서는 별 문제가 안 된다. tar.7z(7z 자체가 아카이빙을 지원하므로 뻘짓) 같은 괴악한 포맷으로 보낸 게 아닌 한 tar 명령어 자체가 파일의 매직 넘버를 인식해 알아서 압축을 풀어 주며, 괴악한 포맷이거나 사용하는 프로그램이 자동 인식이 불가능한 경우 file 명령어로 어떤 포맷으로 압축됐는지 식별하면 'tar -xjf'(이 경우는 bzip2) 같이 플래그를 걸어서 압축을 풀거나 'zcat 파일명 | tar -xf -'(이 경우는 gzip) 같이 파이프로 압축 해제-아카이브 해제 순서대로 걸어 주면 된다.[3] 애초에 NTFSPOSIX는 퍼미션 체계가 다르다. 호환이 안 된다. ntfs-3g 드라이버에서 괜히 기저 퍼미션을 무시하고 올 퍼미션 777을 상정하는 게 아니다.[4] 자신이 한 프로그램은 하나의 역할만 해야 한다는 유닉스 강경파라면, 혹은 사용하는 프로그램이 이 플래그를 지원 안 한다면 압축은 'tar -cf - (...)|gzip > (파일명)'으로, 해제는 'zcat (파일명) | tar -xf -'로 대체 가능.