■ 리눅스 파이프(pipe) 명령어


리눅스 쉘에서 사용하는 명령어 들은 명령어를 조합 및 연결하여 많이 사용하는데, "|" (vertical bar) 문자를 사용하여 두 명령어를 연결해 주면 앞에서 실행한 명령의 연결 값을 뒤에 적은 명령의 입력으로 사용하는 것을 지칭 합니다. 


즉, 파이프로 연결된 하나의 표준 출력을 다른 명령의 표준 입력으로 사용한다는 의미가 됩니다. 예제를 통하여 사용법을 알아 봅니다.


□ 파이프 예제 1


ls -lt | head


파일 목록 중 시간 단위로 최근의 파일을 화면에 출력하는데 head, 즉 10개의 라인만 출력해 주는 명령어 입니다.


□ 파이프 예제 2


du -h | sort -nr

du 명령은 현재 디렉터리와 하위 디렉터리의 파일 용량을 표시해 주는데, -h 옵션을 사용하여 K, M, G 단위로 표시해 주도록 하였으며, 이 출력의 결과를 sort 명령의 입력으로 사용하여 화면을 정렬 하도록 하는 명령어 입니다. sort 명령에 사용된 -nr 옵션은 숫자값으로 소팅 하는데 내림차순으로 정렬하라는 의미 이므로, 숫자 값이 큰 항목이 먼저 출력 됩니다.



□ 파이프 예제 3


du -h --max-depth 1 | sort -nr


du -h --max-depth 0


du 명령의 옵션으로 "--max-depth 1"을 사용하였는데, 이것은 현재 디렉터리부터 깊이를 1만큼만 출력하라는 의미입니다. 디렉터리를 출력하지 않고 현재 디렉터리의 전체 용량을 보려면 "--max-depth 0" 옵션을 사용하면 됩니다.



□ 파이프 예제 4


find . -type f -print | wc -l


find 명령은 검색을 위한 명령인데, 디렉터리 부분에 "."을 사용하였기 때문에 현재 디렉터리에서 검색하겠다는 의미이며, -type f 옵션을 사용하였으므로 파일에 대해 -print 옵션을 사용하여 화면에 출력하기 때문에, 현재 디렉터리와 하위 디렉터리들에 포함된 모든 파일들을 출력하는 명령어 입니다. 이 명령의 결과를 wc -l 명령을 사용하여 출력되는 라인 수를 카운트 한 다음 화면에 출력하는 예제 입니다. 즉, 특정 디렉터리의 파일 총 개수를 알고 싶은 경우 사용하면 됩니다.



Posted by 빈이아빠 mobile

댓글을 달아 주세요