tar
- 여러 파일을 디렉토리 구조, 파일 속성들을 보존하면서 하나의 큰 파일로 묶는 데 주로 사용됨 (원래는 tape archive 의 약자)
- 파일 아카이브 및 압축은 백업을 만들고 네트워크 간에 데이터를 전송할 때 유용함
- tar을 사용하면 많은 파일을 단일 파일(아카이브)에 모을 수 있음
- tar 명령은 아카이브의 콘텐츠를 나열하거나 파일을 현재 시스템으로 추출할 수도 있음
tar명령어
옵션 | 설명 |
-c, --create | 새 아카이브 만들기. |
-x, --extract | 기존 아카이브에서 추출. |
-t, --list | 아카이브의 목차를 나열합니다. |
-v, --verbose | 자세한 정보를 표시합니다. 보관 또는 추출되는 파일을 표시합니다. |
-f, --file= | 파일 이름입니다. 이 옵션 다음에는 사용 또는 생성할 아카이브의 파일 이름이 와야 합니다. |
-p, --preserve-permissions | 아카이브를 추출할 때 umask를 제거하지 않고 파일 및 디렉터리에 대한 권한을 보존합니다. |
-z, --gzip | gzip 압축을 사용합니다(.tar.gz). |
-j, --bzip2 | bzip2 압축을 사용합니다(.tar.bz2). 일반적으로 bzip2가 gzip보다 압축률이 더 높습니다. |
-J, --xz | xz 압축을 사용합니다(.tar.xz). 일반적으로 xz 압축이 bzip2보다 압축률이 더 높습니다. |
1. tar 아카이브 생성
- tar 아카이브를 만들기 전에 새로 만들 아카이브와 이름이 같은 아카이브가 디렉터리에 없는지 확인해야함 -> 경고 없이 기존 아카이브를 덮어씀
tar -cf archive.tar file1 file2
- tar 명령을 실행하는 사용자가 파일을 읽을 권한이 있어야 파일이 누락되지 않음 (디렉터리 포함)
tar -cf /root/etc.tar /etc #root 권한으로 /etc 아카이브 생성
tar -tf /root/etc.tar #아카이브 콘텐츠 나열
2. 아카이브에서 파일 추출
- 기존 파일을 덮어쓰지 않으려면 일반적으로 tar 아카이브를 빈 디렉터리에 추출해야 함
- 기본적으로 아카이브에서 파일을 추출하면 아카이브 내용 권한에서 umask를 뺀 권한을 갖게 됨 -> 아카이브 파일의 권한을 보존하려면 아카이브를 추출할 때 p 옵션을 사용
mkdir /root/etcbackup
cd /root/etcbackup
tar -xf /root/etc.tar
tar -xpf /root/myscripts.tar
3. 압축된 아카이브 만들기
- gzip 압축 : 가장 빠르고 오래된 방법이며, 전체 배포판은 물론 플랫폼 전반에서 가장 널리 사용됨
- bzip2 압축 : gzip에 비해 아카이브 파일의 용량을 더 작게 만들며, gzip보다는 덜 사용됨
- xz 압축 : 상대적으로 새로운 압축 방법으로 기존의 다른 방법에 비해 압축률이 가장 높음
tar -czf /root/etcbackup.tar.gz /etc #추출시 -xzf
tar -cjf /root/logbackup.tar.bz2 /var/log #추출시 -xjf
tar -cJf /root/sshconfig.tar.xz /etc/ssh #추출시 -xJf
ls /root
'Linux > Linux 명령어' 카테고리의 다른 글
[Linux]alias/cp/mv/mkdir/rmdir/rm (0) | 2024.05.13 |
---|---|
[Linux]ls/cd/touch 명령어 (0) | 2024.05.13 |
[Linux]vi 명령어 (0) | 2024.04.24 |
[Linux]시스템 간 안전한 파일 동기화 - rsync (0) | 2023.07.16 |
[Linux]시스템 간 파일 전송 - scp,sftp (0) | 2023.07.16 |