Ubuntu에서 tar.gz 파일 추출하기 (터미널 및 GUI) + 일반 오류 해결

目次

1. tar.gz 파일이란? 기본 개념

Ubuntu에서 tar.gz 파일을 추출하려고 한다면, 먼저 tar.gz가 실제로 무엇인지 이해하는 것이 도움이 됩니다. 이를 알면 명령어가 훨씬 이해하기 쉬워집니다. 이 섹션은 초보자가 알아야 할 내용만 간단히 설명합니다.

1.1 tar.gz는 “아카이빙”과 “압축”을 결합합니다

tar.gz는 간단히 말해, 여러 파일/폴더를 하나로 묶은 뒤 그 묶음을 압축한 파일입니다.

  • tar : 여러 파일을 하나의 아카이브(묶음)로 “bundle”하는 데 사용되는 아카이브 형식
  • gz : gzip을 사용해 “압축”되었음을 나타내는 파일 확장자

따라서 tar.gz 파일은 본질적으로 두 단계를 결합한 것입니다.

  1. 파일/폴더를 함께 묶음(tar)
  2. 그 묶음을 압축(gzip)

그래서 Ubuntu에서 tar.gz를 “추출”한다는 것은 먼저 압축을 해제하고, 그 다음 아카이브를 풀어내는 과정이라고 정확히 표현할 수 있습니다.

1.2 tar.gz가 Ubuntu에서 이렇게 흔한 이유

Linux 환경(특히 Ubuntu)에서 tar.gz 파일은 매우 흔합니다. 이유는 간단합니다: 다양한 사용 사례에 딱 맞기 때문이죠.

  • 소프트웨어 배포 : 전체 소스 코드와 바이너리를 한 번에 전달하기 쉬움
  • 백업 : 전체 폴더를 하나의 파일로 압축 가능
  • 로그 및 설정 파일 저장 : 작은 파일들을 많이 정리하기에 편리

특히 웹에서 다운로드하는 도구나 GitHub에서 배포되는 패키지는 종종 tar.gz 아카이브 형태로 제공됩니다.

1.3 비슷한 확장자와의 차이점 (.tgz / .tar / .gz)

초보자들이 흔히 혼동하는 비슷한 확장자가 몇 가지 있습니다. 각각을 명확히 구분해 보겠습니다.

• .tgz는 .tar.gz의 짧은 버전

.tgz는 사실 .tar.gz와 동일합니다.
예전부터 쓰이던 약어이며 아직도 사용됩니다.

• .tar는 “아카이브만” (압축되지 않음)

.tar는 압축 없이 파일들을 묶은 아카이브일 뿐입니다.
파일 크기가 크게 유지됩니다.

• .gz는 보통 “단일 파일 압축”을 의미

.gz는 기본적으로 압축 형식입니다.
대부분 경우 단일 파일이 gzip으로 압축된 형태(log.txt.gz 등)이며, tar가 포함되지 않을 수도 있습니다.

이 글에서는 tar.gz가 “아카이브(tar) + 압축(gzip)”을 함께 의미한다는 점만 기억하면 됩니다.

1.4 추출하기 전에 알아야 할 점 (실수 방지)

초보자들은 흔히 두 가지 질문에 막히곤 합니다: “파일이 어디에 추출될까?”와 “내용이 안전한가?” 이 점들을 염두에 두면 안전하고 정돈된 작업이 가능합니다.

  • 기본적으로 추출은 현재 폴더에서 이루어집니다
  • 추출하기 전에 내용을 미리 확인하는 것이 안전합니다
  • 추출 폴더를 지정하면 Desktop이나 원하는 폴더에 깔끔하게 풀 수 있습니다

다음 장에서는 실제 명령어를 단계별로 보여드리겠습니다.

2. Ubuntu에서 tar.gz 파일을 추출하는 방법 (터미널 명령)

Ubuntu에서 tar.gz 파일을 추출하는 방법은 크게 두 가지가 있습니다.

  • 터미널을 이용한 추출 (명령어) ← 가장 일반적이고 신뢰성 높음
  • GUI를 이용한 추출 (우클릭) ← 간편하지만 유연성은 떨어짐

이 글에서는 명령어 기반 추출에 먼저 초점을 맞춥니다. 초보자도 따라하기 쉽고 문제 해결이 용이하기 때문입니다.

2.1 가장 기본적인 추출 명령 (우선 외우세요)

Ubuntu에서 tar.gz 파일을 추출하는 표준 명령은 다음과 같습니다.

tar -xzvf filename.tar.gz

예를 들어 다운로드한 파일이 sample.tar.gz라면 다음과 같이 사용합니다.

