Bash 대 Zsh: 차이점 및 비교

Bash Vs Zsh Differences



세게 때리다 shell은 Linux의 기본 셸이며 Bourne Shell을 대체하여 출시되었습니다. 많은 자동화 작업 및 프로그래밍 솔루션은 다음을 통해 수행할 수 있습니다. 세게 때리다 용이하게. Linux에는 다음과 같은 동일한 유형의 작업을 수행하는 데 사용할 수 있는 다른 많은 셸이 있습니다. 세게 때리다 . Z 쉘 또는 즈쉬 후에 발명된 것 중 하나입니다. 세게 때리다 . Bash와 같은 많은 기능이 있지만 일부 기능은 다음과 같습니다. 즈쉬 맞춤법 수정, CD 자동화, 더 나은 테마, 플러그인 지원 등 Bash보다 더 좋고 개선되었습니다. Linux 사용자는 Linux 배포판과 함께 기본적으로 설치되기 때문에 Bash 셸을 설치할 필요가 없습니다. Zsh 또는 Z 셸은 기본적으로 시스템에 설치되어 있지 않습니다. 사용자는 이 셸을 설치해야 사용합니다. 일부 기능은 일반적으로 세게 때리다 그리고 즈쉬 그러나 이 문서에서 적절한 설명과 함께 설명하는 이러한 쉘 사이에는 몇 가지 주요 차이점이 있습니다.

'를 사용하여 CD ' 명령

'cd' 명령은 Bash 및 Zsh 셸 모두에서 현재 디렉터리를 변경하는 데 사용됩니다. 디렉토리를 재귀적으로 검색하여 파일과 폴더를 찾는 기능을 호출합니다. 재귀 경로 확장 zsh에서만 지원됩니다. bash 및 zsh 셸에서 'cd' 명령을 사용하는 방법은 다음과 같습니다.







세게 때리다

디렉토리를 변경하려면 bash에서 디렉토리의 전체 경로를 입력해야 하며 bash에서는 재귀 경로 확장을 지원하지 않습니다.



$CD 암호/파이썬



즈쉬

이 쉘에서 디렉토리와 파일을 쉽게 검색할 수 있습니다. 입력하면 cd + space + c + 탭 zsh 셸에서 다음으로 시작하는 모든 파일 또는 폴더 이름을 검색합니다. '씨 ' 하고 가장 먼저 찾은 파일이나 폴더의 이름을 보여줍니다.





% CD

예를 들어 코드 폴더가 발견되고 표시됩니다. 다시 입력하면 '/NS' 그러면 '로 시작하는 파일과 폴더 이름이 표시됩니다. NS '.

% CDNS



맞춤법 수정

맞춤법 검사기는 모든 쉘에 매우 유용한 기능입니다. 사용자는 이 기능을 통해 입력 오류를 쉽게 수정할 수 있습니다. 이 기능은 두 가지 모두에서 지원됩니다. 세게 때리다 그리고 쉿. 그러나 맞춤법 교정은 다음에서 더 효율적으로 수행할 수 있습니다. 즈쉬 껍데기. 이 기능의 사용은 아래 두 셸에 대해 표시됩니다.

세게 때리다

' 디렉토리로 이동한다고 가정합니다. 음악 ' 하지만 ' 음악' 실수로 bash 셸은 기본적으로 맞춤법 오류를 감지하지 못하고 오류 메시지를 표시합니다. 해당 파일이나 디렉토리가 없습니다 .

$CD음악

이러한 유형의 문제를 수정하려면 맞춤법 검사기를 활성화해야 합니다. 열려있는 ~/.bashrc 맞춤법 검사기를 활성화하는 줄을 추가하기 위해 편집기에서 파일. 여기서, 나노 편집기는 파일을 편집하는 데 사용됩니다.

$나노~/.bashrc

파일 끝에 다음 줄을 추가하고 파일을 저장하고 닫습니다.

