본문 바로가기
IT 정보

리눅스(Linux)] 쉘(Shell)은 무엇일까?

by 완기 2020. 6. 19.
728x90
반응형

리눅스도 Mac Os, Windows와 같은 OS이다.

 

OS는 사용자에게 어떤 애플리케이션을 실행할 것인지 묻는다.(프롬프트와 같은 것을 통해서)

 

이와 같이 Shell은 OS와 사용자 간의 의사소통을 위해서 사용되는 도구이다.

 

윈도즈에서는 cmd창이 될 것이고, Mac OS 유저들에게는 터미널이 이와 같은 임무를 수행한다.

윈도우 커맨드 창
Mac Os Terminal

이러한 도구들은 GUI(Graphic User Interface)의 개념이 등장하기 전에,

OS와 사용자간 의사소통을 위해 존재했던 (CLI(Command Line Interface)) 인터페이스이다.

 

출처 : 뉴렉쳐 유튜브

리눅스 설치 후, 명령 프롬프트를 띄우게 되면 로그인 화면이 나오는데,

$사인과 #사인에 따라 일반 사용자, 관리자 권한으로 나뉜다.

 

명령 프롬프트를 사용해서 프로그램을 설치하거나 특정 작업을 수행할 때, permission denied가 뜨는 경우가 있는데, 이는 관리자의 권한으로 수행해야 할 일을 관리자 권한이 없을 때, 발생한다.

 

이와 같은 권한의 개념은 이 전에 썼던 리눅스 관련 글에도 언급했지만, 과거에는 컴퓨터는 비쌌기 때문에 한 컴퓨터가 다양한 사용자에 의해서 사용이 되어야 했기 때문에 사용자 계정/ 관리자 계정이 따로 있었고, 리누스 토발즈는 이를 바탕으로 원격 제어, 다중 사용자에 의한 컴퓨터 사용을 바탕으로 리눅스를 만든 것이다.

 

출처 : 뉴렉쳐 유튜브

$sudo는 앞서 쓴 글에서 밝혔듯 super user do의 약어이다.

$sudo su - root의 의미는 슈퍼유저(관리자)가 root 계정으로 유저를 바꾸겠다는 의미다.

$sudo su - 의 의미도 위와 같은 의미다.

그러나 

$sudo su는 현재 프롬프트가 가리키는 디렉터리에서 권한만 관리자로 바꾼다.

 

본인이 사용하는 맥의 터미널에서는

sudo su - root를 입력하면 root(관리자 계정)으로 권한이 바뀐다.

 

해당 명령어의 뜻은 super user가 root로 switch user한다는 뜻이다.

 

root계정은 특정 용도 이외에는 사용하지않기를 권장하며 다시 일반 사용자 게정으로 돌아갈 땐, exit를 입력하면 된다.

 

728x90
728x90

댓글