[CentOS 7] 프롬프트(Prompt) 구조
프롬프트(Prompt) 란?
프롬프트(Prompt)는 컴퓨터가 사용자의 입력을 받을 준비가 되어 있다는 것을 사용자에게 알려주기 위해 화면에 나타내고 있는 메세지(신호) 입니다. 리눅스 커널에 접속을 하면 맨 먼저 보이는 문자열들이 바로 리눅스의 프롬프트 입니다.
이런식으로 프롬프트가 보이는데 각각의 구문엔 의미가 있습니다.
- 맨 앞의 root 는 로그인한 사용자의 계정명 입니다. 현재는 root(관리자) 계정으로 로그인이 되어 있어 계정명이 root 라고 표기가 되어있네요.
- localhost는 리눅스 시스템의 호스트명 입니다. 쉽게 말해 컴퓨터의 이름 이라고 생각 하시면 됩니다. 네트워크 상에서 접속한 컴퓨터를 식별하기 위해 사용하는 명칭 입니다.
- 계정명(root) 와 호스트명(localhost) 사이에 있는 @ 표기는 계정명과 호스트명을 구분하기 위한 기호로 이메일 형식 이라고 생각 하시면 됩니다.
- 호스트명(localhost)의 뒤 부분은 현재 경로를 표기하는 부분 입니다. 사진엔 ~ 표시로 되어 있는데 ~ 기호는 접속한 사용자의 홈 디렉토리(home directory)를 의미 합니다.
- 안에 있는 속성들을 [] 괄호 가 감싸고 있는데 이 괄호는 쉘(shell)을 의미 합니다. shell은 전 포스팅에도 간단히 설명했다 싶이 사용자 명령의 입출력을 수행하고 프로그램 등을 실행 시키는 역할을 합니다. 리눅스에서 대표되는 쉘로는 bash 쉘이 있습니다.
- 괄호 바깥의 표시는 사용자 계정 권한을 나타 냅니다. #은 관리자 계정, $은 일반사용자 계정을 의미 합니다. 현재는 root 관리자 계정으로 로그인을 했으니 사진 상으로 #으로 표시가 되는걸 볼 수 있습니다.
위를 토대로 해석을 해보자면 현재 root 계정으로 로그인 한 localhost 컴퓨터는 현재 root의 홈 디렉토리에 위치해 있다 정도로 해석을 할 수 있겠네요.
그럼 똑같은 위치에서 계정만 일반사용자 계정으로 바꿔볼까요?
일반사용자 계정으로 교체 하면 프롬프트는 이렇게 나타나게 됩니다. 달라진게 보이시나요?
계정명이 root(관리자) 에서 song(제가 만든 일반 사용자 계정) 으로 바뀌고 현재 위치는 root 로 바뀌었네요. 그리고 계정 권한 표시가 #에서 $로 바뀐걸 볼 수 있습니다. 컴퓨터는 바꾸지 않았으니 호스트명은 똑같이 localhost로 표시가 되네요.
그런데 현재 위치는 바꾸지 않고 계정만 바꿨을 뿐인데 왜 현재 위치는 ~ 에서 root 로 표시가 바뀐걸까요?
그건 root의 홈 디렉토리 이름이 root 이기 때문 입니다.
방금 전 접속한 사용자의 홈 디렉토리(home directory)를 의미 하는 기호가 ~ 라고 했었죠?
계정 교체 전 root의 계정일땐 root의 홈 디렉토리가 root 이기 때문에 현재 경로가 사용자의 홈 디렉토리를 의미하는 ~ 기호로 표시 됐지만계정 교체 후 일반사용자 계정의 홈 디렉토리는 root 가 아니기 때문에 현재 경로가 ~ 기호로 표시되지 않고 root의 홈 디렉토리 이름인 root 로 표시되게 되는 것 입니다.일반사용자 계정의 홈 디렉토리에 가게 되면 ~ 기호로 표시가 되겠죠?