유닉스, 리눅스에서 가장 많이 사용하는 명령어 중 하나인 파이브라인
기호는 원화키₩키 위의(쉬프트+₩) '|' 이다.
(매킨토시의 경우 원화키(₩) 대신 백슬래시(\))
폰트에 따라 약간씩 다르게 표현된다.
간단한 기능의 명령어지만 서버관리자들이 많이 쓰는
유닉스, 리눅스에 있어 없어서는 안될 명령어이다.
기능설명
파이프라인은 파이프라인 앞 명령어의 출력값을 파이프라인 뒤 명령어의 입력값으로 사용할 수 있게 해준다.
위의 예시에서는 명령어1의 출력값을 명령어2의 입력값으로 쓰며
그에 따라 나온 명령어2의 출력값을 명령어3의 입력값으로 쓰고
최종 명령어3의 출력값을 돌려준다.
한번에 여러번의 파이프라인을 넣을 수도 있어 복합적인 명령어를 넣어 편리하게 서버를 관리할 수 있게 해준다.
가장 자주 사용하는 것이 ps -ef | grep (찾을 단어)이다.
가장 많이 사용하는 명령어 조합을 이용해 예시를 한번 살펴보자
사용예시
[root@localhost ~]# ps -ef | grep apache
가장 많이 사용하는 'ps -ef | grep 단어' 명령어이다.
주로 apache, oracle, httpd, 회사에서 사용하는 시스템 모듈명 등을 검색하여 프로세스가 정상 실행중인지 점검한다.
ps -ef 명령어를 치면 모든 프로세스를 보여줘 보기가 어렵기 때문에
ps -ef의 결과를 파이프라인을 이용해 grep 명령어의 입력값으로 넣어주어 찾고자 하는 프로세스를 쉽게 찾을 수 있다.
한번 실제 서버에서 ps -ef를 입력했을때와 ps -ef | grep 을 실행했을때를 비교해보자
ps -ef만 치면 모든 실행중인 프로세스를 보여주기 때문에 매우 많아 보기가 어렵다
그래서 오늘 알아본 파이프라인을 이용해서 ps -ef명령어를 grep으로 던져줘서 apache를 검색하면
(ps -ef | grep apache를 치면)
apache가 포함된 프로세스를 확인할 수 있다.
여기서 주의해야될 점이 ps -ef는 각 행을 한줄로 표시하기 위해 커맨드창 화면 길이에 따라 길이 제한을 두는데
ps -ef | grep ~ 명령어도 마찬가지로 보기어렵다고 길이를 제한하면 결과가 다르게 나올 수 있다.
이는 ps와 grep이 별개의 명령어기 때문에 ps -ef --columns=50으로 나오는 결과값만 가지고 apache를 찾으므로 뒤가 잘렸다면 grep으로 찾을 수 없다.
거꾸로 생각하면 ps -ef의 경우에는 화면상에는 잘라서 표기하지만 실제는 잘리지 않은 모든 값을 가진다고 볼 수 있다.
이외에도 특정 명령어가 너무 길어 보기 어려울때 more를 이용하여 보여준다던가 등 여러 명령어 조합을 이용 할 수 있다.
[root@localhost ~]# ps -ef --columns=1000 | more
[root@localhost ~]# ls -al | more
[root@localhost ~]# ls -al | grep ~
(참고)
ps -ef : 현재 실행중인 프로세스 목록을 보여주는 명령어
grep : 특정 문자열이 포함된 열을 보여주는 명령어
각 명령어의 상세한 내용은 이전글에서 포스팅 했으니 참고 바람
ps 명령어 이전 포스팅 ▶ https://arer.tistory.com/150
grep 명령어 이전 포스팅 ▶ https://arer.tistory.com/151
more 명령어 이전 포스팅 ▶ https://arer.tistory.com/149
'운영체제 > 리눅스, 유닉스' 카테고리의 다른 글
[리눅스] tar(리눅스 파일 압축, 폴더 압축) (0) | 2018.12.18 |
---|---|
[리눅스] cron crontab 명령어(예약된작업, 백업 등) (0) | 2018.12.05 |
[리눅스]ps명령어(프로세스 확인 명령어, 특정 프로세스 확인) (0) | 2018.10.22 |
[리눅스]grep 명령어(특정 문자열 찾기) (0) | 2018.10.19 |
[리눅스]more명령어(리눅스 긴 파일 확인, 페이지 단위 출력) (0) | 2018.10.17 |