[리눅스 일반] 파일 압축 유틸리티 gzip/gunzip 실무

1. 리눅스 표준 압축명령어 gzip 과 압축해제 명령어 gunzip 개론과 활용

– tar 는 엄격하게 이야기해서 압축명령어가 아니라 파일을 묶어주는 명령어임

– 리눅스의 가장 표준적인 범용 압충( 해제 ) 명령어는 gzip( gunzip ) 임.

– 압축은 Lempel-Ziv 라는 인코딩방법을 사용하며 텍스트파일 기준으로 60% 에서 70% 정도의 압축효율을 가짐.

– gunzip 으로 압축해제를 하면 gzip ㅇ로 압축하기 전의 원본파일의 소유주와 소유그룹, 파일액세스 시간, 파일변경시간, 퍼미션은 그대로 유지한채로 압축해제가 됨.

– gzip -d 는 gunzip 과 동일하며, gzip 에서 -d 옵션을 사용하는 것으로 압축해제를 하는 옵션임.

– 사용형식 : gzip [ -acdfhlLnNrtvV19 ] [ -S 확장자 ] [ 파일 … ]
gunzip [ -acfhlLnNrtvV ] [ -S s 확장자 ] [ 파일 … ]

2. gunzip 으로 .gz 압축파일 해제하기

– gunzip TestFile.gz

– gzip -d TestFile.gz 도 동일함.

3. gzip 으로 두개이상의 파일을 동시에 압축하기.

– gzip *

– 현재 디렉토리내에 있는 모든 파일을 압축.

4. 두개이상의 압축된 파일을 동시에 압축해제하기

– gunzip *

– 현재 디렉토리내의 모든 파일을 압축해제.

5. gzip 으로 현재 사용중인 파일까지도 강제압축하기

– gzip 으로 압축을 할때, 현재 사용중인 파일은 압축이 되지 않음.

– -f 옵션을 사용하면 사용중인 파일이라도 강제 압축을 할 수 있음.

– gzip -f TestFile

6. gzip 으로 압축한 후에 파일의 압축효율 확인하기

– gzip 으로 압축을 할 때, -l 옵션을 사용하면 압축한 후에 압축효율을 수치로 나타내 줌.

– gzip -l TestFile

7. gzip 으로 압축된 파일의 확장자를 임의대로 붙이기

– gzip 으로 압축을 하면 압축파일의 기본확장자로서 .gz 를 사용함.

– -S 옵션을 사용하면 gzip 으로 압축된 파일이라도 .gz 확장자 대신에 다른 이름을 임의대로 지정하여 붙일 수 있음.

– gzip -S .zip TestFile

– -S 옵션으로 압축된 파일은 gunzip 으로 압축해제를 할 때에도 동일하게 -S 옵션을 사용해야만 압축해제가 됨.

– gunzip -S .zip TestFile.zip

8. 특정 디렉토리내의 모든 파일을 gzip 으로 압축하기

– 특정디렉토리를 대상으로 압축하고자 한다면 -r 옵션을 붙여서 사용하면 됨.

– gzip -r TestDir

– 특정디렉토리를 대상으로 압축해제를 하고자 한다면 압축을 할 때 주었던 -r 옵션을 풀때에도 주어야 함

– gunzip -r TestDir

[리눅스 일반] 파일 압축 유틸리티 tar 실무

1. 여러 개의 파일을 하나로 묶고 압출할 수 있는 tar 실무개혼

– 가장 기본적인 tar 사용법
파일묶기 : tar cvf 파일명.tar 파일(디렉토리)
묶은파일보기 : tar tvf 파일명.tar
묶은파일풀기 : tar xvf 파일명.tar

– gzip( gunzip ) 과 함께 사용하는 tar 사용법 #1
묶고압축하기 : tar cvfz 파일명.tar.gz 파일( 디렉토리 )
묶고압축된 파일 보기 : tar tvfz 파일명.tar.gz
묶고압축된파일 풀기 : tar xvfz 파일명.tar.gz

– gzip( gunzip )과함께사용하는 tar사용법 #2
퍼미션유지묶고압축하기 : tar cvfpz 파일명.tar.gz
퍼미션유지묶고압축된 파일 보기 : tar tvfpz 파일명.tar.gz
퍼미션유지묶고압축된 파일 풀기 : tar xvfpz 파일명. tar.gz

– bzip( bunzip2 ) 과 함께 사용하는 tar 사용법
퍼미션유지묶고압축하기 : tar cvfpj 파일명. tar.gz 파일( 디렉토리 )
퍼미션유지묶고압축된 파일 보기 : tar tvfpj 파일명.tar.gz
퍼미션유지묶고압축된 파일 풀기 : tar xvfpj 파일명.gz

