nayoungs
항상 끈기있게
nayoungs
  • 분류 전체보기 (274)
    • Cloud (21)
      • AWS (15)
      • Azure (3)
      • NCP (2)
      • GCP (1)
    • DevOps (68)
      • Docker (16)
      • Kubernetes (50)
      • CICD (2)
    • IaC (25)
      • Ansible (17)
      • Terraform (8)
    • Certification (4)
    • 금융 IT (5)
    • AI (3)
    • Linux (47)
    • 미들웨어 (5)
    • Programming (7)
      • GoLang (3)
      • Spring (4)
    • CS (25)
      • 네트워크 (17)
      • 운영체제 (5)
      • Web (1)
      • 개발 상식 (2)
      • 데이터베이스 (0)
    • Algorithm (59)
      • 프로그래머스 (36)
      • 백준 (18)
      • 알고리즘 정리 (5)
    • ETC (5)

블로그 메뉴

  • 홈
  • 방명록

공지사항

인기 글

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
nayoungs

항상 끈기있게

Linux

[Linux] 파일 아카이브(Archive)

2022. 2. 22. 16:23
728x90

📌INDEX

  • 아카이브(archive)란?
  • tar
  • 아카이브 실습(문제)



✔️ 아카이브(Archive)란?

  • 리눅스에서 여러 파일을 한 파일로 묶는 것을 아카이브(archive)라 한다.
    • ''보따리''라고 생각하기
  • 다른 시스템과 파일 주고 받기, 기존 아카이브에서 파일의 추출, 백업 등을 위해 사용
  • 파일의 메타 데이터가 포함되기 때문에, 파일의 용량이 없더라도 아카이브에는 용량 존재
  • .tar 확장자 사용
  • 일반 아카이브는 묶어만 주기 때문에, 압축률은 0이다.



 

 

✔️ tar

  • 파일 아카이브 및 압축에 사용하는 명령어
  • 특정: 아카이브 생성 시 피드백 없이 덮어쓴다.
    • 이전 파일로 돌아갈 수 있으므로 주의해야한다.
    • 묶인 파일이 풀릴 때에도 이전으로 돌아가면서 덮어씌워지기 때문에 주의
  • 파일의 소유권 및 권한을 저장
  • 여러 파일을 묶어서 한 번에 압축 가능
  • 추출 시 현재 작업 디렉토리로 추출된다.
  • 옵션
    • c : create, 새로운 묶음 생성
    • x : extract, 묶인 파일 풀기
    • t : list, 묶음을 풀기 전에 목록 출력
    • f : file, 묶음 파일명 지정
    • v : visual, 파일이 묶이거나 풀리는 과정 출력
    • z : tar + gzip
    • j : tar + bzip2
    • J : Tar + xz
    • -C : 압축을 해제할 때, 해제할 디렉토리 지정
    • 많이 사용하는 조합 : cvf(생성), tvf(확인), xvf(해제)
  • 아카이브 생성 : tar cvf [생성될 아카이블 파일명] [아카이브할 파일·디렉토리]
  • 아카이브 추출(해체) : tar -xvf [대상tar]
  • 압축
    • gzip : tar -zcvf [이름] [대상파일]
    • bzip2 : tar -jcvf [이름] [대상파일]
    • xz : tar -Jcvf [이름] [대상파일]

 

사용 예

  • 아카이브 생성 : tar cvf
[root@localhost ~]# tar cvf xinetd.tar /etc/xinetd.d/
  • 아카이브 생성 + gzip 압축 : tar zcvf
[root@localhost ~]# tar cvzf xinetd.tar.gz /etc/xinetd.d/
  • 아카이브 생성 + bzip2 압축 : tar jcvf
[root@localhost ~]# tar cvjf xinetd.tar.bz2 /etc/xinetd.d/
  • 아카이브 생성 + xz 압축 : tar Jcvf
[root@localhost ~]# tar cvJf xinetd.tar.xz /etc/xinetd.d/
  • 확인 : tar tvf
[root@localhost ~]# tar tvf xinetd.tar
  • 풀기 : tar xvf
[root@localhost ~]# tar xvf xinetd.tar
  • gzip 압축 해제 + tar 풀기 : tar xvzf
[root@localhost ~]# tar xvzf xinetd.tar.gz



 

 

✔️ 아카이브 실습(문제)

  1. /usr/bin 디렉토리를 아카이브 및 압축 (gzip, bzip2, xz) 해보자
[root@localhost ~]# tar -cvf bin.tar /usr/bin
[root@localhost ~]# tar -zcvf bin.tar.gz /usr/bin
[root@localhost ~]# tar -jcvf bin.tar.bz2 /usr/bin
[root@localhost ~]# tar -Jcvf bin.tar.xz /usr/bin
  1. 1번에서 압축한 파일 중 xz 파일을 /tmp 에 압축해제해보자
[root@localhost ~]# tar -Jxvf bin.tar.xz -C /tmp
  1. centos 홈 디렉토리의 모든 파일을 아카이브해서 gzip 방식으로 압축해보자.
[root@localhost ~]# tar -zcvf centos.tar.gzip ~centos/
  1. 3번에서 압축한 파일을 /tmp/dir01 디렉토리에 해제해보자
[root@localhost ~]# tar -zxvf centos.tar.gzip -C /tmp/dir01
 
  1. 아카이브 된 파일의 내용을 보고 싶을 때 사용하는 명령어와 옵션을 작성해보자
[root@localhost ~]# tar -tvf [아카이브된 파일명]

 

 

728x90
저작자표시
    'Linux' 카테고리의 다른 글
    • [Linux] 권한 확장(SetUID,SetGID,Stickybit)과 ACL(Access Control List)
    • [Linux] 시스템 사용자, 그룹 관리
    • [Linux] 시스템 프로세스 관리(Process Management)
    • [Linux] shell 메타문자(Metacharacter)
    nayoungs
    nayoungs
    안되면 될 때까지

    티스토리툴바