tar -xzvf sample.tar.gz

이 명령은 현재 작업 중인 폴더(현재 디렉터리)에 내용을 추출합니다.

2.2 tar -xzvf 명령어를 초보자 눈높이에 맞춰 풀어보기

처음 보면 다소 위협적으로 보일 수 있지만, 각 부분이 무엇을 의미하는지 알면 간단합니다.

  • tar : 아카이브를 다루는 명령어
  • -x : 추출(extract)
  • -z : gzip 압축(.gz) 처리
  • -v : 추출하면서 파일 이름을 표시(verbos)
  • -f : 파일 이름 지정

즉, 다음과 같이 이해할 수 있습니다.

.

“지정된 파일에서 gzip으로 압축된 tar 아카이브를 추출하면서 상세 정보를 출력합니다.”

초보자라면 tar -xzvf 를 하나의 명령어 집합으로 외워두는 것만으로도 충분합니다.

2.3 추출하기 전에: 파일이 있는 폴더로 이동하기

“파일을 찾을 수 없습니다” 라는 오류가 뜨면 가장 흔한 원인은 잘못된 폴더에서 명령을 실행하고 있기 때문입니다.

예를 들어, 브라우저를 통해 다운로드한 파일은 보통 Downloads 폴더에 저장됩니다.

터미널에서 해당 폴더로 이동하려면 다음과 같이 입력합니다:

cd ~/Downloads

그 다음 파일이 실제로 존재하는지 확인합니다:

ls

sample.tar.gz 가 보이면 추출 명령을 실행합니다:

tar -xzvf sample.tar.gz

2.4 파일 이름에 공백이 포함된 경우

파일 이름에 공백이 있으면 명령이 중간에 끊겨 오류가 발생합니다.

예시:

  • my app.tar.gz (공백 포함)

이 경우 가장 쉬운 해결 방법은 파일 이름을 큰따옴표로 감싸는 것입니다:

tar -xzvf "my app.tar.gz"

또는 공백을 \ 로 이스케이프할 수도 있습니다:

tar -xzvf my\ app.tar.gz

초보자에게는 따옴표 방법이 읽기 쉽고 편리합니다.

2.5 추출 후에는 어떻게 될까? 폴더 구조 시각화

대부분의 경우 tar.gz 를 추출하면 다음과 같은 구조가 만들어집니다:

  • sample.tar.gz 를 추출 → sample/ 폴더가 생성되고 그 안에 모든 파일이 풀립니다

하지만 드물게 tar.gz부모 폴더를 만들지 않고 현재 폴더에 다수의 파일을 직접 풀어 버리는 경우도 있습니다.

그래서 다음 섹션에서 다루는 내용 미리보기추출 폴더 지정 팁은 안전하고 체계적인 작업을 위해 꼭 알아두어야 합니다.

3. 흔히 쓰이는 추출 패턴 (실제 자주 사용하는 명령들)

tar.gz 파일을 단순히 “모두 풀기”만 하는 것이 아니라, 상황에 따라 다양한 접근법을 선택하게 됩니다. 여기 가장 많이 쓰이는 패턴을 정리했습니다.

3.1 현재 디렉터리로 추출하기 (기본 기본)

가장 표준적인 방법입니다.

tar -xzvf sample.tar.gz

추출된 위치가 헷갈린다면, 명령을 실행한 같은 디렉터리에서 ls 로 확인해 보세요.

ls

3.2 특정 폴더로 추출하기 (Desktop 혹은 작업 폴더)

파일이 풀릴 위치를 직접 지정하고 싶다면 -C 옵션을 사용합니다.

예를 들어 Desktop 으로 추출하려면:

tar -xzvf sample.tar.gz -C ~/Desktop

전용 work 폴더에 풀고 싶다면 다음과 같이 합니다:

mkdir -p ~/work
tar -xzvf sample.tar.gz -C ~/work

핵심 포인트는 대상 폴더가 미리 존재해야 한다는 점입니다.
존재하지 않을 경우 mkdir -p 로 먼저 폴더를 만든 뒤 추출하세요.

3.3 추출 전에 내용 미리보기 (안전성을 위해 권장)

“추출하면 파일이 여기저기 흩어질까 봐 걱정돼요.”
“뭔가 이상한 경로나 파일이 들어있을지 모르겠어요.”

이럴 땐 실제로 추출하지 않고 내용만 리스트해 볼 수 있습니다.

tar -tf sample.tar.gz

아래와 같이 보이면 대체로 안전합니다:

  • sample/
  • sample/readme.txt
  • sample/bin/...

