2020. 10. 11. 20:51ㆍBACKEND/Linux
안녕하세요 〰️ 오늘은 리눅스의 권한 관리하는 법 3부입니다.
원래 특수권한과 같이 발행하려고 했는데, 포스팅의 길이가 너무 길어져서 따로 분리했습니다 🤣
***************** INDEX *****************
🚀 shell❓
💼 shell 종류
🌷 shell 변경
********************************************
🚀 셸❓
셸은 명령어와 프로그램을 실행할 때 사용하는 인터페이스입니다.
커널과 사용자간의 다리역할을 합니다.
명령어 해석기의 기능이 있어서 명령어를 입력해서 원하는 동작을 하곤하죠.셸은 컴퓨터를 사용했던 우리가 한 번쯤 보거나 사용해 보았을텐데요.검정색 배경에 텍스트만 보여지는 바로 그 창에서 사용하는 인터페이스입니다.
또, 프로그래밍 기능이 있어요. 셸 스크립트라고 하는데, 한 번쯤 알아보는 것도 좋을 것 같아요 〰️
💼 셸의 종류
리눅스에서 사용할 수 있는 Shell은 어떤게 있을까요❓
다음의 명령어를 입력하면 알아낼 수 있으니 한 번 해볼까요 ~.~
첫 번째 방법은 /etc/shells 을 확인하는 방법인데요.
사용할 수 있는 shell들을 확인할 수 있는 파일입니다.
$ cat /etc/shells
/bin/sh <-- 명령어 해석기. 커널에서 분리된 별도의 프로그램.
/bin/ksh <-- AT&T 사의 데이비드 콘이 개발. 명령어 완성 기능. 히스토리 기능.
/bin/bash <-- ksh과 csh의 장점을 결합. (Bourne Again Shell) 리눅스 표준
/sbin/nologin
/bin/csh <-- 버클리 대학의 빌조이가 개발.
(강력한 프로그램 작성 기능. 히스토리, 별명, 작업 제어 등)
/bin/tcsh <-- 편집 기능을 제공하는 확장 C셸
따로 설명하는 것보다는 <-- 마크로 설명하는 게 나을 것 같아서 그 이후부터는 해당 셸의 설명으로 봐주시면 됩니다 〰️
두 번째 방법은 /etc/passwd 파일에서 계정마다 할당된 셸을 확인할 수 있습니다.
gngsn:x:1001:1001::/home/gngsn:/bin/bash
위에 보면 맨 뒤에 사용자에 해당되는 로그인셸이 보이죠 〰️
셋 번째 방법은 'echo $SHELL' 명령어 입니다.
$SHELL 환경 변수에는 현재 자신이 사용하고 있는 셸을 확인할 수 있습니다.
~$ echo $SHELL
/bin/bash
확인해보면 현재 사용하고 있는 셸이 bash인 것을 확인할 수 있습니다.
셸은 본셸 계열과 C셸 계열로 나뉘어 집니다.
본 셸 계열은 프롬프트 '$'를 사용하고 C셸 계열은 '%' 프롬프트를 사용합니다.
하나씩 한 번 짚어볼까요❓
Bourn Shell 계열 : sh, ksh, bash, zsh
✔️ sh
Bourne Shell을 의미합니다. 본 셸은 오리지널 셸을 뜻하는데요.
벨 연구소의 Steave Bourne(스티븐 본)이 1979년에 개발했는데, 스티븐 본의 이름을 따서 이름을 따서 지었습니다.
실행 파일은 /bin/sh입니다.
✔️ ksh
AT&T사의 데이비드 콘(Korn)이 1986년에 개발했습니다. 콘의 이름을 따서 korn shell이라고 하는데요.벨 연구소에서 본셸을 확장해서 만들었습니다.
또, 명령어 완성 기능과 히스토리 기능을 가집니다.
실행 파일은 /bin/ksh입니다.
✔️ bash
bash은 현재 Linux의 표준 셸입니다.
브레인 폭스가 1989년에 본셸을 기반으로 GNU프로젝트에 의해 개발했습니다.
linux, macOS X 등 다양한 운영체제에서 사용합니다.
명령어 완성 기능, 히스토리, 명령어 치환, 편집 등의 지원합니다.POSIX와 호환이 가능합니다
실행 파일은 /bin/bash입니다.
✔️ zsh
Paul Faslstad가 콘 셸(Korn shell)을 재작성한 1990년에 개발했습니다.강력한 history 기능과 향상된 명령행 편집 기능, 파일명 중간에서부터도 자동 완성 기능을 가지고 있습니다.
탭이나 화살표 키를 이용해 선택 기능을 포함합니다.
실행 파일은 /bin/zsh입니다.
C Shell 계열 : csh, tcsh
✔️ csh
버클리 대학의 빌조이가 1981년에 개발했습니다.
가장 큰 특징은 C 언어의 특징을 많이 포함하고 있다는 점인데요.
히스토리, 별명, 작업 제어 등의 기능을 포함할뿐만 아니라, 다양한 프로그래밍 작성 기능을 가지고 있습니다.
실행 파일은 /bin/csh입니다.
✔️ tcsh
Ken Greer가 1982년에 C셸을 확장해서 개발했습니다.명령어 편집 기능을 제공했습니다.자동 완성 기능, 자동 로그아웃, emacs, history explorer 등을 지원합니다. $host, $hosttype 새로운 환경 변수를 제공합니다.
실행 파일은 /bin/tcsh입니다.
🌷 Shell 변경
✔️chsh
$chsh [option] 계정명 셸
change shell인 것 같죠..?
-s : 지정하는 셸을 앞으로 사용할 로그인 셸로 변경합니다.
-l : /etc/shells 파일 안에 지정된 셸을 나열합니다.
✔️ usermod
$usermod [option] 계정명
관리자 환경에서 지정된 계정자의 정보를 변경할 때 사용하는 명령어입니다.
'BACKEND > Linux' 카테고리의 다른 글
LINUX, 사용자 사용량 관리하기 (0) | 2020.09.03 |
---|---|
LINUX, 특수 권한 (2) | 2020.09.03 |
LINUX, 권한 관리하기 (0) | 2020.08.28 |
정규식, 제대로 사용하기 - 심화 (4) | 2020.08.16 |
정규식, 어렵지 않게 사용하기 - 기본 (0) | 2020.07.07 |
Backend Software Engineer
𝐒𝐮𝐧 · 𝙂𝙮𝙚𝙤𝙣𝙜𝙨𝙪𝙣 𝙋𝙖𝙧𝙠