Computer >> 컴퓨터 >  >> 체계 >> Linux

어떤 Linux 셸이 가장 좋습니까? 5 일반 쉘 비교

Linux에서 bash 쉘을 사용하는 것이 좋습니까? 아니면 대안을 시도해 보시겠습니까? 선택할 수 있는 tsch, fish, KornShell 및 Z Shell이 ​​있습니다. 그러나 이러한 인기 있는 Linux 셸 중 가장 좋은 것은 무엇입니까?

Linux 셸이란 무엇입니까?

일반적으로 애플리케이션을 작성할 때 인간이 이해할 수 있는 고급 언어로 작성됩니다. 예를 들면 C#, Java, C++ 등이 있습니다. 믿거나 말거나, 컴퓨터는 모든 것을 1을 0으로 간주하거나 일반적으로 알려진 바이너리 또는 기계어 코드로 봅니다.

그런 다음 컴파일러는 고급 언어를 실행 파일과 같은 이진 파일로 변환합니다. 이 바이너리 파일은 해당 애플리케이션을 실행하기 위해 실행하는 파일입니다.

자, 이것은 무슨 일이 일어나는지에 대한 매우 높은 수준의 보기입니다. 컴퓨터에는 번역 계층이 필요하다는 것을 기억하십시오. 이것은 당신이 지시하는 것과 그것을 이해하는 방법 사이에 있습니다.

쉘은 인터프리터로 알려진 것입니다. 컴파일러와 유사하게 인터프리터는 인간 코드를 기계 코드로 번역합니다. 차이점 중 하나는 통역사가 한 번에 한 문장씩 수행한다는 것입니다. 한편 컴파일러는 전체 프로그램을 스캔하여 모두 기계어로 번역합니다.

쉘은 운영 체제(OS)와 상호 작용하기 위한 인터페이스입니다. 쉘에 명령을 입력할 때 쉘은 해당 명령을 해석하고 마법을 일으키는 역할을 합니다. 파일 복사, 파이핑, 파일 나열과 같은 작업은 모두 셸의 권한 내에 있습니다.

여러 Linux 셸을 사용할 수 있습니다. 시스템에서 사용할 수 있는 모든 쉘을 찾으려면 터미널을 열고 다음을 입력하십시오.

cat /etc/shells

현재 사용 중인 쉘을 찾으려면 다음을 입력하십시오.

echo $0
어떤 Linux 셸이 가장 좋습니까? 5 일반 쉘 비교

그러나 최고의 Linux 셸을 사용하고 있습니까? 사용 가능한 항목을 살펴보겠습니다.

1. 배쉬

이것은 Linux 사용자들 사이에서 가장 인기 있는 셸입니다. Bourne-Again Shell(bash)이 방정식의 일부가 되지 않고는 쉘에 대해 생각조차 하기 어렵습니다. bash가 기본 GNU 쉘이기 때문에 많은 Linux 배포판은 bash를 기본 쉘로 제공합니다. 1989년에 출시된 이 제품은 수십 년간 건전한 개발을 자랑합니다.

Bash의 전신은 원래 Unix 셸 중 하나인 Bourne Shell(sh)입니다. sh 프로그래머에게 매력적인 기능 중 하나는 스크립트를 완전히 변경하지 않고 bash로 직접 이식할 수 있다는 것입니다. Bash는 또한 이전 버전보다 몇 가지 향상된 기능을 제공합니다.

  • 명령 완성
  • 명령 기록

종종 온라인 문서에서는 bash를 사용하고 있다고 가정합니다. 그러나 bash 스크립트를 작성한 적이 있는 사람이라면 누구나 증명할 수 있듯이 단점이 없는 것은 아닙니다! 당신이 뭔가를 할 수 없다는 것이 아니라 읽고 쓰는 것이 항상 특별히 우아하지 않다는 것입니다.

2. 콘쉘

어떤 Linux 셸이 가장 좋습니까? 5 일반 쉘 비교

일반적으로 ksh로 알려진 KornShell은 1980년대 Bell Labs에서 시작된 인기 있는 대체 Linux 셸입니다. bash와 ksh 사이에는 많은 차이점이 없지만 각각은 서로에 비해 약간의 장점이 있습니다. 예를 들어, Ksh에는 cd old new 명령이 있습니다. /Downloads/foo/bar/one/foobar 디렉토리에 있는 경우 /Downloads/foo/bar/two/foobar로 이동해야 했습니다. 다음을 입력하기만 하면 됩니다.

cd one two

ksh의 베테랑들은 스크립팅 이점을 언급함으로써 그것의 우월성을 옹호할 것입니다. 여기에는 다음이 포함됩니다.

  • 더 나은 루프 구문
  • 명령을 반복하는 자연스러운 방법
  • 연관 배열

