1. Ubuntu에서 압축 및 추출에 대한 기본 지식
Ubuntu에서 “압축”을 수행하는 주요 목적은 다음 세 가지입니다:
- 저장 공간을 절약하기 위해 파일 크기 감소
- 전송 및 공유를 위해 여러 파일을 하나로 묶음
- 백업 및 아카이브 생성 (저장을 위한 패키지 세트)
Ubuntu에서는 명령줄(터미널) 작업이 표준입니다. GUI(파일 관리자)를 통해서도 할 수 있지만, 실제 작업 및 서버 환경에서는 명령줄 사용이 일반적입니다.
먼저 이해해야 할 핵심 포인트는 “압축”과 “아카이브”가 서로 다른 개념이라는 점입니다.
1.1 압축과 아카이브의 차이점
대부분의 초보자가 혼란스러워하는 부분입니다.
- Compression → 데이터 크기를 줄이는 처리 예시: gzip, bzip2, xz
- Archive → 여러 파일 및 폴더를 하나의 파일로 묶는 처리 예시: tar
중요한 사실
tar 명령은 “압축”이 아닙니다.
엄밀히 말하면, “묶기만” 하는 명령입니다.
동시에 압축하려면 gzip이나 xz와 결합하면 됩니다.
예시:
tar -czvf archive.tar.gz folder/
의미:
c= 생성z= gzip 압축v= 자세한 출력 (처리된 항목 표시)f= 출력 파일 이름 지정
1.2 Ubuntu에서 일반적인 압축 형식
다음 형식들은 Ubuntu에서 일반적으로 사용됩니다.
| Format | Features | Main use |
|---|---|---|
| zip | High Windows compatibility | Sharing with other OSes |
| tar.gz | Linux standard format | General-purpose compression |
| tar.bz2 | Higher compression than gzip | Prioritize smaller size |
| tar.xz | Very high compression | Large datasets |
선택 기준
- Windows와 공유 → zip
- Linux 내에서 사용 → tar.gz
- 용량이 최우선 → tar.xz
1.3 압축 전 확인해야 할 기본 명령
현재 디렉터리 확인:
pwd
파일 목록 보기:
ls -l
크기 확인:
du -sh folder/
흔히 겪는 실수 포인트
- 현재 디렉터리를 확인하지 않고 명령을 실행해 파일이 예상치 못한 위치에 생성되는 경우
- 상대 경로를 잘못 입력 (
../folder등) - 압축 전 크기 확인을 건너뛰어 디스크 공간이 부족해지는 경우
1.4 흔한 오해와 주의사항
1. 이미지와 비디오는 크게 압축되지 않음
JPEG와 MP4는 이미 압축된 형식이므로 크기가 크게 줄어들지 않습니다.
2. tar만으로는 크기가 감소하지 않음
다음은 “묶기만” 합니다.
tar -cvf archive.tar folder/
크기는 거의 동일하게 유지됩니다.
3. 대용량 파일은 CPU 부하를 증가시킴
xz를 사용할 때 특히 CPU 사용량이 크게 증가할 수 있습니다.
4. 권한 오류에 주의
시스템 디렉터리를 다룰 경우 sudo가 필요합니다.
2. Ubuntu에서 zip 형식으로 압축 및 추출하는 방법
zip 형식은 Ubuntu와 Windows 간 파일 교환 시 가장 호환성이 높습니다.
“ubuntu compression”을 검색하는 많은 사용자는 먼저 zip을 찾습니다.
Ubuntu에서는 zip과 unzip 명령을 사용합니다.
먼저, 이들이 설치되어 있는지 확인합니다.
2.1 zip이 설치되어 있는지 확인
다음 명령으로 확인할 수 있습니다:
zip -v
오류가 발생하면 설치합니다:
sudo apt update
sudo apt install zip unzip
흔한 실수
- unzip이 설치되지 않아 추출할 수 없음
- sudo를 빼먹어 “Permission denied” 오류 발생
2.2 zip으로 파일 압축하는 방법
단일 파일 압축:
zip sample.zip file.txt
결과:
sample.zip이 생성됨- 원본 파일은 삭제되지 않음
여러 파일을 함께 압축
zip sample.zip file1.txt file2.txt
2.3 폴더 압축 방법 (중요)
폴더를 압축할 때는 -r 옵션(재귀)이 필요합니다.
zip -r sample.zip folder/
-r 옵션을 생략하면 폴더 내부 파일이 압축되지 않습니다.
흔히 겪는 실수 포인트
-r옵션을 빼먹음- 상대 경로를 잘못 입력
- 명령 순서를 잘못 지정(출력 파일명이 먼저 옴)
올바른 순서:
zip -r output.zip target_folder
2.4 zip 파일 추출 방법
기본 명령:
unzip sample.zip
지정된 폴더에 추출:
unzip sample.zip -d extracted_folder
Notes
- 대상이 이미 존재하면 덮어쓰기를 확인하라는 메시지가 표시됩니다
- 동일한 이름의 파일이 존재하면 덮어쓰일 수 있습니다
- 경로에 공백이 포함된 경우 따옴표로 감싸세요
Example:
unzip "sample file.zip"
2.5 비밀번호 보호 zip 생성
보안 목적으로 암호화할 수 있습니다.
zip -e secure.zip file.txt
비밀번호 입력을 요청받습니다.
Notes
- zip 암호화는 매우 강력하지 않습니다 (고보안 용도로 적합하지 않음)
- 비밀번호를 잃어버리면 복구가 어렵습니다
2.6 크기 및 압축 비율 확인
zip 파일 정보 표시:
unzip -l sample.zip
원본 크기와 비교:
ls -lh
압축 비율이 낮을 수 있는 이유
- 이미지/비디오는 이미 압축되어 있습니다
- 텍스트와 로그는 보통 잘 압축됩니다
3. tar.gz (tgz)로 압축하는 방법 (Linux 표준)
Linux 환경에서 가장 일반적으로 사용되는 형식은 tar.gz입니다.
Ubuntu에서 소스 코드 배포 및 백업에 널리 사용됩니다.
tar.gz는 두 단계 과정입니다:
- tar로 파일을 묶기 (아카이브)
- gzip으로 압축
이 메커니즘을 이해하면 고급 사용이 더 쉬워집니다.
3.1 tar.gz 아카이브 생성 기본 명령어
예: 폴더 압축
tar -czvf archive.tar.gz folder/
각 옵션의 의미:
c= 생성z= gzip 압축v= 상세 출력 (처리된 항목 표시)f= 파일 (출력 파일 이름 지정)
단일 파일
tar -czvf archive.tar.gz file.txt
여러 파일
tar -czvf archive.tar.gz file1.txt file2.txt
3.2 tar.gz 아카이브 추출 방법
기본 명령어:
tar -xzvf archive.tar.gz
옵션 분석:
x= 추출z= gzip 압축 해제v= 추출된 항목 표시f= 파일 지정
특정 디렉터리로 추출
tar -xzvf archive.tar.gz -C target_folder/
-C는 대상 디렉터리를 지정합니다.
3.3 tar 사용 시 중요한 주의사항
1. 추출된 경로 구조 주의
생성 시 디렉터리 구조가 추출 시 보존됩니다.
Example:
tar -czvf archive.tar.gz folder/
추출 시:
folder/
└─ contents
“내용만 추출”하려면 아카이브 생성 시 경로를 조정해야 합니다.
2. 실수로 덮어쓰기 주의
파일이 이미 존재하면 덮어쓰일 수 있습니다.
미리 확인하려면:
tar -tzvf archive.tar.gz
-t는 아카이브 내용을 나열합니다.
3. 디스크 공간 부족
압축 시 일시적으로 추가 공간을 사용할 수 있습니다.
미리 확인:
df -h
3.4 gzip만으로 압축
단일 파일만 압축:
gzip file.txt
결과:
file.txt.gz
압축 해제:
gunzip file.txt.gz
Note
- gzip은 원본 파일을 제거합니다 (압축 후 대체)
- 여러 파일을 묶는 데 적합하지 않습니다
3.5 흔한 실수
- 옵션 순서 혼동
f뒤에 파일 이름을 잊음-C를 잘못된 위치에 배치- tar만으로 크기가 줄어든다고 오해
4. 고압축 형식 선택 (bz2 / xz)
가능한 한 크기를 줄이고 싶다면 gzip보다 일반적으로 더 잘 압축되는 bzip2 (bz2) 또는 xz를 사용하세요.
그러나 압축 비율이 높을수록 CPU 부하가 증가하고 처리 시간이 길어지는 경향이 있습니다.
기본 지침은 다음과 같습니다:
- 속도 우선 → gzip
- 압축 비율 우선 → xz
- 중간 → bzip2
4.1 tar.bz2 생성 및 추출
압축 방법
tar -cjvf archive.tar.bz2 folder/
옵션 분석:
c= 생성j= bzip2 압축v= 상세 출력f= 출력 지정
추출 방법
tar -xjvf archive.tar.bz2
4.2 tar.xz 생성 및 추출
xz는 현재 Linux에서 가장 높은 압축 비율을 가진 형식 중 하나입니다.
.
압축 방법
tar -cJvf archive.tar.xz folder/
Note: J must be uppercase (important). → 참고: J는 대문자여야 합니다(중요).
압축 해제 방법
tar -xJvf archive.tar.xz
4.3 압축 비율 및 처리 시간 차이
General trends (varies by environment): → 일반적인 추세(환경에 따라 다름):
- gzip → fast, standard compression ratio
- bzip2 → higher compression than gzip, somewhat slower
- xz → very high compression, slowest
CPU 부하 확인
top
It’s normal for CPU usage to rise when compressing large files with xz. → xz로 큰 파일을 압축할 때 CPU 사용량이 증가하는 것은 정상입니다.

