네이버클라우드 캠프 | BE/Linux 기초

[Linux/Ubuntu] Divide and Conquer : Pipe, Redirect

three kim 2023. 4. 26. 15:40
728x90

 

리눅스에서 작업을 하다 보면, 여러 개의 명령어를 조합해야 할 때가 많습니다.

이번 글에서는 명령어를 조합하는 파이프(Pipe), 리다이렉트(Redirect), 두 가지 기능에 대해 간단히 알아보겠습니다.

 

1. 파이프 (Pipe)

파이프는 리눅스에서 명령어를 조합하는 가장 기본적인 방법 중 하나입니다.

파이프는 앞선 명령어의 결과를 다음 명령어로 전달하며, 두 명령어를 조합하는 역할을 합니다.

(두 개만 조합한다는 의미가 아니라, 앞 뒤 명령어를 조합한다는 의미입니다!)

종류 설명
ps -ef | grep pts/(n) pts 번호가 n인 사용자의 PID 번호 확인 가능
ls -al | grep a 현재 디렉터리의 파일 중 이름에 a가 포함된 파일 출력
ls -al | more 현재 디렉터리의 파일 목록을 한 페이지 단위로 출

 

2. 리다이렉트 (Redirect)

리다이렉트는 출력을 파일로 저장하거나 파일을 입력으로 사용하는 것과 같이 입출력을 파일로 변경하는 기능입니다.

# 출력 결과를 파일로 저장
command > file_name

# 기존 파일에 이어서 새로운 결과 추가 및 저장
command >> file_name

# 파일을 입력으로 사용
command < file_name

# 파일을 입력으로 사용 (명령즐에서 파일 내용을 직접 작성하여 입력으로 전달 가능)
command << file_name

 

2-1. > 예시

>
종류 설명
ps -ef > ps.list 시스템의 모든 프로세스 정보를 ps.list 파일에 저장 (홈 디렉터리에 w 권한 필요)
ps -ef | grep ubuntu > ps_ubuntu.list 이름에 ubuntu라는 단어가 포함된 프로세스를 ps_ubuntu.list 파일에 저장
cat > test.txt
this is test.

(Ctrl + D)
test.txt 파일 생성
파일 내용 입력
파일 내용 입력 후, Ctrl + D (저장)
파이프 사용 ps -ef | grep ubuntu > result.list
파이프 없이 1 ps -ef > temp.list
grep ubuntu temp.list > result.list
파이프 없이 2 ps -ef > temp.list
grep ubuntu < temp.list > result.list

 

마무리

이번 블로그 글에서는 파이프와 리다이렉트에 대해 간단히 알아보았습니다.

관련 내용 중 극히 일부를 다룬 것이니, 꾸준히 내용을 추가하도록 하겠습니다.

간단히 참고 부탁드리며... 감사합니다 :)