티스토리 뷰

파이프 ( | )

두 명령어를 연결하는 통로 역할

파이프 앞의 명령어에 대한 출력을 뒤 명령어의 입력으로

 

ls -l /etc | more

ls -l /etc | more

앞 명령의 출력뒤 명령어인 more에 입력으로 하면?

ls -l /etc 의 엄청 긴 내용들이 more 명령을 한 것처럼 페이지로 넘기면서 편하게 볼 수 있음

 

 

shift+\ 누르면 | (혹시나 키보드에서 파이프 기호를 못찾을 분들을 위해..)

 

 

필터

필요한 것만 걸러주는 명령어

grep, tail, wc, sort, awk, sed 등의 명령어가 있다.

주로 파이프와 함께 사용된다.

 

grep

ps -ef | grep bash

ps -ef | grep bash

ps -ef 명령: 시스템의 모든 프로세스 번호를 출력함. 이것을 파이프 뒤의 명령으로 넘기면, 

grep bash : bash 라는 단어가 들어간 것만. 

즉, bash 단어가 들어간 프로세스만 출력함

 

rpm -qa | grep dnf

rpm -qa : 설치된 패키지들 출력

-> 설치된 패키지 중 dnf 글자가 들어간 패키지만 출력.

 

tail : 파일의 뒤에서부터 출력

 

wc 

word count

라인 수, 단어 수, 글자 수 순서대로 출력

ls -l /etc | wc 

ls -l /etc | wc

앞 명령인 ls -l /etc의 내용에서 wc 명령어 적용하여 라인 수, 단어 수, 글자 수를 출력

 

sort 

정렬

ls -l /etc | sort -k 8

파일이름을 대상으로 오름차순 정렬

sort 명령어에는 다양한 옵션들이 있는데 다음에 알아보도록 합시다.

 

awk

파일로부터 레코드(record)를 선택하고, 선택된 레코드에 포함된 값을 조작하거나 데이터화하는 것을 목적으로 사용.

 

sed

stream editor. 원본 파일에 변화를 주지 않고, 출력되는 것에만 변화를 줘서 보여주는 역할

 

 

*여기서는 필터의 개념에 집중하고, 필터에 쓰이는 명령어에는 이러이러한 명령어가 쓰일 수 있구나 하고 개념만 알고 넘어가겠습니다.

 

 

리디렉션

redirection

표준 입출력의 방향을 바꿔준다.

[ 표준 입력 : 키보드 / 표준 출력 : 화면 ]

입출력을 파일로 처리하고 싶을 때 리디렉션을 사용한다.

 

ls -l > list.txt

ls -l 명령 결과를 화면에 출력하지 않고, list.txt 파일에 저장한다.

만약 list.txt 파일이 기존에 있으면 덮어쓴다.

 

ls -l >> list.txt

위와 같은데 다른 점은,

list.txt 파일이 기존에 있을 때 기존 내용을 이어서 쓴다.

 

sort < list.txt

list.txt파일 내용을 정렬해서 화면에 출력한다.

 

sort < list.txt > out.txt

sort < list.txt > out.txt   - list.txt 파일을 정렬해서,

sort < list.txt > out.txt   - out.txt 파일에 쓴다.