4.4 실제 작업에서 선택 방법
백업용
→ tar.xz (작은 크기 우선)
서버 로그 저장용
→ tar.gz (균형)
임시 전송용
→ tar.gz or zip
4.5 일반적인 실수와 주의사항
- Typing
Jin lowercase and getting an error - xz not installed on older environments
- Server becomes slow due to CPU load
- Running out of space during compression
If xz is not installed:
sudo apt install xz-utils
5. GUI(파일 관리자)로 압축하는 방법
If you’re not comfortable with command-line operations, you can compress using Ubuntu’s file manager (usually “Files” = Nautilus).
On desktop environments, this is the easiest method. → 명령줄 작업에 익숙하지 않다면 Ubuntu 파일 관리자(보통 “Files” = Nautilus)를 사용해 압축할 수 있습니다. 데스크톱 환경에서는 가장 쉬운 방법입니다.
5.1 우클릭으로 압축하는 단계
단계
- Select the file or folder you want to compress
- Right-click
- Select “Compress”
Select a format wp:list /wp:list
- .zip
- .tar.xz
- .7z (may appear depending on the environment) 5. Click “Create”
The compressed file is created in the same directory.
5.2 압축 해제 방법
단계
- Right-click the compressed file
- Select “Extract Here” or “Extract To…”
- Extraction completes
5.3 GUI를 사용할 수 없을 때 확인
On minimal install environments or Ubuntu Server, the GUI is not available.
In that case, you must use command-line operations. → 최소 설치 환경이나 Ubuntu Server에서는 GUI를 사용할 수 없습니다. 이 경우 명령줄 작업을 사용해야 합니다.
Check desktop environment:
echo $XDG_CURRENT_DESKTOP
If nothing is shown, you may not have a GUI environment. → 아무것도 표시되지 않으면 GUI 환경이 없을 수 있습니다.
5.4 GUI 사용 시 주의사항
1. 많은 파일을 처리할 때 느릴 수 있음
The progress indicator may be hard to understand. → 진행 표시기가 이해하기 어려울 수 있습니다.
2. 세부 압축 레벨 지정 불가
You can’t set gzip levels in the GUI. → GUI에서는 gzip 레벨을 설정할 수 없습니다.
3. CPU 사용량 확인 어려움
If the PC becomes slow during processing, it may be hard to understand why. → 처리 중 PC가 느려지면 그 이유를 파악하기 어려울 수 있습니다.
4. 서버 사용에 부적합
Not available in SSH-based environments. → SSH 기반 환경에서는 사용할 수 없습니다.
5.5 일반적인 실수
- Selecting a compression format without understanding the differences
- Not checking the destination and then “losing” the extracted files
- Overwriting existing files
6. 실제 작업을 위한 실용적인 압축 기법
Here we explain techniques that come up frequently in real work and server operations, beyond simple compression/extraction.
These include excluding logs, compressing only specific extensions, and password-protected zip—highly practical operations. → 여기서는 단순 압축/해제 외에도 실제 작업 및 서버 운영에서 자주 사용되는 기법들을 설명합니다. 로그 제외, 특정 확장자만 압축, 비밀번호 보호 zip 등 실용적인 작업을 포함합니다.
6.1 특정 파일 확장자만 압축
Example: compress only log files → 예시: 로그 파일만 압축
tar -czvf logs.tar.gz *.log
노트
*(wildcard) is expanded by the shell automatically- Only targets files in the current directory
- Subfolders are not included
To include subfolders as well:
find . -name "*.log" -print0 | tar --null -czvf logs.tar.gz --files-from=-
6.2 압축 시 특정 파일 제외
Example: exclude .log files → 예시: .log 파일 제외
tar --exclude="*.log" -czvf archive.tar.gz folder/
Exclude multiple patterns:
tar --exclude="*.log" --exclude="*.tmp" -czvf archive.tar.gz folder/
일반적인 실수
- Omitting quotes and causing the wildcard to expand
- Mistyping the exclude path
6.3 압축 레벨 지정(gzip)
gzip allows specifying the compression level (1–9). → gzip는 압축 레벨(1–9)을 지정할 수 있습니다.
gzip -9 file.txt
- 1 = fast, low compression → 1 = 빠름, 낮은 압축
- 9 = slow, high compression → 9 = 느림, 높은 압축
When specifying via tar: → tar를 사용할 때:
tar -czvf archive.tar.gz folder/ --gzip -9
참고: 환경에 따라 구문이 다를 수 있습니다.
6.4 비밀번호 보호된 zip 생성
zip -e secure.zip file.txt
암호화를 강제하려면:
zip -P password secure.zip file.txt
주의
-P는 쉘 히스토리에 남기 때문에 권장되지 않습니다- zip 암호화는 강력하지 않습니다 (고보안 용도로 적합하지 않음)
6.5 대용량 파일을 위한 아카이브 분할
대용량 아카이브를 분할하려면:
zip -r -s 100m split.zip folder/
100MB 단위로 분할됩니다.
주의
- 추출을 위해 모든 분할 부분이 필요합니다
- 일부가 누락되거나 손상되면 복구가 불가능합니다
6.6 압축 전후 크기 비교
압축 전:
du -sh folder/
압축 후:
ls -lh archive.tar.gz
낮은 압축 비율의 일반적인 이유:
- 이미 압축된 데이터 (이미지/비디오 등)
- 암호화된 데이터는 압축이 잘 되지 않습니다
7. 압축 중 발생하는 일반적인 오류와 해결 방법
Ubuntu에서 압축/추출 시 초보자가 자주 마주하는 일반적인 오류입니다.
대표적인 오류와 구체적인 해결 방법을 소개합니다.
7.1 “command not found” 오류
예시:
zip: command not found
원인
명령어가 설치되지 않았습니다.
해결 방법
sudo apt update
sudo apt install zip unzip
tar 관련 도구의 경우:
sudo apt install xz-utils
7.2 “Permission denied”
예시:
tar: folder/file.txt: Cannot open: Permission denied
원인
파일이나 디렉토리에 접근할 권한이 부족합니다.
해결 방법
소유권 확인:
ls -l
sudo 사용:
sudo tar -czvf archive.tar.gz folder/
주의
sudo를 과도하게 사용하면 보안 위험이 증가합니다.
7.3 “No space left on device”
예시:
No space left on device
원인
디스크 공간이 부족합니다.
확인 방법
df -h
불필요한 파일 제거:
sudo apt clean
디스크 사용량 확인:
du -sh *
7.4 추출 시 파일 이름 깨짐
Windows에서 생성된 zip 파일을 받았을 때 발생할 수 있습니다.
원인
문자 인코딩 차이 (UTF-8 vs Shift-JIS 등).
예시 수정
unzip -O cp932 sample.zip
참고: 환경에 따라 다릅니다.
7.5 실수로 인한 덮어쓰기
추출 중 기존 파일이 덮어쓰일 수 있습니다.
미리 확인:
tar -tzvf archive.tar.gz
zip의 경우:
unzip -l sample.zip
7.6 높은 CPU 부하
xz 압축 중 CPU 사용량이 증가하는 것은 정상입니다.
확인:
top
필요 시 압축 수준을 낮추거나 gzip으로 전환하세요.
8. 요약: Ubuntu 압축 명령어 선택 (빠른 참조)
실제 사용 사례에 기반한 요약입니다.
“ubuntu 압축”을 검색하는 사용자가 빠르게 결론에 도달할 수 있도록 합니다.
8.1 사용 사례별 추천 형식
| Use case | Recommended format | Reason |
|---|---|---|
| Sharing with Windows | zip | High compatibility |
| Standard use within Linux | tar.gz | Good balance |
| Size is the top priority | tar.xz | High compression |
| Backup storage | tar.gz / tar.xz | Prioritize stability |
| Temporary transfer | tar.gz | Prioritize speed |
8.2 형식 비교 (속도 vs 압축 비율)
| Format | Compression ratio | Speed | CPU load |
|---|---|---|---|
| zip | Normal | Fast | Low |
| tar.gz | Normal | Fast | Low to medium |
| tar.bz2 | High | Slow | Medium |
| tar.xz | Very high | Very slow | High |
참고: 압축 비율과 속도는 데이터와 환경에 따라 다릅니다.
8.3 반드시 외워야 할 최소 명령어
zip 압축
zip -r archive.zip folder/
tar.gz 압축
tar -czvf archive.tar.gz folder/
tar.gz 추출
tar -xzvf archive.tar.gz
8.4 초보자를 위한 간단한 결론
- 확실하지 않으면 tar.gz를 사용하세요
- Windows 공유가 필요하면 zip을 사용하세요
- 가장 작은 크기를 원하면 tar.xz를 사용하세요
최우선으로 tar -czvf와 tar -xzvf를 외우세요.
8.5 일반적인 잘못된 선택
- tar만으로 압축이 된다고 오해
- 항상 xz를 선택해 처리 속도를 늦춤
- GUI와 CLI의 차이를 이해하지 않음
- 압축 전에 디스크 사용량을 확인하지 않음