bash와 달리 온라인에서 ksh에 대한 도움말을 찾기가 어렵습니다. ksh를 시도하려면 다음을 입력하십시오.

sudo apt install ksh
ksh

3. Tcsh

어떤 Linux 셸이 가장 좋습니까? 5 일반 쉘 비교

Tcsh는 유닉스 초창기까지 그 뿌리를 추적할 수 있습니다. C 셸(csh) 및 기능의 개선된 버전입니다.

  • 프로그래밍 가능한 명령줄 완성
  • 명령줄 편집
  • 별칭에 인수 추가
  • 간편한 명령 기록 액세스

!n을 입력하여 모든 명령을 실행할 수 있습니다. n을 표시된 기록의 해당 번호로 바꿉니다. tcsh의 기록 탭 완성은 다음을 입력하여 작동합니다.

!a<TAB>

이것은 문자 "a"로 시작하는 마지막 명령으로 확장됩니다. 이에 비해 bash에서는 !a:p를 입력해야 합니다. 명령을 먼저 본 다음 !! 실행합니다.

tcsh를 시도하려면 다음을 입력하십시오.

sudo apt install tcsh
tcsh

Tcsh는 FreeBSD와 같은 BSD 기반 시스템의 기본 셸입니다. tcsh의 가장 큰 장점은 스크립팅 언어로, 주로 C로 프로그래밍하는 모든 사람에게 유용합니다. 이것은 tcsh를 사용하는 괄호와 같은 것들을 혼동하지 않고 작은 C 프로그램을 프로토타이핑하는 데 유용합니다. 이 문제는 C 프로그래밍과 쉘 스크립팅 사이를 계속 전환할 때 발생하는 경향이 있습니다.

4. 물고기

어떤 Linux 셸이 가장 좋습니까? 5 일반 쉘 비교

Linux의 모든 진지함 중에서 fish 팀은 프로젝트에 유머 감각을 포함시켰습니다. 그들의 웹사이트에서 풍자적인 제목은 비록 물고기("f 부드럽게 나는 대화형 ell")은 2005년에 개발되었습니다. 선전된 "Glorious VGA Color" 외에도 다른 쉘에 비해 몇 가지 향상된 기능이 있습니다.

  • 구문이 잘못된 명령은 빨간색으로 표시됩니다.
  • 올바른 구문이 파란색으로 표시됨
  • 자동 완성 제안
  • 컴퓨터의 매뉴얼 페이지를 기반으로 한 명령 완성.

이 기능은 새로 설치된 소프트웨어의 매뉴얼 페이지에 있는 구문을 자동 완성 제안에 추가합니다. 명령줄에 더 익숙해지려면 물고기를 시작하는 것이 좋습니다.

물고기에 대한 샘플을 보려면 다음을 입력하십시오.

sudo apt install fish
fish

5. Z 쉘

어떤 Linux 셸이 가장 좋습니까? 5 일반 쉘 비교

많은 사람들은 이것이 가장 좋은 껍질을 마지막으로 남겨두는 것으로 생각할 것이며 완전히 이해할 수 있습니다. Zsh는 bash 및 ksh와 유사하며 tcsh뿐만 아니라 그 안에 있는 많은 기능을 통합합니다. Zsh 기능:

  • 탐색 가능한 자동 완성 목록
  • 뛰어난 맞춤법 수정
  • 명령줄 완성
  • 여러 터미널에서 공유되는 기록
  • 글로빙(파일 이름에 대한 와일드카드 문자)

zsh의 글로빙은 매우 유용합니다. 타이핑:

vim /u/l/b/a<TAB>

파일 열기:

/usr/local/bin/autoupdate.sh

기본 구성을 사용하지 않으면 Zsh를 처음 사용할 때 구성하는 데 시간이 걸릴 수 있습니다. 시도해 보려면 다음을 입력하십시오.

sudo apt install zsh
zsh

나에게 가장 적합한 Linux 셸은 무엇입니까?

이러한 옵션을 사용할 수 있다는 사실은 훌륭합니다. 각각은 프로그래머가 자신만의 방식으로 작업을 수행하기로 결정한 컴퓨팅 역사를 엿볼 수 있습니다.

이러한 셸 간의 실질적인 차이점은 스크립팅 구문에서 찾을 수 있습니다. 각 쉘에는 서로를 구분하는 특정 뉘앙스가 있습니다. 현재로서는 bash가 시장 점유율 측면에서 지배적이므로 도움말을 훨씬 쉽게 찾을 수 있습니다. Bash는 가장 고급 사용자를 제외한 모든 사용자의 요구 사항을 충족하는 최고의 만능 도구입니다.

Linux 셸에 익숙해지면 셸 스크립팅의 기본 사항에 익숙해져야 합니다.