Computer >> 컴퓨터 >  >> 문제 해결 >> Linux

리눅스에서 TAR 명령어로 파일과 폴더를 아카이브하는 방법

아카이브(Archive)는 수많은 폴더와 파일을 하나의 파일 안에 담아 보관할 수 있는 특수한 형식의 파일입니다. 아카이브가 효과적인 이유는 내부에 포함된 파일과 폴더들이 원래의 디렉터리 구조를 그대로 유지하며, 압축 해제 시에도 이 구조가 그대로 복원되기 때문입니다.

파일과 폴더를 아카이브할 때 사용할 수 있는 형식은 여러 가지가 있으며, 그중 하나가 바로 TAR(Tape Archive) 형식입니다. 리눅스와 유닉스(Unix) 시스템에서 널리 사용되는 TAR 파일은 흔히 타르볼(tarball)이라고도 불리며, 통합 유닉스 아카이브(Consolidated Unix Archive) 형식으로 저장됩니다.

TAR 형식은 대량의 데이터를 저장하기 위한 용도로만 사용되며, 그 자체로는 압축 기능이 없습니다. 다만 TAR 파일을 생성한 후 별도로 압축하는 경우가 많은데, 이때는 더 이상 TAR 파일이 아니라 TGZ 파일(.tar.gz)이 됩니다.

리눅스나 유닉스에서 TAR 파일을 만드는 과정은 매우 간단합니다. 터미널(Terminal)을 열고 필요한 명령어를 입력하기만 하면 됩니다.

1단계: 터미널 열기

리눅스 시스템을 사용 중이라면 Ctrl + Alt + T 키 조합을 눌러 새 터미널 창을 실행할 수 있습니다. 단축키가 작동하지 않거나 다른 방식을 선호한다면 아래 방법을 따라 하세요.

  1. 화면 좌측 상단의 Dash(대시) 버튼을 클릭하거나, 키보드의 Windows 로고 키를 눌러 대시 화면을 엽니다.
  2. 검색창에 "terminal"을 입력하고 Enter 키를 누릅니다.
  3. 검색 결과에서 Terminal 항목을 클릭합니다.

유닉스 시스템을 사용 중인 컴퓨터라면 다음 순서로 진행합니다.

  1. 화면 상단 도구 모음에서 Applications(응용 프로그램) 또는 Accessories(보조 프로그램) 메뉴를 클릭합니다.
  2. 열린 메뉴에서 Terminal을 선택하면 즉시 새 터미널 창이 열립니다.

2단계: 터미널에 명령어 입력하기

터미널이 준비되었다면 이제 필요한 명령어를 입력할 차례입니다. 어떤 명령어를 사용할지는 전체 폴더와 그 안의 모든 하위 디렉터리·파일을 한 번에 아카이브할 것인지, 아니면 특정 파일 몇 개만 골라서 아카이브할 것인지에 따라 달라집니다.

폴더 전체를 아카이브하는 경우

디렉터리 하나와 그 안의 모든 내용물을 TAR 파일로 묶으려면 터미널에 아래 명령어를 입력하고 Enter 키를 누릅니다.

tar -cvf X.tar /path/to/folder

참고: 위 명령어에서 X는 생성할 TAR 파일의 이름으로 바꾸고, /path/to/folder는 아카이브하려는 폴더(또는 파일)의 전체 경로로 바꿔야 합니다. 예를 들어 /myfiles/ 폴더를 Files라는 이름의 아카이브로 만들고 싶다면 최종 명령어는 다음과 같습니다.

tar -cvf Files.tar /usr/local/myfiles

특정 파일만 아카이브하는 경우

반대로 지정한 파일 몇 개만 TAR 형식으로 아카이브하고 싶다면 아래 명령어를 입력하고 Enter 키를 누릅니다.

tar -cvf X.tar /path/to/file1 /path/to/file2

참고: 위 명령어에서 X는 생성할 TAR 파일 이름으로 교체하고, /path/to/file1에는 첫 번째 파일의 전체 경로, /path/to/file2에는 두 번째 파일의 전체 경로를 입력합니다. 이후에도 같은 방식으로 경로를 계속 추가할 수 있으며, 반드시 각 경로 사이를 공백으로 구분해 주어야 합니다.

명령어 옵션 알아보기

위 명령어에 포함된 옵션들의 의미는 다음과 같습니다.

  • -c (create): 새로운 아카이브를 생성합니다.
  • -v (verbose): 처리 과정을 화면에 자세히 출력합니다.
  • -f (file): 생성할 아카이브 파일의 이름을 지정합니다.

만약 아카이브를 생성하면서 동시에 gzip으로 압축까지 진행하고 싶다면 -z 옵션을 추가하여 tar -czvf Files.tar.gz /usr/local/myfiles처럼 입력하면 됩니다. 이 경우 결과물은 TGZ 형식의 압축 파일이 됩니다.