– tar 의 주요옵션설명
-c : tar 파일을 생성할 때( 여러개의 파일을 하나씩 반드시 사용
-d : tar 파일과 해당 파이리스템간의 차이점을 확인하고자 할 때 사용
-r : tar 파일에 다른파일들을 추가하고자 할 경우에 사용
-t : tar 파일의 내용을 확인하고자 할 때 반드시 사용
-f : tar 파일을 사용하고자 할 때에는 반드시 사용
-p : tar 파일을 생성할( 풀 ) 때 원본 파일퍼미션을 그대로 유지함
-v : 묶을때나 풀 때 그 과정을 자세하게 보려고 할 때 사용
-Z : compress 로 압축파일을 사용할 때 압축이나 해제까지 한번에 할 때 사용
-z : gzip( gunzip ) 과 관련하여 압축이나 해제를 한꺼번에 하려고 할 때 사용
-j : bzip2( bunzip2 ) 과 관련하여 압축하거나 해제하는 옵션으로 사용

2. tar 로 묶는 가장 기본적인 사용법

– tar cvf TestDir1.tar TestDir

3. tar 로 묶여진 파일내의 파일리스트 확인하기

– tar tvf TestDir1.tar

4. tar 로 묶여진 파일 풀기

– tar xvf TestDir.tar

– tar 로 묶여질때에는 묶여지는 파일들의 생성날짜와 시간정보까지 함께 저장이 되어지며, tar로 풀 때에는 이 시간정보를 그대로 적용하여 풀어 짐.

5. tar 로 파일묶기와 압축하기를 동시에 하기

– tar cvfz TestDir2.tar.gz TestDir2

– 묶음과 압축이 한번에 된 파일의 내용을 확인하는 명령어
tar tvfz TestDir2.tar.gz

6. tar 로 묶고압축된 파일 풀기

– tar xvfz TestDir2.tar.gz

7. tar 로 원본파일의 퍼미션을 그대로 유지한채로 묶고압축하기

– tar cvfpz TestDir2.tar.gz TestDir2

8. tar 로 원본파일 퍼미션을 유지한 채로 묶고압축한 파일 풀기

– tar xvfpz TestDir2.tar.gz

9. tar 로 압축시에 용량단위로 나누어 압축하기 그리고 풀기

– tar cvfpz – /home/Test | split -b 100m – home.tar.gz

10. tar 와 bzip2 로 압축하고 tar 와 bunzip2 로 압축풀기

– tar cvfpj TestDir3.tar.bz2 /TestDir3

– tar xvfpj TestDir3.tar.bz2

[리눅스 일반] 파일 압축 유틸리티 compress/uncompress 실무

1. 가장 오래되고 전통적인 압축유틸리티 compress 활용법

– 아직까지 프로그램배포등을 위해 compress 로 압축해서 배포하는 경우가 많으므로 꼭 알아두어야 함.

– 사용형식 : 압축할때 : compress [ -f ] [ -v ] [ -c ] [ -V ] [ -r ] [ -b bits ] [ name… ]

– 간단한 사용법
사용방법1 : compress FileName
사용방법2 : compress *
사용방법3 : compress index.*
사용방법4 : compress *.bak

– 압축된 후에는 각각의 파일끝에 *.Z 라는 확장자가 추가됨.

2. compress 로 특정 파일 압축하기

– compress TestFile

3. 현재 디렉토리에 존재하는 모든 파일들을 compress 로 압축하기

– compress *

4. compress 로 압축된 압축파일을 해제하는 uncompress

– umcompress 로 압축을 해제할 때에는 compress 로 압축되어있는 *.Z 파일을 대상으로 해야함.

– 간단한 사용법
사용법1 : uncompress 파일명
사용법2 : uncompress *
사용법3 : uncompress *.Z
사용법4 : uncompress index.*

5. uncompress 로 동시에 여러개의 압축파일 해제하기

– uncompress *

[리눅스 일반] 서버 부하율 점검하기

1. 시스템 부하율 점검하는 uptime 사용법

– uptime 은 시스템 부하율을 확인할 수 있는 명령어임. 1분, 5분, 15분간의 시스템 평균부하율을 각각 출력함.

– uptime 의 결과로 알 수 있는 내용들.
현재시간
시스템이 부팅후에 종료( 재부팅 ) 없이 얼마동안 운용되었는가?
현재 시스템에 로그인된 사용자수( /var/run/utmp 파일 참조함 )
각각 1분, 5분, 15분동안의 시스템 평균 부하율

– uptime 은 top 과 w 의 실행결과에서 맨 첫번째 행을 표시해주는 역할을 한다.

– uptime 의 결과는 시스템 점검시에 유용한 시스템부하율로 참조됨.

[리눅스 일반] 파일 날짜정보 변경하는 touch 실무

1. 파일의 날짜시간정보를 변경하는 touch 개론과 실사용법

– 아무런 옵션없이 사용되면 서버의 현재시간으로 파일의 최근에 사용한 시간과 최근에 변경괸 시간을 변경함.

– 만약 지정된 파일이 존재하지 않는다면 파일의 크기가 0인 빈 파일을 생성함

– -t 라는 옵션을 사용하면 서버의 현재시간이 아닌 지정되니 시간으로 파일의 날짜시간정보를 변경함.

2. 시스템의 현재 시간으로 특정 파일의 시간정보 수정하기

– touch -c TestFile

– -c 옵션 사용시 지정된 파일이 존재하지 않는다면 새로 파일이 생성되지 않음.

3. 특정 파일의 날짜시간정보 변경하기

– touch -t 09101212 TestFile

– -t 옵션을 사용하여 특정한 날짜시간으로 파일의 정보를 변경할 때에는 “MMDDhhmm[[CC]YY[.ss]” 의 형식을 사용한다.

– 만약 아무런 이유없이 특정파일( 특히 관리자용 명령어 ) 의 시간정보가 변경이 되었다면 해킹을 의심해 보아야 한다. 따라서 서버관리자는 파일의 시간정보 및 퍼미션정보등이 변경되었는가를 주기적으로 점검 해야 함.

4. 특정파일의 날짜시간과 동일한 날짜시간을 다른 파일에 적용하기

– touch -r TestFile1 TestFile2

– -r 옵션을 사용하면 TestFile2 의 날짜시간정보를 TestFile1 과 동일하게 변경할 수 있다.