본문 바로가기

Learning/ └Essential & Admin

리눅스 파일 내용 확인 명령어_Unit4

파일 내용 확인 명령어




cat CMD


# cat - 텍스트 파일의 내용을 순서대로 화면에 출력

 

OPTIONS

-n    줄번호를 공백을 포함하여 화면 왼쪽에 나타냄(라인 줄번호)
 

명령어 형식

# cat file1                                    // file1 파일 내용을 출력

# cat file1 file2                             // file1, file2 파일 내용을 출력

# cat -n file1                                // file1 파일내용을 줄번호와 함께 출력

# cat file1 file2 > file3                    // file1, file2 출력 결과를 file3에 저장 (1,2를 합쳐서 3에 저장)

 


/etc/passwd 파일 출력

 

 

 

 

cat /etc/passwd                            // 출력

cat -n /etc/passwd                        // 줄번호 와 함께 출력

cat -n /etc/passwd | fedora             // 줄번호 와 함께 fedora 에 대한 내용만 출력

 

file1, file2 두개의 파일을 하나의 file3으로 합치기

 

 

 # cat f1 f2 > f3         // f1 f2 의 내용을 합쳐 f3 의 파일을 생성

 

 

[참고] cat 명령어를 사용하여 바이너리 파일 확인 시

ex ) cat /bin/ls         // cat : 대상이 .txt 파일            바이너리 파일은 cat으로 열수 없다.

strings -f /bin/ls             // 바이너리 파일 출력

 

 

 

 

 

more CMD


# more - 문자속성을 살린 파일 보기 (풀그림)


OPTIONS

-c     파일을 한행씩 지우면서 출력( 끌어서 보기)


 

명령어 형식

# more file1                        // file1 파일을 출력

# more -c file1                     // file1 파일을 한행씩 지우면서 출력 (more와 같은 형태)
 

[참고] cat & more CMD 차이점

# cat /etc/services

한번에 모든 내용이 출력                // (shift + pageUp 위로올리기)

# more /etc/services

첫 번째 페이지에서 멈춰있는 상태로 출력

enter - 한줄씩

space - 한페이지씩            q - 빠져나오기

 

 

CMD | more 형식 실습

 

|(pipe) 란 ?  ( CMD | CMD )

앞의 명령어 출력 결과를 다음 단에 명령어에 입력 ( 파일을 정의할수 없음)

 

# help | more         :  내부 명령어의 목록을 첫 번째 페이지에서 멈춰있는 상태로 출력.

# cat /etc/services | more : 모든 services 내용을 멈춰있는 상태로 출력

 

[참고] more 안에서 사용할 수 있는 여러 가지 키보드 키 값

 

[참고] more 안에서 사용할 수 있는 여러 가지 키보드 키 값

more화면 창에서 h 또는 ?를 치면 아래와 같은 화면이 나오며 여러 가지 기능을 확인 할 수 있다.

Star (*) indicates argument becomes new default.

-------------------------------------------------------------------------------

<space> Display next k lines of text [current screen size]

z Display next k lines of text [current screen size]*

<return> Display next k lines of text [1]*

d or ctrl-D Scroll k lines [current scroll size, initially 11]*

q or Q or <interrupt> Exit from more

s Skip forward k lines of text [1]

f Skip forward k screenfuls of text [1]

b or ctrl-B Skip backwards k screenfuls of text [1]

' Go to place where previous search started

= Display current line number

/<regular expression> Search for kth occurrence of regular expression [1]

n Search for kth occurrence of last r.e [1]

!<cmd> or :!<cmd> Execute <cmd> in a subshell

v Start up /usr/bin/vi at current line

ctrl-L Redraw screen

:n Go to kth next file [1]

:p Go to kth previous file [1]

:f Display current file name and line number

. Repeat previous command

-------------------------------------------------------------------------------

spacebar : 매뉴얼 페이지에서 한 화면 단위로 넘어 갈 때 사용

Enter : 매뉴얼 페이지에서 한 라인씩 넘어 갈 때 사용

b : Back Screen, 한 화면 전 화면으로 넘어갈 때 사용

/pattern : 특정한 패턴을 빨리 찾을 때 사용

n : Next, 특정한 패턴을 찾은 후 다음 번째 똑같은 문자열을 찾을 때 사용

h : help 매뉴얼 페이지 안에서 사용 할 수 있는 명령어 소개