반대로 현재 디렉터리에 수많은 파일이 바로 풀릴 것처럼 보이면, -C 옵션으로 전용 폴더에 추출하는 것이 안전합니다.

3.4 파일 형식이 확실하지 않을 때, file 명령으로 확인하기

확장자가 .tar.gz 라고 해도 다운로드 오류 등으로 실제 내용이 다른 포맷일 수 있습니다.

이 경우 file 명령을 사용해 실제 타입을 확인합니다:

file sample.tar.gz

유효한 경우의 예시 출력:

  • gzip compressed data ...

이 한 번의 간단한 확인만으로도 불필요한 오류를 많이 방지할 수 있습니다.

4. GUI 로 추출하기 (Ubuntu 기본 파일 관리자)

아직 Terminal에 익숙하지 않다면, Ubuntu의 GUI(마우스 기반) 워크플로를 사용하여 tar.gz 파일을 추출할 수도 있습니다.
특히 “빠르게 풀고 싶을 때” GUI가 더 직관적이고 덜 스트레스 받을 수 있습니다.

4.1 단계별: 오른쪽 클릭으로 추출 (초보자 친화적)

Ubuntu의 기본 파일 관리자(Files / Nautilus)가 tar.gz 아카이브를 처리할 수 있습니다.

  1. 파일 관리자 열기
  2. *.tar.gz 파일 찾기 (보통 Downloads 에 있음 )
  3. 파일을 오른쪽 클릭
  4. 메뉴에서 다음 중 하나 선택 wp:list /wp:list

    • 여기에 추출
    • …으로 추출

대부분의 경우 Extract Here로 시작하기에 완벽합니다.

4.2 “Extract Here” vs “Extract To…”

개념은 Terminal 추출과 동일합니다:

  • Extract Here → 현재 보고 있는 폴더로 추출
  • Extract To… → Desktop이나 작업 폴더 같은 위치 선택

아카이브에 파일이 많다면, 전용 작업 폴더를 만들고 그 안으로 추출하는 것이 좋습니다. 그러면 Desktop(또는 Downloads)이 어지러워지지 않습니다.

4.3 GUI 추출의 장단점

GUI는 편리하지만, 강점과 한계가 있습니다.

장점

  • 외울 명령어가 없음
  • 오타 가능성이 적음 (입력 실수가 적음)
  • 초보자 친화적이고 빠르게 사용 가능

단점

  • 추출 세부 사항 제어 어려움 (예: 특정 파일만 추출, 로그 확인)
  • 오류 정보가 덜 유용함 (Terminal 출력이 문제 해결에 더 명확함)

Linux를 정기적으로 사용하거나 개발 작업을 한다면, 결국 Terminal 기반 추출을 배우는 것이 좋습니다—필요할 때 더 많은 제어를 제공합니다.

5. 고급: 특정 파일만 추출 (필요한 것만 가져오기)

보통 tar.gz 아카이브에서 모든 것을 추출합니다. 그러나 일부 경우에는 특정 파일만 추출하고 싶을 수 있습니다.

  • 대형 아카이브에서 하나의 파일만 필요
  • 먼저 config 파일이나 README 확인하고 싶음
  • 모든 것을 추출하는 데 시간을 낭비하고 싶지 않음

이때 “특정 파일만 추출”이 유용해집니다.

5.1 먼저 내용 미리 보기 (추출 없이 파일 목록 확인)

정확한 경로를 모르면 특정 파일을 추출하기 어렵기 때문에, 먼저 내용을 나열하세요.

tar -tf sample.tar.gz

출력 경로(파일 이름과 폴더 구조)를 확인하고 추출할 파일을 식별하세요.

예를 들어, 다음과 같은 것을 볼 수 있습니다:

  • sample/README.md
  • sample/config/default.conf
  • sample/bin/tool

5.2 기본 구문: 특정 파일만 추출

정확한 파일 경로를 알게 되면 다음과 같이 추출할 수 있습니다:

tar -xzvf sample.tar.gz sample/README.md

이 예에서 sample/README.md만 추출됩니다.

팁: tar -tf로 표시된 대로 경로를 정확히 복사하는 것이 가장 안전합니다.

5.3 아카이브 내부의 전체 폴더도 추출할 수 있음

때때로 하나의 파일이 아니라 특정 폴더 아래의 모든 것을 원할 수 있습니다.

예: sample/config/와 그 내용만 추출

tar -xzvf sample.tar.gz sample/config/

이것은 config 폴더 내부의 파일만 추출합니다.

5.4 왜 중요한가: 불필요한 파일 추출은 문제를 일으킬 수 있음

