리눅스 터미널 상의 bash 프롬프트 표시형식 설정

반응형

본 포스트는 리눅스 터미널 상에 표시되는 프롬프트의 표시 형식을 변경하는 방법에 관련된 것입니다.


명령어 입력 대기 화면인 프롬프트는 생각보다 다양한 형태로 출력할 수 있습니다.


다음 화면은 bash 쉘을 사용하는 우분투 리눅스의 기본적인 프롬프트가 출력되고 있는 화면입니다.



사용자에 따라 이 프롬프트 상에 사용자 및 호스트 명을 표시하거나 생략하고 싶은 경우도 있고, 

현재 디렉토리의 전체경로를 표시하거나 생략하고 싶은 경우도 있을 것입니다.


본 포스트에서는 우분투 리눅스 상의 bash 쉘 프롬프트를 변경하는 방법을 기술합니다.

(시험 환경은 Ubuntu 16.04.1 64bit입니다)



프롬프트의 표시 형식은 각 사용자 계정별로 지정할 수 있으며, 이는 각 계정별 홈 디렉토리에 있는 .bashrc 파일의 'PS1' 항목을 수정함으로써 가능합니다.

.bashrc 파일은 숨김파일이므로 단순 ls 명령으로는 보이지 않으며, 'ls -a' 명령을 통해 확인할 수 있습니다. 

알다시피, 파일명 앞에 '.'이 붙은 파일은 숨겨진 파일입니다.


.bashrc 파일을 vi 등의 편집기로 열어서 PS1을 검색하면 이미 적당하게 설정되어 있는 것을 확인할 수 있습니다.


PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w\$ ' 


이 라인에서 따옴표(') 사이에 입력된 내용이 프롬프트 상에 표시됩니다.

입력 내용은 일반 문자열을 입력해도 되고, 특정 옵션코드를 입력해도 됩니다.

옵션코드는 \문자 뒤에 미리 정의된 문자를 붙이시면 되는데, 입력 가능한 문자는 다음과 같습니다.


d - the date in "Weekday Month Date" format (e.g., "Tue May 26")

e - an ASCII escape character (033)

h - the hostname up to the first .

H - the full hostname

j - the number of jobs currently run in background

l - the basename of the shells terminal device name

n - newline

r - carriage return

s - the name of the shell, the basename of $0 (the portion following the final slash)

t - the current time in 24-hour HH:MM:SS format

T - the current time in 12-hour HH:MM:SS format

@ - the current time in 12-hour am/pm format

A - the current time in 24-hour HH:MM format

u - the username of the current user

v - the version of bash (e.g., 4.00)

V - the release of bash, version + patch level (e.g., 4.00.0)

w - Complete path of current working directory

W - the basename of the current working directory

! - the history number of this command

# - the command number of this command

$ - if the effective UID is 0, a #, otherwise a $

nnn - the character corresponding to the octal number nnn

\ - a backslash

[ - begin a sequence of non-printing characters, which could be used to embed a terminal control sequence into the prompt

] - end a sequence of non-printing characters

출처: http://www.linuxnix.com/linuxunix-shell-ps1-prompt-explained-in-detail/



.bashrc 파일 수정 후에는 로그아웃했다가 다시 로그인하거나, source 명령을 이용하여 변경된 .bashrc 파일의 내용을 적용하면 됩니다.


$ source ~/.bashrc 




다음은 PS1의 설정에 따른 프롬프트 표시 화면입니다.



모든 옵션코드를 삭제했습니다. 아무 것도 표시가 안 됩니다. 화면 상의 ls는 제가 입력한 것입니다.


PS1='${debian_chroot:+($debian_chroot)} '





위에 나열한 옵션코드 중 일부를 넣어 봤습니다.


PS1='${debian_chroot:+($debian_chroot)}\t \d \s \w \W \u \h \H \# \$ '





원래 설정되어 있던 프롬프트 형식입니다.


PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w\$ '





파트너스 활동을 통해 일정액의 수수료를 제공받을 수 있음

댓글

Designed by JB FACTORY