11.Nas_1


리눅스 tar 명령어 사용법. (Linux tar command) - termux 파일 압축 및 해제




컨텐츠 정보


본문

리눅스 tar 명령어 사용법. (Linux tar command) - 파일 압축 및 해제

https://recipes4dev.tistory.com/146 

참조하여   압축은 설정된 상태

tar cvf com.termux.tar /data/data/com.termux

termux를 설치하고  기본 sshd 접속 가능하게합니다.

apt  install openssh

putty 접속후

cd /data/data/

tar xvf /storage/0006DAB00009790E/backup/com.termux.tar

3232235521_1578160674.8204.png

   28  cd /storage/

   29  ls

   30  cd 0006DAB00009790E/

   31  ls

   32  cd Android/

   33  ls

   34  cd ..

   35  ls

   36  mkdir -p backup

   37  cd backup/

   38  s

   39  tar cvf com.termux.tar /data/data/com.termux

   40  ls

   41  ll

   42  pwd

   43  history


tar 명령의 주요 옵션은 아래와 같습니다. (더 자세한 옵션은 "tar --help" 명령을 통해 확인할 수 있습니다.)

    tar [OPTION...] [FILE]...

        -f     : 대상 tar 아카이브 지정. (기본 옵션)

        -c     : tar 아카이브 생성. 기존 아카이브 덮어 쓰기. (파일 묶을 때 사용)

        -x     : tar 아카이브에서 파일 추출. (파일 풀 때 사용)

        -v     : 처리되는 과정(파일 정보)을 자세하게 나열.

        -z     : gzip 압축 적용 옵션.

        -j     : bzip2 압축 적용 옵션.

        -t     : tar 아카이브에 포함된 내용 확인.

        -C     : 대상 디렉토리 경로 지정.

        -A     : 지정된 파일을 tar 아카이브에 추가.

        -d     : tar 아카이브와 파일 시스템 간 차이점 검색.

        -r     : tar 아카이브의 마지막에 파일들 추가.

        -u     : tar 아카이브의 마지막에 파일들 추가.

        -k     : tar 아카이브 추출 시, 기존 파일 유지.

        -U     : tar 아카이브 추출 전, 기존 파일 삭제.

        -w     : 모든 진행 과정에 대해 확인 요청. (interactive)

        -e     : 첫 번째 에러 발생 시 중지.

3. tar 명령 사용 예제.

아래 표는 tar 명령 사용 시, 주로 사용하게 되는 옵션 조합입니다. 각 항목의 링크를 선택하면, 좀 더 자세한 예제를 확인할 수 있습니다.


tar 사용 예 명령어 옵션

현재 디렉토리의 모든 파일과 디렉토리를 tar로 묶기 tar cvf T.tar *

대상 디렉토리를 포함한 모든 파일과 디렉토리를 tar로 묶기 tar cvf T.tar [PATH]

파일을 지정하여 tar 아카이브로 묶기 tar cvf T.tar [FILE_1] [FILE_2]

tar 아카이브를 현재 디렉토리에 풀기 tar xvf T.tar

tar 아카이브를 지정된 디렉토리에 풀기 tar xvf T.tar -C [PATH]

tar 아카이브의 내용 확인하기 tar tvf T.tar

현재 디렉토리를 tar로 묶고 gzip으로 압축하기 tar zcvf T.tar.gz *

gzip으로 압축된 tar 아카이브를 현재 디렉토리에 풀기 tar zxvf T.tar.gz

현재 디렉토리를 tar로 묶고 bzip2로 압축하기 tar jcvf T.tar.bz2 *

bzip2로 압축된 tar 아카이브를 현재 디렉토리에 풀기 tar jxvf T.tar.bz2

tar 아카이브 묶거나 풀 때 파일 별 진행 여부 확인하기 tar cvfw T.tar *

3.1 현재 디렉토리의 모든 파일과 디렉토리를 tar로 묶기.

"cvf" 옵션에 "*"를 사용하여, 현재 디렉토리 내 모든 파일과 디렉토리를 tar 아카이브로 묶을 수 있습니다.


$ ls

DIR_1  FILE_1  FILE_2

$ tar cvf T.tar *

DIR_1

FILE_1

FILE_2

3.2 대상 디렉토리를 포함한 모든 파일과 디렉토리를 tar로 묶기.

"cvf" 옵션에 대상 디렉토리를 지정하여, 지정된 대상 경로를 포함한 모든 파일과 디렉토리를 tar 아카이브로 묶을 수 있습니다. 이 때, tar 아카이브에는 대상 디렉토리 경로가 포함되는 것에 주의하시기 바랍니다.


$ ls ./files

DIR_1  FILE_1  FILE_2

$ tar cvf T.tar files

files/

files/DIR_1

files/FILE_1

files/FILE_2

3.3 파일을 지정하여 tar 아카이브로 묶기.

"cvf" 옵션에 지정된 파일을 tar 아카이브로 묶을 수 있습니다.


$ ls

DIR_1  FILE_1  FILE_2

$ tar cvf T.tar FILE_1 FILE_2

FILE_1

FILE_2

3.4 tar 아카이브를 현재 디렉토리에 풀기.

"xvf" 옵션으로 tar 아카이브를 현재 디렉토리에 풀 수 있습니다.