초보자의 흔한 실수는 생각 없이 모든 것을 추출하는 것으로, 다음과 같은 문제를 초래할 수 있습니다:

  • 작업 폴더가 어지러워짐
  • 물건이 어디 있는지 추적 불가
  • 비슷한 이름의 파일이 덮어쓰여짐

“먼저 미리 보고 필요한 것만 추출” 워크플로에 익숙해지면 Ubuntu 파일 처리 작업이 훨씬 쉽고 안전해집니다.

6. 일반 오류와 해결 (문제 해결 체크리스트)

tar.gz 파일 추출은 보통 간단하지만, 실제 사용 중에는 여전히 오류가 발생할 수 있습니다.
이 섹션에서는 Ubuntu 초보자들이 직면하는 가장 흔한 문제를 명확한 “원인 → 해결” 접근 방식으로 다룹니다.

6.1 tar: ...: Cannot open: No such file or directory (파일을 찾을 수 없음)

일반 원인

  • 명령을 잘못된 폴더에서 실행하고 있습니다
  • 파일 이름을 잘못 입력했습니다(대소문자 구분 포함)
  • 전체 확장자를 포함하지 않았습니다

해결 방법

먼저 현재 위치를 확인하세요:

pwd

그 다음 해당 폴더에 파일이 존재하는지 확인하세요:

ls

파일이 Downloads에 있다면, 해당 폴더로 이동하세요:

cd ~/Downloads
ls

마지막으로 올바른 파일 이름으로 명령을 다시 실행하세요:

tar -xzvf sample.tar.gz

6.2 tar: This does not look like a tar archive (tar 아카이브가 아님)

일반적인 원인

  • 파일 확장자는 .tar.gz이지만 실제 내용은 다른 형식입니다
  • 다운로드가 손상되었습니다(HTML 오류 페이지를 저장함)
  • 실제로는 zip 파일인데 tar.gz로 이름이 바뀌었습니다

해결 방법

다음 명령으로 파일 유형을 확인하세요:

file sample.tar.gz

만약 HTML document와 같은 결과가 보이면, 다운로드가 실패한 것입니다.
이 경우 파일을 다시 다운로드하고 다시 시도하세요.

6.3 gzip: stdin: not in gzip format (gzip 압축이 아님)

일반적인 원인

  • 실제로는 .tar.gz가 아니라 .tar였습니다
  • .gz 부분이 실제 gzip 형식이 아닙니다
  • 파일이 손상되었습니다

해결 방법

확장자를 다시 확인하세요. 만약 .tar 파일이라면 -z 옵션을 제거하고 실행하세요:

tar -xvf sample.tar

또한 파일이 손상되었는지 확인하려면 다음 검사가 유용합니다:

file sample.tar.gz

6.4 Permission denied (쓰기 권한 없음)

일반적인 원인

  • 시스템 디렉터리(예: /usr/local 또는 /)에 압축을 풀고 있습니다
  • 대상 폴더에 쓰기 권한이 없습니다
  • 외장 드라이브 마운트 시 권한 문제가 있습니다

초보자를 위한 안전한 해결 방법

가장 안전한 방법은 홈 디렉터리에서 작업하는 것입니다:

mkdir -p ~/work
tar -xzvf sample.tar.gz -C ~/work

정말로 관리자 전용 위치에 압축을 풀어야 한다면 sudo를 사용하세요:

sudo tar -xzvf sample.tar.gz -C /usr/local

하지만 초보자는 sudo를 과도하게 사용하지 않는 것이 좋습니다.
보다 안전한 작업 흐름: 먼저 홈 폴더에 압축을 푼 뒤 → 필요한 것만 이동.

6.5 압축은 성공했지만 “파일이 어디에 있는지 모름”

일반적인 원인

  • 압축을 풀 때 현재 디렉터리를 몰랐습니다
  • 압축 해제된 파일이 너무 많아 위치를 파악하지 못했습니다

해결 방법

먼저 압축을 푼 위치를 확인하세요:

pwd

그 다음 최근에 생성된 파일/폴더를 찾아보세요:

ls -lt

이 상황을 완전히 피하려면 처음부터 압축 해제 폴더를 지정하세요:

mkdir -p ~/work/extract
tar -xzvf sample.tar.gz -C ~/work/extract

6.6 압축 해제 후 파일 이름이 깨짐 (모지베이크)

tar.gz 아카이브에 일본어 파일명이 포함되어 있으면 환경에 따라 깨질 수 있습니다.
이는 아카이브를 만들 때 사용된 문자 인코딩 차이 때문에 발생합니다.