상점 -NScdspell

이제 다음 명령을 실행하여 변경 사항을 영구적으로 확인하십시오.

$원천~/.bashrc

위의 '를 실행하면 CD' 터미널에서 철자 오류가 있는 명령을 입력하면 폴더 이름이 자동으로 수정됩니다.

$CD음악

즈쉬

맞춤법 검사기는 zsh 셸에서도 기본적으로 활성화되어 있지 않습니다. 따라서 철자 오류가 있는 다음 명령과 같이 'echo' 명령을 실행하면 오류 메시지가 표시됩니다.

%에코'헬로월드'

열려있는 ~/.zshrc 아무 편집기에서나 파일을 만들고 파일 끝에 다음 줄을 추가합니다. 첫 번째 줄은 Zsh에서 맞춤법 검사기를 활성화합니다. 맞춤법 검사기의 기본 옵션 값은 다음과 같습니다. [냐] 나타내는 아니요, 예, 중단하고 편집하십시오. . 두 번째 줄은 사용자가 옵션을 더 쉽게 이해할 수 있도록 기본값을 변경합니다. 여기, 나노 편집기는 파일을 편집하는 데 사용됩니다.

% 나노~/.zshrc
올바른 설정
내 보내다 신속='%R을(를) %r로 수정하시겠습니까? [예, 아니오, 중단, 편집] '

파일을 저장하고 종료하고 다음 명령을 실행하여 변경 사항을 업데이트합니다.

% 원천~/.zshrc

다시 이전 명령을 실행하고 출력을 확인하십시오. 이제 사용자는 출력을 수정할 수 있는 옵션을 얻게 됩니다. y를 입력하면 맞춤법이 자동으로 수정됩니다.

%에코'헬로월드'

색상을 사용하여 출력을 보다 효과적으로 만들려면 zsh 쉘에서 다음 명령을 실행하여 색상을 활성화하십시오.

%U 색상 자동 로드&&그림 물감

그 후에 다음 줄을 추가하십시오. ~/.zshrc 이전과 같은 파일.

내 보내다 신속='옳은$fg[빨간색]%R$reset_color에게$fg[녹색]%r$reset_color?
[예, 아니오, 중단, 편집] '

이제 맞춤법 오류가 있는 명령을 실행하고 출력을 확인합니다. 여기서 오류 단어는 빨간색으로 표시되고 올바른 단어는 녹색으로 표시됩니다.

%에코'헬로월드'

테마 사용

쉘 프롬프트의 모양은 다른 테마와 플러그인을 사용하여 변경할 수 있습니다. bash 셸과 zsh 셸에는 모두 셸의 모양을 변경하기 위한 다양한 유형의 테마가 있습니다. bash 및 zsh 셸에서 테마를 사용하는 방법은 이 기사의 다음 부분에 나와 있습니다.

세게 때리다

bash 테마를 설치하려면 git을 설치해야 합니다. 다음 명령을 실행하여 git 패키지를 설치합니다.

$수도 apt-get 설치 가다

를 설치한 후 가다 , 다음 명령을 실행하여 배쉬잇 주형.

$자식 클론 --깊이=1https :// //github.com/배쉬잇/bash-it.git ~/.bash_it

다음 명령을 실행하여 설치 배쉬잇 복제 후 템플릿. 누르다 ' 그리고 ' 백업을 유지할 것인지 묻는 메시지가 표시될 때 ~/.bash_profile 또는 ~/.bashrc 및 추가 배쉬잇 파일 끝에 템플릿이 있습니다.

설치 프로세스를 완료하면 다음 출력이 나타납니다.

이제 개봉하면 ~/.bashrc 편집기를 사용하여 파일에 다음 내용을 포함합니다. bash-it 템플릿의 기본 테마는 'bobby'입니다.

다음 명령을 실행하여 셸 업데이트를 확인합니다.

$원천~/.bashrc

