330 likes | 432 Views
TAR (create tape archives and add or extract files) 기록들을 묶고 , 파일을 빼내거나 추가하는 작업. Itbank solaris Pm 4:00 class 김 정 훈. 발표 진행 방식. 특징. 옵션 기능 살펴보기. 상황 별 대처방법. 기본 문법. 옵션. Tar 의 특징. 일반적으로 마그네틱 테잎에 사용됨 파일 시스템이 무관하게 사용되기 때문에 대부분의 운영체제에서 사용가능 자체적 압축기능이 없으나 파일들을 하나로 묶어주는 압축효과 가 있음
E N D
TAR(create tape archives and add or extract files)기록들을 묶고, 파일을 빼내거나 추가하는 작업 Itbank solaris Pm 4:00 class 김 정 훈
발표 진행 방식 특징 옵션 기능 살펴보기 상황 별 대처방법 기본 문법 옵션
Tar 의 특징 • 일반적으로 마그네틱 테잎에 사용됨 • 파일 시스템이 무관하게 사용되기 때문에 대부분의 운영체제에서 사용가능 • 자체적 압축기능이 없으나 파일들을 하나로 묶어주는 압축효과가 있음 • 옵션 사용시에 기호(-)를 사용하지 않고, 영문자 사용 예) tar –cvf → tar cvf
Tar 명령어의 기본문법 [ ] : 생략 가능 { } : 필 수 | : 선 택 • tar c[bBDeEfFhiklnopPqvwX@[0-7]] [block] [tarfile] [exclude-file] {-I include-file | -C directory | file | file} ... • tar r[bBDeEfFhiklnqvw@[0-7]] [block] {-I include-file | -C directory | file | file} ... • tar t[BefFhiklnqvX[0-7]] [tarfile] [exclude-file] {- I include-file | file} ... • tar u[bBDeEfFhiklnqvw@[0-7]] [block] [tarfile] file... • tar x[BefFhiklmnopqvwX[0-7]] [tarfile] [exclude-file] [file...]
Tar 명령어의 기본문법 [ ] : 생략 가능 { } : 필 수 | : 선 택 • tar c[bBDeEfFhiklnopPqvwX@[0-7]] [block] [tarfile] [exclude-file] {-I include-file | -C directory | file | file} ... • tar r[bBDeEfFhiklnqvw@[0-7]] [block] {-I include-file | -C directory | file | file} ... • tar t[BefFhiklnqvX[0-7]] [tarfile] [exclude-file] {- I include-file | file} ... • tar u[bBDeEfFhiklnqvw@[0-7]] [block] [tarfile] file... • tar x[BefFhiklmnopqvwX[0-7]] [tarfile] [exclude-file] [file...]
Tar 의 기본 옵션 • c - tar file/tape 생성 • r - 기존의 tar 파일 끝에 새로운파일 추가 • t - tar file/tape의 내용 리스트 출력 • u - tar 파일의 추가 또는 수정 • x - tar file/tape에서 내용들을 복구
Tar 의 추가 옵션 • b - 테이프를 이용할 때 블록 크기 지정 • e - 예상치 않은 에러발생시 정상종료상태를 반환하며 종료 • f - 매개변수를 tar 파일로 지정. 지정하지 않을 경우 환경변수 tape를 기본적으로 이용 • h - 심볼릭 링크인 경우 실제의 파일내용을 이용 • i - 디렉터리의 checksum에러 무시
Tar 의 추가 옵션 • m - tar파일을 풀 때 각 파일의 수정시간을 tar 파일 푸는 현재 시간으로 설정 • p - tar파일을 복구할때 umask 값을 무시하고, 원래의 파일접근권한을 이용. 슈퍼유저의 경우 setuid, sticky bit 값도 복구 • v - tar의 작업진행 상황을 보여준다 • w - 작업 수행시 각각의 작업을 수행할지의 여부를 물어본다
주의사항 • Tar 명령어는 file, directory 를 묶을때 지정한 경로명을 그대로 사용하여 묶고, tar file을 푸는 경우에는 tar file에 명시된 대로 file, directory를 푼다 • 절대 경로로 묶었으면 절대 경로 그대로 풀리고, 상대경로 묶었으면 상대 경로로 풀린다
Example 01. 현재디렉터리 - /example A 절대적 B 상대적 C D
Example 01. 현재디렉터리 - /abc/def A 절대적 B 상대적
Tar cvhf – 심볼릭 링크를 원래파일로 A B C D
파일권한 User-id/ Group-id File-size File 마지막 수정일자 File-name Tar tvf – tar 파일의 내용 목록 출력 A
Tar xvmf – 각 파일 수정시간을 현재 파일 푸는 시간으로 A B
Tar xvmf – 각 파일 수정시간을 현재 파일 푸는 시간으로 A C B
Tar xvpf – 원래의 파일 접근 권한에 맞추어 풀어줌 A B
Tar xvpf – 원래의 파일 접근 권한에 맞추어 풀어줌 A B
상황1. /etc의 환경설정파일을 복구하라 • 평소 /etc 디렉터리의 환경설정파일의 잦은 실습으로 인해 sun02가 자주 죽는 사태가 발생하자, Y선생님은 매일 /etc 디렉터리를 /etc/etc.tar 파일로 백업을 해 놓고, 매일 밤 복구를 했는데 그날은 유독 감기 때문에 피곤해서 P학생에게 환경설정파일 복구를 부탁했다. • 과연, P학생은 어떻게 해야하는가?
상황2. $HOME 안에 파일들을 다 백업해라 • 학원에서 수업 들으면서 수업내용을 갈무리를 해 놓았다. 나름대로 솔라리스 수업을 들었으니 갈무리 파일들을 TAPE에 보관하고 싶어 선생님 몰래 TAPE 를 껴놓았다. 근데, 갈무리할 때 귀찮아서 파일 이름을 대충 012fdsd, 39gfjksd, dsg3ekdf 이렇식으로 만든 파일이 해논게 15개 정도는 된다. 키보드 치기도 힘들고 귀찮고, 몰래 빨리 해야 하는데 이거 어떻게 해야 할까?
A B
상황3. 몇몇 디렉터리를 TAPE에 백업해라 • 어느 정도 SUN02가 굴러가다 보니 어느새 80%에 가까운 용량이 사용되고 있었다. 학생들이 이것저것 올린 영화들도 다 못 봤는데, 파일 정리를 하자니 아깝고, tape에 백업하기로 했다. 그런데 지금 당장 나가봐야 하는데 디렉터리가 2~3개는 되는데, 계속 컴퓨터 앞에서 tar 명령어 실행시키고 기다렸다 실행시키고 이럴 시간이 없다. 당장 명령어 때리고 나가야 하는데… 어쩌면 좋을까?
상황4. sun03도 TAPE에 백업해라 • 이런.. sun02에만 영화가 있는 줄 알았는데, sun03에도 있었다. 이왕 한 김에, tape 용량도 남았겠다. sun03에 있는 영화 디렉터리도 백업을 해주고 싶은데, tape 드라이브는 sun02에 있고, 이를 어쩌나..
마지막, (-)는 무엇을 뜻하는 것일까? • Manual page 에 보면, • tar에서 표준 입/출력 (standard input, standard output) 을 의미하며 때에 따라 적절하게 사용된다. • tar는 파이프 라인의 앞,뒤에 사용할 수 있다.
standard input, output 은 무엇인가? • standard input : 키보드 입력 • standard output : 화면에 보이는 출력되는 내용들 A B
3가지의 같은 명령어 A #cp /aaa/test01 /bbb/test01 B #cd /aaa #tar cf test.tar test01 #mv ./test.tar /bbb/ #cd /bbb #tar xf test.tar C #cd /aaa ; tar cf – test01 | (cd /bbb; tar xf - )
B #cd /aaa #tar cf test.tar test01 #mv ./test.tar /bbb/ #cd /bbb #tar xf test.tar /aaa 디렉터리 로 이동 tar cf 를 통해 test01을 test.tar로 묶어준다 test.tar를 하드가 받아서 /aaa에 저장한다 mv로 test.tar 를 이동 명령을 내려준다 test01 복사완료 test.tar를 하드가 받아서 /bbb에 저장한다 tar xf 를 통해 test.tar 를 풀어준다.
C #cd /aaa ; tar cf – test01 | (cd /bbb; tar xf - ) /aaa 디렉터리 로 이동 tar cf -를 통해 test01을 로 묶어서 출력한다 | (pipe)가 받아서 넘겨준다 test01 복사완료 tar xf –를 통해 입력받은 data를 풀어준다.
#cd /aaa #tar cf test.tar test01 #mv ./test.tar /bbb/ #cd /bbb #tar xf test.tar A B A B #cd /aaa ; tar cf – test01 | (cd /bbb; tar xf - )