q : quit, 빠져나옴

 

 

 

head CMD


# head - 파일의 처음 부분을 출력

파일의 처음 시작 부분의 몇 줄을 출력 하고 자 할 때 사용. 따라서 긴 파일의 내용의 앞 부분만을 출력 하고자 할 때

유용하게 사용 옵션 없이 사용된 경우 문서의 처음 10줄을 보여 준다.

OPTIONS

-n    위쪽 행에서부터 출력할 행수를 지정

-c    byte 수 만큼만 출력

 

명령어 형식

# head /etc/passwd                    //(# head -10 /etc/passwd, # head -n 10 /etc/passwd)

# head -n 5 /etc/passwd             // 숫자에 해당하는 라인 번호 수 만큼만 출력 (기본은 10줄 )

# head -c 10 /etc/passwd            // -c 옵션 다음에 오는 숫자 byte 수에 해당하는 만큼 출력
 

"head -n #" 실습

 

 

 

 


head 명령어를 이용한 프로세스의 헤 더 부분 출력

 

# ps -ef                            //자료가 많아서 페이지가 넘어간다

# ps -ef | more                   // more 명령어로 헤더부분을 포함하여 출력

 

 

# ps -ef | head -1 명령어로 헤더부분 만 출력

 

 

 

# ps -ef | grep inetd                                   // 원하는 부분만 출력 (inetd 만 검색하여 출력)

# ps -ef | head -1 ; ps -ef | grep inetd            // 헤더부분과 검색한 부분만 보기 좋게 출력

( 한 줄에 ;(세미콜론)을 사용하여 두 가지 명령을 할수 있다.)

-> 명령어 줄이기 alias pps='ps -ef | head -1 ; ps -ef | grep $1'    ( gedit ~/.bashrc 추가 )

 

 

 

# alias pps='ps -ef | head -1 ; ps -ef | grep $1'            // $1 : 첫번째 인자 (임의대로 명령하여 출력)

# pps inetd ( # pps syslogd )

 

원하는 부분만 입력하여 출력

       

 

 

 


 

tail CMD


# tail -

OPTIONS

-f    파일의 크기가 변할때마다 추가된 정보를 출력한다.
 

명령어 형식

# tail /etc/passwd                         // # tail -10 /etc/passwdd, # taill -n 10 /etc/passwd

# tail -5 /etc/passwd
# tiail +5 /etc/passwd                    // 5번째 줄부터 끝까지 출력

 

# tail -f /var/log/messages            // 파일의 이름을지정(대부분 log)

# tail -n +2 file1

# fail -f /var/log/messages


 

 

로그 파일 모니터링 (EX: tail -f CMD)

# chkconfig --list ( 원격 로그인 할때 쓰임 )

 

 

#tty

dev/pts/1        // 1번 가상 터미널

(루트사용자로 로그인 할수 있는 터미널 정의)

pts - 가상터미널

tty - 터미널 타입

 

[TERM1]관리자용 윈도우

tail -f /var/log/messages            // 로그파일 제공

 

 

 

[TERM2]사용자 윈도우

(사용자 추가 방법)

useradd user01

passwd user01

 

 

서버를 실시간적으로 모니터링

 

 

# top                                    (# gnome-system-monitor) 시스템정보 출력

# tail -f /var/log/messages        ( # gnome-system-log) 로그 화면 출력 (log 로만 확인할수 있는것들)

 

grep 명령어로 필터링 해서 쓰는법

로그파일이 너무 많아서 필요한 일부만 출력

# tail -f /var/log/messages | grep -i DHCP             // DHCP 서버에 관련된 기록만 출력

# tail -f /var/log/messages | grep -i DNS              // DNS 서버에 관련된 기록만 출력

# tail -f /var/log/messages | grep oracle              // 오라클 기록만 출력

# tail -f /var/log/messages | grep wasuser           //  사용자 이름만 출력

# tail -f /var/log/messages | egrep -i '(warn | error | crit | alert | emerg)'

 

# tail -f /var/log/messages messages 로그 파일 출력

 

 

# tail -f /var/log/messages | grep -i DHCP     messages 파일 중 DHCP만 출력

 

 

기타 관리용 명령어 바로가기

http://hyess.tistory.com/entry/%EA%B8%B0%ED%83%80-%EA%B4%80%EB%A6%AC%EC%9A%A9-%EB%AA%85%EB%A0%B9%EC%96%B4