[리눅스 일반] 파일 압축 유틸리티 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

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

 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”}’3

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

 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 명령어를 차례대로 실행하는 것이 일반적임.