Linux / 명령어 / xz - 파일을 xz 형식으로 압축하기

xz는 파일을 .xz 형식으로 압축합니다. 개별 파일 압축 도구이므로 디렉터리 구조를 함께 보관하려면 tar와 결합해야 합니다.

xz 명령어란?

기본적으로 file을 file.xz로 바꾸고 원본을 제거합니다. -k는 원본 보존, -c는 표준 출력, -T는 압축 스레드 수 지정에 사용합니다. 높은 압축 수준은 처리 시간과 메모리 사용량이 늘 수 있으므로 무조건 최대값을 선택할 필요는 없습니다.

기본 문법

xz [옵션] [파일 ...]

설치된 구현과 옵션은 배포판에 따라 다를 수 있습니다. man xz으로 현재 시스템의 설명을 확인하세요.

사용 예제

원본 유지하며 압축

-k로 입력 파일을 남깁니다.

xz -k database.sql

압축 결과를 별도 이름으로 저장

표준 출력으로 압축 데이터를 보냅니다. 대상 파일의 존재 여부를 먼저 확인합니다.

xz -c database.sql > database-copy.sql.xz

압축 파일 검사

실제 추출 파일을 만들지 않고 압축 데이터 오류를 확인합니다.

xz -t database.sql.xz

xz 압축과 테스트 결과

xz는 단일 파일을 .xz 형식으로 압축합니다. 기본적으로 원본을 대체하므로 원본을 보존하려면 -k를 사용합니다.

xz -k note.txt
xz -t note.txt.xz
ls note.txt*

예시 출력:

note.txt  note.txt.xz

xz -t는 압축 데이터 구조를 검사하며 정상일 때 일반적으로 메시지가 없습니다. 이미 .xz 파일이 존재하면 덮어쓰지 않고 실패하거나 확인을 요구할 수 있습니다. 여러 파일을 한 파일로 묶는 용도라면 tar -cJf처럼 아카이브와 압축을 결합하세요.

주요 옵션과 형식

옵션·형식 설명
-k 처리한 입력 파일을 유지합니다.
-c 결과를 표준 출력으로 보냅니다.
-t 압축 파일을 검사합니다.
-0 ... -9 압축 수준을 선택합니다.
-T 스레드수 압축 작업의 스레드 수를 지정합니다.

사용할 때 주의할 점

기본 실행은 원본 파일을 제거합니다. -9e처럼 높은 설정은 메모리와 시간이 더 들 수 있고 복원 환경의 제약도 고려해야 합니다. .xz는 다중 파일 아카이브가 아니며, 파일 보안이나 암호화를 제공하지 않습니다.

자주 묻는 질문

xz와 tar.xz의 차이는 무엇인가요?

.xz는 보통 파일 하나의 압축 스트림이고, .tar.xz는 tar로 여러 파일을 묶은 뒤 xz로 압축한 아카이브입니다.

공식 문서

옵션의 정확한 동작과 구현별 차이는 xz 관련 공식 문서에서 확인할 수 있습니다.

같은 카테고리의 다른 글
Linux / 명령어 / uname - 커널과 시스템 아키텍처 확인

Linux / 명령어 / uname - 커널과 시스템 아키텍처 확인

Linux uname 명령어의 기능과 기본 문법을 설명합니다. 실제 사용 예제, 주요 옵션과 작업 전 확인할 점을 알아봅니다.

Linux / 명령어 / df - 파일 시스템의 남은 용량 확인

Linux / 명령어 / df - 파일 시스템의 남은 용량 확인

Linux df 명령어의 기능과 기본 문법을 설명합니다. 실제 사용 예제, 주요 옵션과 작업 전 확인할 점을 알아봅니다.

Linux / 명령어 / chown - 파일 소유자와 그룹 변경

Linux / 명령어 / chown - 파일 소유자와 그룹 변경

Linux chown 명령어의 기본 문법과 실제 사용 예제를 설명합니다. 주요 옵션과 결과를 해석할 때 주의할 점을 확인할 수 있습니다.

Linux / 명령어 / zypper - openSUSE·SUSE에서 패키지와 저장소 관리

Linux / 명령어 / zypper - openSUSE·SUSE에서 패키지와 저장소 관리

Linux zypper 명령어의 적용 배포판과 기본 작업을 설명합니다. 패키지 조회·설치 예제, 주요 옵션과 시스템 변경 시 주의점을 알아봅니다.

Linux / 명령어 / xargs - 표준 입력을 명령 인수로 전달

Linux / 명령어 / xargs - 표준 입력을 명령 인수로 전달

Linux xargs 명령어의 기본 문법과 실제 사용 예제를 설명합니다. 주요 옵션과 결과를 해석할 때 주의할 점을 확인할 수 있습니다.

Linux 강좌 / 파일과 디렉터리 관리 - 생성·복사·이동·삭제

Linux 강좌 / 파일과 디렉터리 관리 - 생성·복사·이동·삭제

실습 폴더에서 파일과 디렉터리를 만들고 복사·이동·삭제해 봅니다. 덮어쓰기와 삭제 전에 경로와 결과를 확인하는 습관도 익힙니다.

Linux / 명령어 / tmux - 터미널 세션 분리·재접속

Linux / 명령어 / tmux - 터미널 세션 분리·재접속

Linux tmux 명령어의 기본 문법과 실제 사용 예제를 설명합니다. 주요 옵션과 결과를 해석할 때 주의할 점을 확인할 수 있습니다.

Linux / 명령어 / reboot - 시스템 안전하게 재시작

Linux / 명령어 / reboot - 시스템 안전하게 재시작

Linux reboot 명령어의 기능과 기본 문법을 설명합니다. 실제 사용 예제, 주요 옵션과 작업 전 확인할 점을 알아봅니다.

Linux / 명령어 / chgrp - 파일 소유 그룹 변경

Linux / 명령어 / chgrp - 파일 소유 그룹 변경

Linux chgrp 명령어의 기본 문법과 실제 사용 예제를 설명합니다. 주요 옵션과 결과를 해석할 때 주의할 점을 확인할 수 있습니다.

Linux / 명령어 / cat - 파일 내용 출력과 결합

Linux / 명령어 / cat - 파일 내용 출력과 결합

Linux cat 명령어로 텍스트 파일을 출력하고 여러 파일을 이어 붙이는 방법을 설명합니다. 줄 번호 표시, 빈 줄 압축, 리디렉션과 큰 파일 처리 시 주의점도 정리합니다.