IT 소스/Linux

[Linux] 파일 압축, 해제하기 - tar (tape archive)

한량이야기 2024. 8. 21. 13:59
반응형

안녕하세요. 경제적, 시간적 자유를 꿈꾸는 한량입니다.

'tar' 명령어 설명

Linux - 파일 압축, 해제하기 - tar (tape archive)

 

'tar' 명령어는 일반적으로 'tarball'이라고 하는

아카이브 파일을 생성, 수정 및 추출하는 데

널리 사용되는 도구입니다.

'tar'라는 이름은 'tape archive'를 의미합니다.

원래 테이프와 같은 순차 저장 장치에 데이터를

기록하기 위해 설계되었기 때문입니다.

그러나 오늘날에는 여러 파일과 디렉터리를

단일 아카이브 파일로 결합하는 데 일반적으로 사용되며

공간을 절약하기 위해 압축할 수도 있습니다.

 

1. tar 기본 구문

tar 명령의 기본 구문은 다음과 같습니다.

tar [options] [archive-file] [file or directory to be archived]

 

options : 명령의 동작을 수정합니다.

archive-file : 생성, 추출 또는 조작하려는 아카이브 파일의 이름입니다.

file or directory to be archived : 아카이브에 포함하거나 아카이브에서 추출하려는 파일 또는 디렉터리를 지정합니다.

 

2. tar 명령어 주요 옵션

옵션 설명
-c 새로운 아카이브를 만듭니다.
-x 아카이브에서 파일을 추출합니다.
-v 터미널에 작업 진행 상황을 상세하게 보여줍니다.
-f 생성하거나 추출할 아카이브 파일의 이름을 지정합니다.
-t 압축을 풀지 않고 아카이브의 내용을 나열합니다.
-z gzip을 사용하여 아카이브를 압축 또는 압축 해제합니다.
-j bzip2를 사용하여 아카이브를 압축하거나 압축을 풉니다.
-J xz를 사용하여 아카이브를 압축 또는 압축 해제합니다.
-C 작업을 수행하기 전에 디렉토리를 변경합니다. 파일을 추출할 때 자주 사용됩니다.
-r 추가 파일을 기존 아카이브에 추가합니다.
--delete 파일을 아카이브에서 삭제합니다. 압축된 아카이브에서는 지원되지 않습니다.
--exclude 패턴에 따라 아카이브에서 파일 또는 디렉터리를 제외합니다.
-A tar 파일을 기존 아카이브에 추가합니다.
-u 최신 버전의 파일로 아카이브를 업데이트합니다.
--strip-
components
추출 시 파일 이름에서 지정된 수의 선행 구성요소를 제거합니다.

 

3. tar 명령 사용 예

'tar' 명령어가 어떻게 작동하는지 알아보기 위해 몇 가지 예를 살펴보겠습니다.

 

1. 아카이브 만들기

tar -cvf archive.tar /path/to/directory

'tar' 명령어 실행

'/path/to/directory'의 내용의 'archive.tar'라는 아카이브가 생성됩니다.

 

2. 아카이브 추출

tar -xvf archive.tar

'tar' 명령어 실행

현재 디렉터리에 있는 'archive.tar'의 내용을 추출합니다.

 

3. 아카이브 콘텐츠 나열

tar -tvf archive.tar

'tar' 명령어 실행

'archive.tar' 내부의 파일의 목록을 보여줍니다.

 

4. gzip을 사용하여 압축된 아카이브 만들기

tar -czvf archive.tar.gz /path/to/directory

'archive.tar.gz'라는 이름의 'gzip 압축' 아카이브가 생성됩니다.

 

5. 아카이브에서 특정 파일 추출

tar -xvf archive.tar file.txt

archive.tar에서 file.txt를 추출합니다.

 

6. 아카이브 생성 시 디렉터리 제외

tar -cvf archive.tar /path/to/directory --exclude='/path/to/directory/exclude_this'

아카이브가 생성되지만 지정된 디렉터리는 제외됩니다.

 

 

만약 현재 디렉터리의 모든 파일과 하위 디렉터리를

tar 아카이브로 압축하고 싶다면 다음 명령을 사용할 수 있습니다.

 

tar -cvf archiveName.tar ./*

 

./는 현재 디렉터리를 의미하고

*는 모든 파일 및 디렉터리와 일치하는 와일드카드입니다.

 

 

[Linux] 사용 가능한 디스크 공간의 양을 표시 - df (disk free)

안녕하세요. 경제적, 시간적 자유를 꿈꾸는 한량입니다.Linux - 사용 가능한 디스크 공간의 양을 표시 - df (disk free)'df' 명령어는 'disk free'의 약자로사용하는 파일 시스템에서 사용 가능한 디

hanryangitstory.tistory.com

 

반응형