$ tar xvf T.tar

FILE_1

FILE_2

3.5 tar 아카이브를 지정된 디렉토리에 풀기

"xvf" 옵션과 "-C" 옵션을 조합하여 tar 아카이브를 지정된 디렉토리에 풀 수 있습니다.


$ ls

files  T.tar

$ tar xvf T.tar -C ./files/

FILE_1

FILE_2

$ ls ./files

FILE_1  FILE_2

3.6 tar 아카이브의 내용 확인하기

"tvf" 옵션을 사용하여 tar 아카이브의 내용을 확인할 수 있습니다. tar 아카이브를 풀기 전, 미리 아카이브에 들어 있는 내용을 확인할 때 사용합니다.


$ tar tvf T.tar

-rw-rw-r-- ppotta/ppotta       0 2018-12-28 19:44 FILE_1

-rw-rw-r-- ppotta/ppotta       0 2018-12-28 19:44 FILE_2

3.7 현재 디렉토리를 tar로 묶고 gzip으로 압축하기.

"zcvf" 옵션을 사용하여 현재 디렉토리를 tar로 묶은 다음, gzip으로 압축합니다.


$ tar zcvf T.tar.gz *

DIR_1/

FILE_1

FILE_2

$ ls

DIR_1  FILE_1  FILE_2  T.tar.gz

3.8 gzip으로 압축된 tar 아카이브를 현재 디렉토리에 풀기.

"zxvf" 옵션으로, gzip으로 압축된 tar 아카이브를 현재 디렉토리에 풀 수 있습니다.


$ tar zxvf T.tar.gz

DIR_1/

FILE_1

FILE_2

3.9 현재 디렉토리를 tar로 묶고 bzip2으로 압축하기.

"jcvf" 옵션을 사용하여 현재 디렉토리를 tar로 묶은 다음, bzip2로 압축할 수 있습니다.


$ tar jcvf T.tar.bz2 *

DIR_1/

FILE_1

FILE_2

$ ls

DIR_1  FILE_1  FILE_2  T.tar.bz2

3.10 bzip2로 압축된 tar 아카이브를 현재 디렉토리에 풀기.

"jxvf" 옵션으로, bzip2로 압축된 tar 아카이브를 현재 디렉토리에 풀 수 있습니다.


$ tar jxvf T.tar.gz

DIR_1/

FILE_1

FILE_2

3.11 tar 아카이브 묶거나 풀 때 파일 별 진행 여부 확인하기

tar 옵션에 "w"를 추가하여 tar 아카이브를 묶거나 풀 때 파일 단위로 진행 여부를 확인할 수 있습니다. 묶거나 풀려면 "y" 또는 "yes"를 입력하고 엔터를 입력하면 됩니다.


$ tar cvfw T.tar *

add `DIR_1'?y

DIR_1/

add `FILE_1'?y

FILE_1

add `FILE_2'?y

FILE_2

4. 문제 해결.

4.1 tar 압축 포맷 지정 오류. gzip: stdin: not in gzip format

리눅스에서 파일 이름은 파일 종류 식별을 위한 참고 자료일 뿐, 파일 이름이 해당 파일의 특성을 온전히 결정하지는 않습니다. 그래서 때로는 오해의 여지가 있는 파일 이름 지정으로 인해 사용자에게 혼동을 주는 상황이 발생할 수 있는데요. tar 압축 포맷 지정 시, 그러한 문제가 발생할 수 있죠. 예를 들어, bzip2로 압축된 파일에 ".gz" 확장자를 붙이는 경우입니다.




사용자는 ".gz" 확장자를 보고 자연스럽게 gzip 압축 방식이라고 생각하여 "tar zxvf" 옵션을 사용하려고 할텐데, 이 때 아래와 같은 에러가 발생하죠. (파일 이름이 "T.tar.gz"이지만 bzip2 방식으로 압축된 파일인 경우입니다.)


$ tar zxvf T.tar.gz


gzip: stdin: not in gzip format

tar: Child returned status 1

tar: Error is not recoverable: exiting now

이런 경우, 사용자는 파일이 잘못되었다고 판단하여 다른 파일을 찾거나, 해당 파일을 지워버릴텐데요. 파일을 지우기 전에, 파일의 형식을 확인하면 파일을 다시 찾아다니는 수고로움을 덜 수 있습니다.


뷰PDF add1,add2



관련자료

댓글 0
등록된 댓글이 없습니다.


전체 1,746 / 11 페이지
전체 1,746 / 11 페이지



♥간단_메모글♥


최근글


새댓글



PHP 안에 HTML ☞ 홈페이지 화면갱신 시간은 ♨
▶ 2024-04-28 15:28:20

오늘의 홈 현황


  • 현재 접속자♨ 125 명
  • 오늘 가입자※ 1 명
  • 어제 가입자※ 3 명
  • 주간 가입자※ 18 명
  • 오늘 방문자 1,294 명
  • 어제 방문자 1,561 명
  • 최대 방문자 13,042 명
  • 전체 방문자 4,293,060 명
  • 전체 게시물※ 8,538 개
  • 전체 댓글수※ 24,523 개
  • 전체 회원수 10,934 명

QR코드


☞ QR코드 스캔은 kakao앱 자체 QR코드

알림 0








최신글↑