리눅스 프롬프트(Prompt)란?
리눅스 셸에서 프롬프트는 CLI(커멘드 라인 인터페이스)의 명령줄 대기 모드를 뜻 합니다. 커맨드 프롬프트(command prompt) 또는 셸 프롬프트(shell prompt)로 불립니다.
Command Prompt는 명령을 입력/발행할 수 있는 터미널 에뮬레이터(CLI)의 입력 필드입니다.
참조: 내 Linux 명령 Prompt는 무엇을 알려줍니까?
✅ 리눅스 프롬프트의 기본 이해
배포판이나 서비스에 따라 차이가 있을 수 있지만 기본 설정은 사용자의 이름, 호스트(서버 IP 주소), 현재 디렉토리, 권한으로 설정이 되어 있습니다.
[사용자 @ 호스트이름 : (작업 중인)디렉토리전체경로명] $
[root@ip-xxx-3x-xx-71 ~]#
프롬프트는 PS1(Prompt String 1)이라는 환경 변수에 의해 정의됩니다. echo 명령어로 PS1의 내용을 볼 수 있습니다.
echo $PS1
[\u@\h \W]\$
백슬래시(\)는 Shell 인용(Quoting)의 이스케이프 특수 문자이며 나머지는 설정 값 입을 알 수 있습니다.
✅ Prompt 창 변경하기
1. export 명령으로 일시 변경 후 테스트하기
export 명령어를 사용해서 Prompt 창을 일시적으로 변경하고 테스트를 할 수 있습니다. 서버 재 접속 시 Prompt 창은 초기화 되니 미리 테스트를 해 본 후 결정할 수 있습니다.
export PS1="[변경 할 Prompt]"
~]# export PS1="TestPrompt"
TestPrompt
2. 접속한 계정의 Prompt 창 변경
접속한 계정에 대한 Prompt 창 변경이 필요한 경우 .bashrc 파일에 내용을 추가 해 줄 수 있습니다.
vi ~계정명/.bashrc
export PS1="[변경 할 Prompt]"
# source 명령어로 적용.
source ~계정명/.bashrc
3. 모든 계정에 적용
/etc/profile.d/prompt.sh 파일을 수정(or 새로 생성)해서 설정할 수 있습니다. 아니면 /etc/bashrc 파일에서 영구 설정이 가능합니다.
vi /etc/profile.d/prompt.sh
export PS1="[변경 할 프롬프트]"
# 재부팅 또는 source 명령어로 적용.
source ~계정명/.bashrc
4. Prompt에 사용되는 이스케이프 코드
✅ 원하는 Prompt 수정
# 기본 세팅 값
echo $PS1
[\u@\h \W]\$
# 변경할 프롬프트 값
export PS1="\u@\@"
root@09:35 AM
export PS1="[\u@\t \W]\\$"
vi /etc/profile.d/prompt.sh
export PS1="[\u@\t \W]\\$"
source /etc/profile.d/prompt.sh