Page 37 -
P. 37

GUI는 비교적 자주 변하기 때문에 ‘메뉴 A를 선택한 뒤 B 버튼을 클릭한다’ 같은 방식으로

                     기능을 익혀 봤자 몇 년이 지나면 쓸모없는 지식이 될 수 있습니다. 이는 리눅스뿐만 아니라
                     윈도나 macOS에서도 자주 생기는 일이지요.

                     하지만 리눅스의 CLI를 다루는 기술은 10년 전에 쓰인 책이 여전히 유용한 경우가 종종 있

                     습니다. 이 책으로 리눅스의 CLI를 익히면 오랫동안 도움이 될 것입니다.



                     프로그램 간 연동

                     리눅스에서는 작은 프로그램들을 서로 연결해 좀 더 크고 복잡한 동작을 실행합니다. 대표
                     적으로 프로그램의 입출력을 서로 주고받을 수 있는 파이프(|)라는 기능이 있습니다.


                         파이프의 예

                        $ grep "abc" sample.txt | sort



                     앞 예는 grep과 sort라는 두 명령어를 연결해 sample.txt에서 abc라는 문자열을 검색한 뒤,
                     그 결과를 정렬하여 출력하라고 지시하고 있습니다. grep과 sort 두 명령어를 파이프(|)로

                     연결한 것입니다. 또한, 15장에서 소개하는 셸 스크립트를 사용하면 다양한 로직으로 프로
                     그램을 연결할 수 있습니다.

                     한편 GUI에서는 이와 같은 프로그램 간의 입출력 연동이 어렵습니다. 따라서 CLI를 사용하

                     면 GUI보다 풍부하고 강력한 기능을 구사할 수 있습니다.



                     처리 자동화

                     CLI에서는 실행할 명령어들을 파일에 기록해 놓고 일괄로 실행하는 것이 가능합니다. 따라
                     서 자주 사용하는 명령어의 흐름을 파일에 기록해 두면 쉽고 정확하게 실행하는 것이 가능

                     합니다.
                     그런데 GUI에서는 반복되는 작업을 말 그대로 직접 반복해야 합니다. 아무리 마우스를 빠

                     르게 움직여도 빠르고 정확하게 실행하는 CLI의 자동화에 견줄 수는 없습니다.

                     또한, 앞서 설명했듯이 프로그램 간 연동이 쉬우므로 여러 명령어를 조합해 자기만의 명령
                     어를 만들어 자동화할 수 있습니다. 이것이 CLI의 가장 큰 장점입니다.


                                                                                      1장  리눅스 첫 걸음  039
   32   33   34   35   36   37   38   39   40   41