linux에서 압축 압축 명령

사진 백업 패키지 압축
4
#!/bin/sh
cb_PATH='/root/Desktop'
cb_DATE=$(date -d now +"%Y%m%d%H%M")
aa='/root/.tsung/log/20110923-08:48'
cd $aa
tar  czvf   $cb_PATH/Image-$cb_DATE.tar.gz     *
앞의 경로는 가방을 압축하여 저장하는 경로이고 뒤의 경로는 곧 포장될 내용이다.
참고:
압축을 포장한 후, 압축 파일에는 뒷부분의 모든 경로가 포함된다.(cd를 이전 디렉터리로 포장하지 않으면)
tar zxvf **.tar.gz-C/home에서 지정된 디렉토리로 압축 해제
linux 압축 풀기 tar 명령
tar 명령
tar [-cxtzjvfpPN] 파일과 디렉토리...
매개변수:
- c: 압축 파일의 매개 변수 명령을 만듭니다 (create의 뜻).
-x: 압축 파일의 매개 변수 명령을 풀자!
-t: tarfile 안에 있는 파일 보기!
특히 파라미터의 하달 중 c/x/t는 하나만 존재할 수 있음을 주의하세요!동시에 존재 불가!
압축과 압축을 동시에 풀 수 없기 때문이다.
-z: gzip의 속성이 모두 있습니까?즉, gzip으로 압축해야 합니까?
-j: bzip2의 속성이 모두 있습니까?즉, bzip2로 압축해야 합니까?
- v: 압축하는 동안 파일 보이기!이것은 자주 사용하지만 배경 실행 과정에 사용하는 것을 권장하지 않습니다.
-f:파일 이름 사용, 유의하세요, f 이후 바로 파일 이름을 받아야 합니다!매개 변수를 더 이상 추가하지 마세요!
예를 들어 "tar -zcvfP tfile sfile"을 사용하는 것은 잘못된 쓰기입니다.
"tar -zcvPf tfile sfile"맞죠!
-p: 원본 파일의 원래 속성 사용(속성은 사용자에 따라 변하지 않음)
-P: 절대 경로를 사용하여 압축할 수 있습니다!
- N: 다음 날짜(yyyy/mm/dd)보다 더 새것이어야 새 파일로 포장됩니다!
-- exclude FILE: 압축하는 동안 FILE을 포장하지 마세요!
예:
예1: 전체/etc 디렉터리의 파일을/tmp/etc. tar로 묶기
[root@linux~]# tar-cvf/tmp/etc.tar/etc<=포장만 하고 압축하지 않습니다!
[root@linux ~]# tar -zcvf/tmp/etc.tar.gz/etc<== 포장한 후 gzip으로 압축
[root@linux ~]# tar -jcvf/tmp/etc.tar.bz2/etc<== 포장한 후 bzip2로 압축
# 매개 변수 f 이후의 파일 파일 파일 이름은 스스로 지어서 우리는 습관적으로 모두 사용한다.tar로 식별하다.
# z 매개변수를 추가하면.tar.gz 또는.gzi는 gzip에서 압축된 tar file을 나타냅니다.
# j 매개변수를 추가하면.tar.bz2가 첨부명으로 쓰네~
# 위 명령은 실행할 때 경고 메시지를 표시합니다.
# "tar: Removing leading'/"from member names"절대 경로에 대한 특별한 설정입니다.
범례2: 상술한/tmp/etc.tar를 찾아보세요.gz 파일 내에는 어떤 파일이 있습니까?
[root@linux ~]# tar -ztvf/tmp/etc.tar.gz
# gzip 압축을 사용하기 때문에 tar file 내의 파일을 볼 때
# z라는 매개 변수를 붙여야 한다!이거 중요해!
예3:/tmp/etc.tar.gz 파일 압축 해제/usr/local/src 아래
[root@linux ~]# cd/usr/local/src
[root@linux src]# tar -zxvf/tmp/etc.tar.gz
# 미리 설정된 상황에서 우리는 압축 파일을 어느 곳에서든 풀 수 있다!이 범례로 말하자면,
# 나는 먼저 작업 디렉터리를/usr/local/src 아래로 바꾸고/tmp/etc.tar를 풀었다.gz ,
# 풀린 디렉터리는/usr/local/src/etc에 있어요!또한/usr/local/src/etc에 들어가면
# 디렉토리에 있는 파일 속성이/etc/와 다를 수 있습니다.
범례4:/tmp 아래에서 나는/tmp/etc.tar만 원한다.gz 내의 etc/passwd가 풀렸을 뿐입니다.
[root@linux ~]# cd/tmp
[root@linux tmp]# tar -zxvf/tmp/etc.tar.gz etc/passwd
# 나는 tar-ztvf를 통해 tarfile 내의 파일 이름을 볼 수 있다. 만약 파일 하나만 있다면,
#이런식으로 하달할 수 있다!알아차리다etc.tar.gz 내의 루트 디렉터리/제거되었습니다!
예5:/etc/내의 모든 파일을 백업하고 권한을 저장합니다!
[root@linux ~]# tar -zxvpf/tmp/etc.tar.gz/etc
#이-p의 속성은 매우 중요합니다. 특히 원본 파일의 속성을 보존하려고 할 때!
예6:/home에서 2005/06/01 새 파일보다 백업
[root@linux ~]# tar -N "2005/06/01"-zcvf home.tar.gz/home
예7: 백업/home,/etc,하지만/home/dmtsai는 필요 없습니다.
[root@linux ~]# tar --exclude/home/dmtsai -zcvf myfile.tar.gz/home/*/etc
범례8:/etc/포장을/tmp 밑에 풀어서 파일이 생기지 않습니다!
[root@linux ~]# cd/tmp
[root@linux tmp]# tar -cvf -/etc | tar -xvf -
#이 동작은 약간cp-r/etc/tmp 같다~여전히 쓸모가 있다!
#주의해야 할 점은 출력 파일에서 -로 변하고 입력 파일도 -로 변하며 또 하나의 |가 존재한다~
# 이것은 각각 standard output, standard input 및 파이프라인 명령을 나타냅니다!
#이 부분은 Bash 셸에서 다시 한 번 이 지령을 언급하고 설명해 드리겠습니다!

좋은 웹페이지 즐겨찾기