리눅스-쉘명령어

kyunhyun94·2021년 12월 21일
0

쉘 명령어

  • 유닉스 계열의 운영체제는 보통 텍스트 모드의 터미널 화면에서 명령행에 명령어를 타이핑 하여 사용한다.
  • 이 명령어를 해석하는 프로그램이 쉘(shell)이다. 즉 쉘은 명령어 해석기 또는 명령행 인터페이스를 의미한다.
  • 쉘을 사용하는 것은 윈도우의 '명령 프롬프트'에서 명령을 실행하는 것과 유사하지만 리눅스의 쉘은 훨씬 강력한 기능을 제공한다.
  • 쉘 명령은 GUI 도구로는 수행하기 어려운 다양한 고급 기능을 제공한다. 또한 쉘은 스크립트 언어이기도 하다.
  • 쉘 명령어로 구성된 쉘 스크립트 프로그램을 작성하면 쉘이 스크립트 파일을 읽어 일련의 명령을 수행할 수 있다.

쉘의 종류

쉘 이름실행 명령명령
Bourne Shell shsh유닉스 초기부터 사용된 쉘로 대부분의 유닉스 계열 운영체제에서 지원한다. 많은 쉘 스크립트가 이에 기반을 두고 있다.
C Shellcsh스크립트 작성 형식이 C언어 구문과 비슷하며 BSD 계열의 유닉스 사용자들이 많이 사용했다. Bourne 쉘의 기능을 확장했다.
TC ShelltcshC 쉘을 확장 개선한 버전으로 '명령 행 완성'과 '명령 행 편집' 기능이 추가됐다.
Korn Shellksh호환성을 유지하면서 Bourne 쉘을 확장하고 C 쉘의 많은 기능을 추가했다. System V 계열 유닉스 사용자들에게 인기가 많았다.
Bourne Again Shell(bash)bash리눅스에서 가장 많이 사용되는 쉘이다. Bourne 쉘을 토대로 개발됐으며 C 쉘과 Korn 쉘의 유용한 기능을 가져왔다. GPL 라이센스를 따른다.

쉘의 구분 - 로그인 쉘, 비 로그인 쉘, 서브 쉘

로그인 쉘

로그인 쉘은 로그인할 때 수행되는 기본 쉘이다. 로그인 쉘은 logout 명령으로 로그아웃하여 쉘을 종료할 수 있다.(비 로그인 쉘에서는 logout 명령을 사용할 수 없다.) 텍스트 모드에서 사용자 계정으로 로그인할 때 수행되는 쉘이 로그인 쉘이다. 또한 다른 사용자 계정으로 전환하는 su -l username 명령으로 수행되는 서브 쉘도 로그인 쉘이다. -l 옵션은 지정된 사용자의 로그인 쉘을 시작하는 옵션이다.

비 로그인 쉘

말그대로 로그인 쉘이 아닌 쉘이다. logout 명령이 아닌 exit 명령으로 쉘을 종료한다. GUI 환경(그래픽 모드)에서 터미널을 띄우면 수행되는 쉘이 비 로그인 쉘이다. 또한 다른 사용자 계정으로 전환하는 su username 명령으로 수행되는 서브 쉘도 비 로그인 쉘이다.

서브 쉘

현재 쉘 안에서 실행되는 쉘이다. 현재 쉘의 자식 프로세스로 실행된다. exit 명령으로 서브 쉘을 종료하고 부모 쉘로 돌아간다. 서브 쉘은 부모 쉘의 환경 변수를 전달받아 공통적으로 사용할 수 있다. 예를 들어 현재 쉘에서 sh 명령으로 bourne 쉘을 실행할 수 있는데, 이렇게 실행된 쉘을 서브 쉘이라고 한다.

옵션내용
-l사용 가능한 쉘을 나열(/etc/shells 파일 내용과 동일)
-sshell 로그인 쉘 변경
ex:chsh -s /bin/tcsh
-u도움말(usage)
profile
일하기싫어

0개의 댓글