[리눅스 일반] 파일 압축 유틸리티 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 과 동일하게 변경할 수 있다.

[리눅스 일반] 파일포맷 및 패턴처리 실무

1. 특정 패턴의 문자들을 원하는 포맷으로 처리하는 강력한 유틸리티 awk 개론

– awk 는 기본적으로 탭 또는 공백으로 구분되는 각각의 단어들을 하나의 변수로 처리함. 탭과 공백을 기본적인 구분문자로 사용한다는 의미임.

– 탭과 공백을 무시하고 특정문자( 🙁 콜론 ) ;( 세미콜론 ) ,( 콤마 ) 등 ) 를 구분문자로 처리하고자 한다면 -F 옵션을 사용하면 됨.

– -F 옵션 다음에 원하는 특정문자를 지정하면 그 문자를 구분문자로 하여 각각의 단어들을 변수로 처리할 수 있음.

– 사용형식 : awk [ 옵션 ] ‘스크립트’ [ 변수=값 ] [ 파일… ]
awk [ 옵션 ] [ -F ] ‘{ 스크립트 }’

2. /etc/passwd 파일에서 계정명( ID ) 만 출력하기

– cat /etc/passwd | awk -F: ‘{print $1}’

3. /etc/passwd 파일에서 각각의 ID 와 홈디렉토리만을 출력하기

– cat /etc/passwd | awk -F: ‘{print $1″           “$6}’

– 각각의 ID 와 홈디렉토리를 조사하고자 할 때에 주로 사용되는 방법임.

4. /etc/passwd 파일을 이용한 /etc/group 파일내용 만들기

– cat /etc/passwd | awk -F: ‘{print $1″:x:”$4″:”}’

5. /etc/passwd 파일을 이용한 /etc/shadow 파일내용 만들기

– grep home /etc/passwd | awk -F: ‘{print “grep “$1″ /etc/shadow”}’

– ” grep home /etc/passwd ” 의 의미는 /etc/passwd 파일내에서 home 이라는 문자를 가진 행들은 모두 출력하라는 것임. 즉, /etc/passwd 파일에서 실계정을 사용하는 계정들이라면 그 홈디렉토리가 home 이라는 것에서 착안한 것.

6. /home 디렉토리의 각 계정별로 압축하는 명령어 만들기

– ls -l /home | grep “^d” | awk ‘{print “tar xvfpz ” $9″.tar.gz” “/home/”$9}’

– 명령어 실행의 결과를 vi 로 작성후 맨 첫번째 행에 반드시 #!/bin/bash 를 입력한다.

7. 각각 다른 여러디렉토리 내에 동일한 파일을 vi 로 수정하는 명령어 만들기

– ls -l | grep “^d” | awk ‘{print “vi “$9″/home.html”}’

[리눅스 일반] 문자열 검색 및 편집처리 실무

1. 지정한 파일내에서 특정문자열에 해당하는 문자열 검색하기

– grep 은 ” Globally find Regular-Expression and Print ”  의 약어이며 지정된 파일내의 특정문자나 단어를 검색하는 명령어로서 파일편집이나 특정문자를 포함한 단어를 찾는데 매우 유용하게 사용굄.

– egrep 은 grep 의 확장된 명령어이며 파일내의 특정문자를 확장된 정규표현으로 검색할 수 있음.

– fgrep 은 파일내의 특정문자를 고정된 문자열로만 인식하여 검색함.

– egrep 은 ” grep -E ” 옵션을 사용하는 것과 같으며, fgrep 은 ” grep -F ” 옵션을 사용하는 것과 같음.

– grep 에서 사용되는 검색문자패턴 정규표현식
. : 아무문자나 한문자를 의미함
* : 어떤문자열이나 문자길이에 무관한 문자열을 의미함
^ : 행의 시작 위치를 의미함.
$ : 행의 마지막 위치를 의미함.
[ ] : 한문자 길이의 패턴리스트
[^ ] : 지정된문자들 이외의 문자들을 의미함( ^ 는 여집합을 의미함 )
: 뒤에오는 문자를 문자그대로 인식함( 특수문자를 그대로 표현할때 사용함 )
/< : 단어의 시작 위치를 의미함.
/> : 단어의 마지막 위치를 의미함.

– 사용형식 : grep [ 옵션 ] 검색할문자표현식 [ 파일… ]
grep [ 옵션 ] [ -e 검색할문자표현식 | -f 파일 ] [ 파일… ]

2. 지정된 파일내에서 특정문자 찾기

– 사용형식 : grep 찾을문자 대상파일

3. 지정된 파일내에서 특정문자를 포함한 행의 개수 출력하기

– grep -c Test TestFile

4. 지정된 파일내에서 특정문자가 존재하지 않는 행만 검사하기

– grep -v Test TestFile

5. 지정된 파일 내에서 대소문자 구분없이 특정문자 검색하기

– grep -i Test TesFile

6. 특정 디렉토리내에서 디렉토리리스트만 확인하기

– 사용형식 : ls -l 디렉토리경로( 절대경로 ) | grep “^d”

– “^d” 는 처음의 행이 ” d ” 로 시작한다는 것을 의미하는 정규표현식.

7. 특정 디렉토리내에서 파일리스트만 보기

– 사용형식 : ls -l 디렉토리경로( 절대경로 ) | grep -v “^d”

– grep -v “^d” 는 각 행의 척번째 문자가 ” d ” 로 시작하지 않는 행만을 의미

8. 특정디렉토리 내에 존재하는 파일들 한번에 편집하는 명령어만들기

– 사용형식 : ls -l 대상디렉토리 | grep -v “^d” | awk ‘{print “vi ” $9}’

– 특정 디렉토리내의 모든 파일을 vi 로 하나씩 차례대로 편집하고자 할 때에는 ” ls -l ” 을 해서 파일이름을 확인한 후에 vi 명령어를 차례대로 실행하는 것이 일반적임.