linux 기초 -파일 아카이브
파일 아카이브
아카이브는 원래 보관소, 저장소라는 뜻이 지만 리눅스에서는 '파일을 묶어서 하나로 만든 것'이라는 의미로
사용된다. tar 명령은 여러파일이나 디렉터리를 묶어서 이동식 저장 장치에 보관하기 위해 사용하는 명령
이었다. 현재는 다른 시스템과 파일을 주고 받거나, 백업을 하기 위해 여러 파일이나 디텍터리를 하나의
아카이브 파일로 생성하거나, 기존 아카이브에서 파일을 추출하기 위해 사용된다.
윈도우에서는 보통 압축( zip )을 하면 선택된 파일이나 폴더들을 묶으면서 동시에 압축( compress )을 한다.
반면 리눅스에서는 파일이나 폴더들을 묶는것과 실제로 압축하는 기능이 나뉘어져있다.
리눅스에서 여러파일을 한 파일로 묶는 것을 아카이브라 하며, 확장자는 .tar 이다.
기능 |
파일과 디렉터리를 묶어 하나의 아카이브 파일을 생성 |
형식 |
tar 기능[옵션] [ 아카이브파일 ] 파일 이름 |
기능 |
c : 새로운 tar 파일을 생성한다. |
t : tar 파일의 내용을 출력한다. |
|
x : tar 파일에서 원본 파일을 추출한다. ( 압축 해제 ) |
|
r : 새로운 파일을 추가한다. |
|
u : 수정된 파일을 업데이트 한다. |
|
옵션 |
f : 아카이브 파일이나 데이프 장치를 지정한다. 파일 이름을 " - " 로 지정하면 tar 파일 대신 표준 입력에서 읽어 들인다. |
v : 처리하고 있는 파일의 정보를 출력한다. |
|
h : 심벌릭 링크의 원본파일을 포함한다. |
|
p : 파일 복구 시 원래의 접근 권한을 유지한다. | |
j : bzip2로 압축하거나 해제한다. | |
z : gzip2로 압축하거나 해제한다. | |
사용 예 | 압축 하기 : #>tar -cvzf [ 압축된 파일 이름] [ 압축할 파일이나 폴더명] ( gzip으로 압축 ) |
압축 풀기 : #>tar -xvzf [압축 해제할 압축 아카이브 이름 ] |
명령어 활용
- 압축하기
↑ tar -cvf [ 파일 이름 ] 대상 : 현재위치에있는 파일및 디렉토리 전부를 com.tar 라는 파일로 아카이브 생성
# v옵션은 처리 중인 파일의 이름을 화면에 출력하는 것으로, 없어도 무관하지만 올바른 처리 과정을 볼 수 있다.
# f옵션은 생성될 아카이브의 이름을 지정한다. f옵션 다음에 오는 이름을 아카이브 이름으로 간주 ( 주로 맨 뒤에 쓰임 )
# 파일 이름에는 제약이 없지만 확장자를 .tar 로 지정하면 나중에 파일 관리를 쉽게 할 수 있고 가독성이 높아진다.
- 내용보기
↑ tar -tvf [아카이브파일] : 아카이브 내용을 확인할때는 t( table of contents )기능을 사용한다.
# 지정된 아카이브 파일은 붉은색으로 표시된다.
# v옵션을 통해 상세히 정보를 볼 수 있다.
- gzip으로 압축하기( 자주쓰임 )
↑ tar -cvzf [ 파일 이름 ] 대상 : 현재위치에있는 파일및 디렉토리 전부를 com.tar 라는 파일로 아카이브 생성과
동시에 gzip 압축해주었다.
# 자주 쓰이는 아카이브생성 방식이다.
# 그냥 아카이브를 생성하는 방법보다 용량을 줄일 수 있다.
# .gz 확장자를 붙여줌으로써 gzip 압축했음을 표시
- 압축풀기
↑ tar -xvf [ 파일 이름 ] : 생성한 아카이브를 원하는 위치로 옮겨 -xvf 옵션을 통해 아카이브를 추출할 수 있다. ( 압축 해제 )
↑ gzip으로 아카이브를 압축했다면 압축을 풀때도 z옵션을 추가해준다.
gzip 외에 bzip2로도 압축할 수 있다. bzip로 압축할 경우 j 옵션을 사용한다. 아카이브 이름은 아카이브의
이름에 .bz2를 붙여서 가독성을 높이는게 좋다. ( bzip2로 압축된 것임을 표시 )
#> tar cvjf com.tar.bz2
a/
b/
c/
d/
.
.
tar 파일로 생성한 것과 압축한 결과의 파일 크기를 비교해볼때 bzip2로 압축한 파일의 크기가 가장 작다.
bzip은 압축률은 좋지만 압축속도가 gzip보다 느린 특징을 가지고 있다.
[ Linux - CentOS ] 명령어 netstat (0) | 2017.07.14 |
---|---|
[ Linux - CentOS ] 파일 압축하기( gzip, bzip2 ) (0) | 2017.07.14 |
[ Linux - CentOS ] 명령어 tr (0) | 2017.07.14 |
[ Linux - CentOS ] 명령어 strings (0) | 2017.07.14 |
[ Linux - CentOS ] 명령어 sort (feat.uniq 명령어) (0) | 2017.07.14 |
좀 알려주세요 현기증 난단 말이에요..