최신 GUI 기반 Linux 배포판에서 명령줄이 여전히 일반적으로 사용되는 이유는 무엇입니까? [폐쇄]

최신 GUI 기반 Linux 배포판에서 명령줄이 여전히 일반적으로 사용되는 이유는 무엇입니까? [폐쇄]

명령줄이 널리 사용되는 선택입니까, 아니면 여기에 문제가 있습니까?

최신 Linux에는 명령 해석기 텍스트 기반 UI에 대한 입력을 통해 GUI 위에 쉽게 구현할 수 있는 수십 개의 새롭고 강력한 3D 렌더링 GUI, 그래픽 기반 API 및 데스크탑 인터페이스가 있습니다. 명령을 사용하면 프로그램에 GUI 요소가 더 잘 포함됩니다.

내가 말하려는 것은 왜 명령줄이 2013년에도 여전히 그렇게 인기가 있느냐는 것입니다.

내 말은, 컴퓨터의 메모리가 매우 작기 전에는 멋진 GUI가 메인 메모리를 잡아먹었다는 데 동의할 수 있습니다. 하지만 지금은 메모리가 정말 저렴하고 GUI는 3D이며 보조 배터리 시스템이 날로 발전하고 있습니다. 좋아요, 그럼 얘기해 보겠습니다. , 그렇다면 왜 인터프리터에 명령을 입력하여 터미널 UI 시뮬레이션을 구문 분석합니까?

보다 현대적인 GUI를 통하는 것 외에 명령을 구현하는 더 강력한 그래픽 방법이 없는 이유는 무엇입니까?

예를 들어, 데이터시트 보기를 생성하는 버튼으로 "ls" 또는 "list"를 사용하는 것은 어떻습니까? 또는 현재 탑재 지점의 테이블 보기를 생성하는 버튼에 "umount"를 구현하는 것은 어떻습니까?

전반적으로, 보다 편리한 트랩핑에서 정확히 동일한 제어 및 기능을 제공하는 보다 현대적인 명령 해석기 구현이 실행되지 않는 이유는 무엇입니까?

추신: 여기에 이 ​​내용도 추가해야 합니다...그러려는 의도는 아니었습니다.모든명령은 멋진 위젯 등이 포함된 GUI 기반 프로그램을 사용하여 구현되어야 합니다. 나는 단지 명령줄을 개편해야 한다고 생각합니다. 그렇지 않으면 일부 아이디어는 단순한 "단어"보다 시각적 측면을 통해 더 쉽게 표현, 최적화, 관리 또는 순환될 수 있습니다. 논쟁을 시작하려는 것이 아니라 왜 이렇게 아무것도 변하지 않았는지 알아보고 운영 체제/소프트웨어의 그래픽이 수년 동안 발전해 온 것을 알아보기 위한 것입니다.

답변1

명령줄에는 구문이 있습니다. 즉, 어휘적으로 동일한 문자열에 위치나 다른 문자열과의 관계에 따라 다른 의미를 부여하는 방법입니다.

문법이 없는 것보다 문법이 있으면 더 많은 것을 표현할 수 있습니다. 가장 좋은 예는 회문 문자열입니다. 회문을 인식하는 정규식(comp sci 유형)을 작성할 수 없습니다. 또 다른 예: "특정 수의 'a' 문자 뒤에 동일한 수의 'b' 문자가 오는" 정규식을 작성할 수 없습니다.

구문을 익히면 프로그래밍 가능성이 높아집니다. 테스트와 "while" 루프가 포함된 명령줄이 있습니까? 임의의 계산을 할 수 있는데, 이는 "더 표현할 수 있다"는 또 다른 표현입니다.

어느 정도의 프로그래밍 기능을 갖춘 포인트 앤 클릭 인터페이스는 거의 없습니다.

내 생각에 대답은 "명령줄이 더 표현력이 좋다"로 귀결됩니다.

답변2

저에게는 자동화가 전부입니다.

다음은 내 쉘 기록 파일에서 추출한 일련의 작은 자동화 예(일부 줄 분할 포함)입니다.

# Modify remote urls for a few dozen git repositories
while read repo ; do (
    cd $repo; git-remote-mod-url 's/parad/para/g' locserv
); done < gits

# List the package repository that contains each package in a list
while read package ; do
    echo -n "$package " ; yaourt -Si $package | grep Repository
done < all-packages

# Make a bunch of directories based on the output of a script
./scripts/info/list.sh a | while read cat ; do mkdir $cat ; done

# Filter hundreds of files
for p in * ; do clean-text < $p/PKGBUILD | sponge $p/PKGBUILD; done

# Retrieve a list of items that might be suitable as examples for this post
grep -E '\<(while|for)\>' hist-zsh

# Get a list of orphan packages on the [AUR](https://aur.archlinux.org/)
for pack in * ; do (
    source $pack/info
    echo $pack
    curl -s https://aur.archlinux.org/packages/$upstream_name/ |
    grep '<td>None</td>'
); done

Unix 계열 시스템에서 제공되는 명령은 유연합니다. 이들을 서로 연결하여 수많은 작업을 수행할 수 있습니다. 마치 빌딩 블록이나 레고와 같습니다. 그래픽 절차가 더욱 엄격해졌습니다. 다른 프로그램과 연결하기 어려운 경우가 많습니다.

답변3

저는 더 빠르고, 더 간결하고, 더 유연하고, 더 강력하기 때문에 명령줄을 선호합니다. 마우스로 할 수 있는 거의 모든 작업을 키보드로 더 빠르게 할 수 있습니다. 이것이 바로 나(그리고 다른 사람들)가 IDE보다 vim을 선호하는 이유이다.

답변4

가능한 이유:

  1. 스크립팅 - 자동화(마우스 및 버튼과 반대) - 매번 수동으로 마우스를 움직이고 버튼을 클릭하는 데 에너지를 낭비하지 않습니다.
  2. CLI가 덜 산만함(집중됨)
  3. CLI는 더 적은 리소스를 사용합니다(더 빠르게 실행됨).
  4. GUI는 CLI(명령 및 파일)를 기반으로 합니다. CLI를 없앨 수는 없습니다.

관련 정보