728x90

파일내용 확인 : cat, head, tail, less


파일 정보 보기

cat         // 파일의 내용을 터미널에서 간단히 확인하고자 할 때

head       // 파일의 첫부분을 출력하며, 기본은 10줄을 출력

tail          // 파일의 끝부분을 출력하며, 기본은 10줄을 출력

more       // 파일의 내용을 화면 단위로 출력

less        // more 와 동일한데, 다른 점은 방향키를 통해서 스크롤이 가능

|(파이프라인)    // 데이터의 복잡한 연산을 수행할 때 종종 사용한다. 정상 메시지만 뒤에 있는 명령어로 전달

grep         // 파일내에서 "패턴"을 만났을 때, 그 패턴을 가지고 있는 라인을 출력한다.



# cat [ 옵션 ] [ 파일명]    // [ ] 대괄호는 생략가능 하다는 의미

옵션

-n : 각 행을 출력하면서 행 번호를 붙임

-b : 공백 라인을 제외한 모든 라인에 행 번호를 붙임


# cat /etc/fstab

# cat /etc/services

cat 은 문서의 크기가 작을 때는 유용하다. 하지만 grep 와 같이 사용하면 원하는 걸 뽑아낼 수 있다.


# cat -n /etc/services | less +100

그냥 cat -n /etc/services 를 실행하면 엄청나게 많은 행이 화면을 지나가고 만다.

따라서, 파이프라인(|)을 사용하고, less 를 사용해서 100번째 행부터 보겠다는 의미이다.

화살표 방향키를 누르면 한줄 위로 한줄 아래로 움직이는 걸 확인할 수가 있다.

# cat /etc/services | grep --color ftp     // /etc/services 파일에서 ftp 파일이 있는 행만 찾아라.

# cat /etc/services | grep --color ^ftp  // /etc/services 파일에서 행의 처음이 ftp 인 파일을 찾아라.

   ※ 정규식이 적용되어 있는 것임

# cat /etc/passwd | grep --color bash$   // /etc/passwd 파일에서 끝 문자가 bash 로 시작되는 글자를 찾아라.

# grep -i --color http.$ /etc/services     // /etc/services 파일에서 끝 문자가 http가 포함된 행을

                                                       대소문자 구분없이 결과를 보여달라.


# grep --color http.$ /etc/services

   ※ 옵션으로는 -i (대소문자 구별 무시), -v (지정한 패턴을 제외한 문자 출력), -r (하위 디렉토리 전부다)


# head /etc/passwd   '// 기본은 10줄을 보여주며, 처음부터 10줄을 보여달라는 의미

# head -15 /etc/passwd  '// 문서의 처음부터 15줄을 보여달라는 의미

# tail /etc/services   '// 문서의 끝에서 10줄을 보여달라

# tail -15 /etc/services  '// 문서의 끝에서 15줄을 보여달라

# tail -f /var/log/secure  '// 실시간으로 변하는 마지막 10줄을 보여달라


질문 : /etc/passwd 파일의 2번째 행부터 5번째 행까지 모니터 화면에 출력하라.

Answer1 : # head -5 /etc/passwd | tail -4

해설 : 먼저 head 명령어를 사용하여 앞에서부터 5줄을 뽑아내고 파이프(|)를 사용해서

         뽑아낸 것중에서 tail 명령어를 사용해서 하단에서부터 4개를 뽑아낸다.

         그러면, 원하는 2행부터 5행까지 뽑아낼 수가 있다.


Answer2 : # sed -n '2,5p' /etc/passwd


질문 : /etc/passwd 파일에서 ftp, ssh 가 들어있는 라인을 출력하라.

Answer : # grep -e ftp -e ssh /etc/passwd


이제 파일의 내용을 모니터 화면이 아니라 다른 파일로 출력하고 싶다면 어떻게 해야 할까?

리다이렉션 기능을 이용한다.


문법

명령어  > 파일명

명령어  >> 파일명


구 분

>

>>

파일 X

  파일 생성후 결과 저장   파일 생성후 결과 저장

파일 0

  덮어씀   기존 내용에 추가
 

# cp /etc/passwd /root/1.txt       // 파일을 복사

# cat /root/1.txt | tail -15 > /root/2.txt    // 1.txt 파일의 끝부분에서 15줄을 2.txt 파일에 저장하라.



728x90
블로그 이미지

Link2Me

,