GUI vs CLI
- Resouce사용
- GUI는 그래픽하게 사용할 수 있기 때문에, 사용성이 높지만 Resource를 많이 많이 잡아먹는다
- CLI는 컴퓨터 용량, CPU, 메모리를 적게 쓰는 장점이 있다
- 순차적인 작업
- GUI는 프로그램을 실행시킬 때, 순차적으로 진행되는 일을 자동화하기가 어렵다
- CLI는 프로세스를 실행시켜 놓으면, 알아서 동작한다는 장점이 있다
CLI의 강력한 효과
순차적으로 실행이 가능하다
우리가 명령어를 통해서 얻을 수 있는 중요한 효과는 우리가 어떤 명령어(프로그램)을 실행했을 때 그 프로그램이 끝나는 것을 확인하고 나서, 그 다음 것을 실행할 필요가 없다는 것입니다.
순차적으로 내가 해야될 일을 쭉 적어서 컴퓨터에게 보내주면 컴퓨터는 순서대로 그 명령들을 실행하고, 최종적인 결과만을 알려줍니다. 그렇기 때문에 우리는 우리는 그 중간 과정을 지켜보고 있을 필요가 없습니다.
바로 이것이 우리가 명령어를 통해서 컴퓨터를 제어했을 때의 굉장히 중요한 요소이고, 어떻게 보면 우리가 컴퓨터 프로그래밍이라고 하는 것을 배우고 쓰는 이유라고도 할 수 있습니다.프로그램이란 말은 "순서대로 명령이 실행된다"라는 말이거든요.
# 명령어 한줄씩 실행 [root@cookie ~]# mkdir why [root@cookie ~]# cd why # 한번에 실행(WOW!!) [root@cookie ~]# mkdir why;cd why
파이프(|)
- 파이프의 특성 : '무언가를 어느 한 곳에서 다른 곳으로 전송한다'
- 이를 아래와 같이 표현할 수 있다.
- 하나의 명령의 실행 결과를 다른 명령의 입력으로 준다
- (= 하나의 프로그램의 결과를 다른 프로그램의 입력으로 준다)
- (= 하나의 프로세스의 출력의 결과를 다른 프로세스의 입력으로 준다)
- 이런 기능을 통해서 굉장히 강력한 효과를 만들어 낼 수 있다
예제
[root@cookie ~]# ls --help | grep sort
- ls --help가 실행되면서 ls의 사용설명서가 화면에 출력된다
- 그렇게 출력된 결과를 파이프로 연결해서
- grep sort라고 하는 명령에 입력으로 준다
- grep은 그 입력에서 sort라는 텍스트가 포함되어 있는 텍스트만 검색해서 화면에 표시해준다
[root@cookie ~]# ls --help | grep sort | grep file
- 이런 방법으로 계속 파이프로 연결 가능
[root@cookie ~]# ps aux | grep apache