이것은 매우 간단한 질문일 수 있지만 여기에 있습니다.
기술적인 분들에게는 GUI보다 CLI를 사용하는 것이 더 효율적이라고 들었기 때문에 CLI 사용법을 배우는 것을 고려하고 있습니다. CLI를 사용하는 것이 왜 유익한지 설명할 수 있습니까?
답변1
그것은 의사소통의 은유에 관한 것입니다. GUI는 그림책입니다. GUI를 사용하면 항목을 다른 항목으로 이동하거나 항목을 마우스 오른쪽 버튼으로 클릭하고 옵션을 선택할 수 있습니다.
하지만 질문하고 싶을 때는 게시물을 입력할 수 있습니다.
명령줄은 거의 동일합니다. 즉, 컴퓨터에 무엇을 해야 할지 알려줍니다. 하고 싶은 일이 간단하다면 사진과 텍스트가 도움이 될 것입니다. 당신이 하고 싶은 일이 복잡하다면, 언어를 사용하면 그것을 더 잘 설명할 수 있습니다.
내가 가장 좋아하는 예 중 하나는 입니다 find
.
find . -mtime -60 -name '*.txt' -exec sed -i.bak 's/fish/carrot/g' {} \;
이는 다음을 수행합니다.
- 현재 디렉터리 구조 검색
- 지난 60일 동안 수정된 모든 파일에 대해
- "*.txt"라고 합니다.
- 이 모든 단어에서 "물고기"라는 단어를 "당근"으로 바꾸십시오.
- 접미사를 붙여 백업 복사본을 남겨두세요
.bak
.
GUI를 사용하여 이를 그래픽으로 어떻게 설명하시겠습니까?
(좀 더 확장하면 명령줄의 다음 단계는 스크립트를 학습하는 것인데, 이를 통해 컴퓨터에서 수행하려는 작업을 더 자세히 설명할 수 있습니다.)
이 원칙은 장기간 실행되고 시간이 많이 걸리는 작업에 더욱 중요합니다. 이를 수행하는 명령을 작성하고 "enter"를 누르고 출력을 저장하십시오. - 집에 가서 계속하세요. 복잡한 GUI 명령의 경우 한 번에 하나씩 실행해야 합니다.
제 생각에는 GUI의 핵심 장점은 사용자가 지식 없이도 다양한 작업을 수행할 수 있다는 것입니다.구체적으로. "일부 설정을 조정"하려면 Windows의 제어판을 살펴보세요. 제어판을 빠르게 탐색하여 올바른 항목을 찾을 수 있습니다. 나는 추천한다거의 볼 수 없는이 작업은 매우 유익합니다. 아마도 (제 생각에는) Linux보다 Windows에서 이 작업을 수행하는 것이 더 쉬울 것입니다.
그러나 사실은 똑같습니다. 가끔씩 수행되는 드문 작업의 경우 GUI가 좋은 선택입니다. 복잡하고 일상적인 반복 가능한 명령의 경우 항상 CLI를 사용하십시오.
답변2
GUI에 비해 CLI가 갖는 가장 중요한 장점 중 하나는 CLI를 사용하면 다음을 수행할 수 있다는 것입니다.용이하게한 명령의 출력을 다른 명령의 입력에 연결합니다. 연결은 간단하고 직관적인 표기법(파이프, |
)을 가지며 구현이 매우 효율적입니다. 이를 통해 사람들은 매우 간단한 빌딩 블록을 함께 연결하여 복잡한 작업을 해결할 수 있습니다.
예를 들어 다음 코드는 이미지 컬렉션에서 중복 항목을 제거합니다.
find ~/Images -type f -name '*.jpg' -print0 \
xargs -0 shasum -a256 | \
perl -l0ne 'm/^(\S+)\s.(.+)$/o and $a{$1} ? (print $2) : ($a{$1} = 1)' | \
xargs -0 rm -f
관련된 각 명령은 매우 간단한 작업을 수행합니다. 각 명령은 이해하기 쉽고 기능의 정확성도 쉽게 확인할 수 있습니다. 그러나 이러한 명령을 함께 연결한 결과는 결코 사소하지 않습니다. GUI에는 이러한 수준의 모듈성이나 유연성이 없습니다.