템플릿을 제대로 설치하면 터미널에 다음과 같은 프롬프트가 나타납니다. 이제 터미널을 닫습니다. 터미널을 열 때마다 동일한 bash 프롬프트가 표시됩니다.

많은 테마를 사용할 수 있습니다. 배쉬잇 다른 방식으로 bash 프롬프트를 표시하는 템플릿입니다. 그 중 하나는 ' 부러움' 주제. 이 테마를 설정하려면 편집기를 사용하여 ~/.bashrc 파일을 열고 ' BASH_IT_THEME ' 값을 ' 부러움 '.

다시 ' 원천 ' 명령을 사용하여 업데이트를 영구적으로 확인합니다. 'envy' 테마를 설정하면 다음과 같은 출력이 나옵니다.

즈쉬

bash와 마찬가지로 zsh 쉘에는 많은 테마가 있습니다. zsh 테마 중 하나는 oh-my-zsh . 다음 명령을 실행하여 zsh 셸에 이 테마를 설치합니다.

% -씨 '$(컬 -fsSL
https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh) '

테마 설치 후 ' 그리고' 기본 셸을 zsh로 만듭니다.

설치 프로세스를 완료하기 위해 루트 암호를 묻습니다. 설치 프로세스를 완료하면 다음 출력이 나타납니다.

이제 ~/.zshrc 파일을 열면 다음 항목이 표시됩니다. oh-my-zsh 주형. '로비러셀' 템플릿의 기본 테마로 설정됩니다.

변경 사항을 영구적으로 유지하려면 '소스' 명령을 실행해야 합니다.

% 원천~/.zshrc

테마를 '로 변경하려면 화살 ' 그런 다음 아무 편집기에서나 ~/.zshrc 파일을 열고 ' ZSH_THEME ' 에게 '화살 '.

zsh 쉘의 변경 사항을 영구적으로 업데이트하려면 'source' 명령을 다시 실행해야 합니다. 이 테마를 설정하면 다음 화살표 기호가 나타납니다.

% 원천~/.zshrc

터미널을 닫고 zsh 쉘을 다시 열면 다음 출력이 나타납니다.

와일드카드 확장 사용

와일드 카드 확장은 설정 없이 bash에서 다양한 방식으로 사용할 수 있습니다. 그러나 와일드 카드 확장은 기본적으로 zsh 셸에서 활성화되어 있지 않습니다. bash 및 zsh에서 와일드카드 확장을 사용하는 방법은 이 기사의 이 부분에 나와 있습니다.

세게 때리다

'echo' 명령을 사용하여 현재 위치의 확장자가 'log'인 모든 파일을 찾아야 한다고 가정합니다. 여기서 값은 ' *.통나무' 변수에 할당되고, 파일 모든 로그 파일의 목록을 표시하기 위해 'echo' 명령에 사용됩니다.

$
$파일='*.통나무'
$던졌다 $files

즈쉬

zsh 셸에서 위의 명령을 실행하면 zsh 셸에 대해 와일드카드 확장이 기본적으로 활성화되어 있지 않기 때문에 로그 파일 목록 대신 $files 값이 인쇄됩니다.

%
% 파일='*.통나무'
% 던졌다 $files

다음 명령을 실행하여 zsh에 대한 와일드카드 확장을 활성화합니다.

% 세트 -또는GLOB_SUBST

이제 이전 명령을 실행하면 로그 파일 목록이 표시됩니다.

결론

Bash와 Zsh는 Linux 사용자에게 매우 유용한 쉘입니다. 두 쉘 모두 몇 가지 유용한 기능을 가지고 있습니다. 사용자는 필요한 작업에 따라 쉘을 선택할 수 있습니다. 이 두 셸의 몇 가지 중요한 차이점은 적절한 예를 사용하여 이 문서에서 설명합니다. 이 기사를 읽은 후 독자들에게 이 두 쉘의 차이점이 명확해지기를 바랍니다.