접근 방법

  • Ubuntu 로케일이 UTF-8로 설정되어 있는지 확인하세요
  • 그래도 안 된다면 다른 환경에서 압축을 풀고 파일을 복사하세요

로케일을 확인하는 예시 명령:

locale

대부분의 경우 LANG=ja_JP.UTF-8와 같은 결과가 나오면 인코딩 문제에 덜 걸릴 것입니다.

7. tar.gz 파일 만들기 (보너스: 패키징에도 유용)

이제 tar.gz 파일을 압축 해제하는 데 익숙해졌을 것입니다. 하지만 Ubuntu를 정기적으로 사용하다 보면 tar.gz 아카이브를 만들고 싶어지는 상황도 생깁니다, 예를 들어:

  • 전체 폴더를 하나의 파일로 전송
  • 백업 만들기
  • 여러 파일을 함께 정리·보관

따라서 이 섹션에서는 tar.gz 아카이브 생성 기본을 다루겠습니다.

7.1 기본 명령: 폴더를 tar.gz로 압축

예를 들어 myfolder라는 폴더를 압축하려면 다음을 실행하세요:

tar -czvf myfolder.tar.gz myfolder/

옵션의 의미는 다음과 같습니다:

  • -c : 생성
  • -z : gzip 압축 사용
  • -v : 자세한 출력
  • -f : 출력 파일 이름 지정

7.2 여러 파일을 함께 압축하기

여러 파일과 폴더를 하나의 아카이브로 묶을 수도 있습니다.

tar -czvf backup.tar.gz file1.txt file2.txt config/

같은 명령어에서 파일과 폴더를 혼합해도 작동합니다.

7.3 압축하기 전에 파일을 제외하고 싶을 때 (개념만)

실제 작업에서는 아카이브에 다음과 같은 특정 파일이 포함되지 않도록 하고 싶을 수 있습니다:

  • 캐시 파일
  • 대용량 로그 파일
  • 임시 파일

이러한 경우 --exclude 옵션을 사용할 수 있습니다. 하지만 초보자라면 보통 다음과 같이 간단히 하는 것으로 충분합니다:

  1. 아카이브에 넣고 싶은 파일만 작업 폴더에 모으기
  2. 해당 폴더를 tar.gz 아카이브로 압축하기

이 방법은 간단하며 대부분의 경우에 잘 작동합니다.

8. 요약: Ubuntu에서 tar.gz를 가장 빠르게 추출하는 방법

Ubuntu에서 tar.gz 파일을 가장 간단하게 추출하고 싶다면, 대부분의 경우 다음 한 줄 명령만으로 충분합니다:

tar -xzvf filename.tar.gz

실제 작업에서 실수를 방지하고 싶다면, 다음 세 가지 팁을 기억하세요:

  • 먼저 내용 미리 보기 : tar -tf filename.tar.gz
  • 추출 폴더 선택 : tar -xzvf filename.tar.gz -C destination
  • 실제 파일 유형 확인 : file filename.tar.gz

tar.gz 아카이브는 Ubuntu 어디에서든 볼 수 있으므로, 이 기본을 이해하면 일상 작업이 훨씬 원활해집니다.

FAQ (자주 묻는 질문)

Q1. Ubuntu에서 tar.gz 파일을 가장 쉽게 추출하는 방법은?

A. 가장 신뢰할 수 있는 방법은 터미널에서 다음 명령을 실행하는 것입니다:

tar -xzvf filename.tar.gz

Q2. 추출할 때 대상 폴더를 지정할 수 있나요?

A. 네. -C 옵션을 사용하여 추출 대상 폴더를 지정할 수 있습니다:

tar -xzvf sample.tar.gz -C ~/Desktop

Q3. 추출하지 않고 내용만 미리 볼 수 있나요?

A. 네. 다음 명령으로 내용을 목록화할 수 있습니다:

tar -tf sample.tar.gz

Q4. GUI(우클릭)로 tar.gz 파일을 추출할 수 있나요?

A. 네. Ubuntu 파일 관리자에서 tar.gz 파일을 우클릭하고 여기에 추출을 선택하면 압축을 풀 수 있습니다.

Q5. not a tar archive 오류가 발생하고 추출되지 않을 때

A. 파일이 손상되었거나 확장자가 실제 파일 유형과 일치하지 않을 수 있습니다. 다음 명령으로 확인해 보세요:

file sample.tar.gz

Q6. tar.gz 파일을 만드는 방법도 알고 싶어요

A. 폴더를 tar.gz 형식으로 압축하려면 다음 명령을 사용합니다:

tar -czvf archive.tar.gz foldername/