쉘 프롬프트 정보 변경
현재 사용자가 개별적으로 사용할 수 있도록 지원하는 사용자별 시스템 환경변수를 쉘 변수라고 한다.
쉘 변수들 가운데 PS1이라는 변수가 프롬프트의 정보를 포함하고 있다.
Prompt 기본 설정 확인
bash shell에서 PS1의 값을 확인하면 다음과 같이 나타난다.
\h | 현재 호스트의 이름을 나타낸다. |
---|---|
\W | 현재 위치의 디렉터리를 나타낸다. |
\u | 현재 로그인된 사용자를 나타낸다. |
본인 PS1의 경우 예전에 커스텀을 하여 보통과 다르게 나타났다.
기본 설정은 \h:\W \u\$
로, 기본 설정으로 분석한다면
현재 호스트는 172-31-7-241, 디렉터리 위치는 ~(home)이며, 로그인된 사용자는 root 이다.
Prompt에 나타낼 수 있는 정보
쉘 변수 기호 | 의미 |
---|---|
\t | 24시간의 단위로 현재시각을 HH:MM:SS 로 표시 |
\T | 12시간의 단위로 현재시각을 HH:MM:SS 로 표시 |
@ | 12시간의 단위로 현재시각을 오전/오후 로 표시 |
\d | 현재 날짜를 나타냄. 요일, 월, 일 형식으로 |
\s | 현재 사용중인 쉘의 이름을 나타냄 (C쉘이면 /bin/csh, bash쉘이면 /bin/bash) |
\w | 현재 디렉토리의 전체 절대경로를 모두 표시함 |
\W | 현재 디렉토리의 전체 절대경로명 중 마지막 디렉토리명만을 표시함. 즉 현재디렉토리만 표시함 |
\u | 사용자명을 표시함 |
\h | 서버의 호스트명을 표시함 (www.uzuro.com에서 www 부분) |
\H | 서버의 도메인명을 표시함 (www.uzuro.com에서 uzuro.com 부분) |
# | 접속한 순간부터 사용한 명령어의 번호를 1번부터 차례대로 표시함 |
! | 사용한 명령어의 history 번호를 표시함 |
\$ | 현재 사용자가 root(uid 가 0 )이면 # 을 표시하고 아니면 $ 를 표시함 |
\ | '' 문자 자체를 표시함 |
\a | ASCII 종소리 문자 (07) |
\e | ASCII 의 escape 문자 (033) |
\n | 개행문자 (줄바꿈) |
\v | 사용중인 bash 의 버전 |
\V | 사용중인 bash 의 배포, 버전+패치수준으로 버전을 상세히 표시함 |
\r | Carrage retrun |
Prompt 색상 정보 (ANSI color)
코드 | 색상 |
---|---|
30(Nomal) | Black |
31(Nomal) | Red |
32(Nomal) | Green |
33(Nomal) | Yellow |
34(Nomal) | Blue |
35(Nomal) | Magenta |
36(Nomal) | Cyan |
37(Nomal) | White |
PS1 변수 변경하기
위 표의 정보를 바탕으로 프롬프트를 자신의 기호에 맞게 설정 가능하다.
적용 방법에는 전체 사용자에게 적용하는 법과, 개별사용자에게 적용하는 방법이 있다.
- 전체 사용자 적용
: /etc/bashrc : 모든 사용자들에게 적용되는 쉘 설정파일 - 개별 사용자 적용
: ~/.bashrc : 모든 사용자들의 홈 디렉터리에 존재하며, 각 개별 사용자들의 쉘을 설정 가능하다.
적용
해당 사이트에서 손쉽게 변수를 편집할 수 있다. (설정 프리뷰도 실시간 확인이 가능)
모든 사용자에게 적용을 시키기 위해 /etc/bashrc 파일을 수정한다.
내가 원하는 설정으로 적용이 완료되었다.
'DevOps > Linux_리눅스' 카테고리의 다른 글
[Linux] default 계정 삭제 (default 계정 탐색) (0) | 2023.05.02 |
---|---|
[Linux] 시스템 재부팅시 자동실행되는 shell script (0) | 2023.05.02 |
[Linux] OS config 정보 백업 (+ 네트워크 인터페이스 정보) (0) | 2023.04.25 |
[Linux] OS config 정보 백업 (shell 백업 및 ansible 배포) (0) | 2023.04.24 |
[Linux] top 명령어 (서버 상태 파악) (0) | 2023.04.16 |