리눅스 bash 프롬프트 설정 형식

리눅스를 쓰면 가장 많이 보는 게 프롬프트 맨 앞에 표시된 [root@localhost ~] 같은 형식이다. 쓰다보면 대충 무엇을 의미하는지 알게되긴 하지만 좀 더 정확히 알고 넘어가보자.

리눅스 프롬프트

환경변수 PS1

이 형식은 리눅스에서 PS1 이라는 이름의 변수에 따라 정해진다.

[root@localhost home]# echo $PS1
[\\u@\\h \\W]\\$
  • \u : 사용자
  • @ : 글자 자체를 표시하는 구분자
  • \h : hostname
  • \W : 현재 경로
  • \$ : 일반 사용자는 $ 루트 사용자는 #를 표시함

이런 의미가 있다.

결국 [root@localhost home]# 는 root 사용자로 로그인했고 localhost라는 hostname을 가지고 있으며 현재 home 디렉토리에 있다는 걸 의미한다.

여기서 hostname은 hostname 명령을 입력한 결과값을 의미한다.

[root@localhost home]# hostname
localhost.localdomain

user1이라는 일반 사용자로 전환하면 프롬트의 # 표시가 $로 변하는 걸 볼 수 있다.

#과 $ 차이

bash 프롬프트 형식 변경

환경변수에 저장된 PS1 값을 바꾸면 저 형태를 변경할 수 있다.

예를 들어 현재 디렉토리의 full path를 출력하고 싶다면 \W 대신 \w를 쓴다.

[root@localhost ~]# export "PS1=[\u@\h \w]\$"

이런식으로 변수를 바꾸면 된다.

full path로 변경

직접 export 하는 건 현재 로그인 상태에서만 유효하다. 계정에 영구적으로 적용하고 싶으면 ~.bashrc에 PS1 변수를 선언하면 된다.

댓글 남기기