리눅스 프롬프트(Prompt)란?

공정위 광고 문구 Ver 2.0

리눅스 셸에서 프롬프트는 CLI(커멘드 라인 인터페이스)의 명령줄 대기 모드를 뜻 합니다. 커맨드 프롬프트(command prompt) 또는 셸 프롬프트(shell prompt)로 불립니다.

Command Prompt는 명령을 입력/발행할 수 있는 터미널 에뮬레이터(CLI)의 입력 필드입니다.

참조: 내 Linux 명령 Prompt는 무엇을 알려줍니까?
리눅스 프롬프트(Prompt)

✅ 리눅스 프롬프트의 기본 이해

배포판이나 서비스에 따라 차이가 있을 수 있지만 기본 설정은 사용자의 이름, 호스트(서버 IP 주소), 현재 디렉토리, 권한으로 설정이 되어 있습니다.

[사용자 @ 호스트이름 : (작업 중인)디렉토리전체경로명] $
[root@ip-xxx-3x-xx-71 ~]#
  • 설명
  • 사용자: 현재 로그인한 사용자.
  • ‘@’: 사용자 이름과 호스트 이름 사이의 구분 기호입니다.
  • 호스트: 현재 사용중인 호스트(IP 주소)의 이름
  • ~ : 현재 로그인 된 사용자의 홈 디렉터리를 나타냅니다.
  • $: 일반 사용자 계정을 뜻하는 Prompt 기호.

프롬프트는 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/bashrc # 레드헷 계열  
vi /root/.bashrc  # 우분투 (Debian 계열)
export PS1="[변경 할 프롬프트]"
# 재부팅 또는 source 명령어로 적용.
source ~계정명/.bashrc

/etc/profile과 모든 사용자에게 적용되는 로그인 쉘환경 설정 파일입니다. /etc/bashrc는 비로그인 쉘bash 동작 설정 파일입니다. 대표적으로 프롬프트(PS1), alias 설정, bash 기능성 추가를 할 수 있습니다. 때문에 수정은 /etc/bashrc에서 적용하는게 보통입니다.

4. Prompt에 사용되는 이스케이프 코드

✅ 원하는 Prompt 수정

# 기본 세팅 값
echo $PS1
[\u@\h \W]\$
# 변경할 프롬프트 값
export PS1="\u@\@"
root@09:35 AM
export PS1="[\u@\t \W]\\$"

vi /etc/bashrc
export PS1="[\u@\t \W]\\$"
source /etc/bashrc


#################################################### 
    [ "$PS1" = "\\s-\\v\\\$ " ] && PS1=" \W]\\$"
# 초기 설정    [ "$PS1" = "\\s-\\v\\\$ " ] && PS1="[\u@\h \W]\\$ "
 
 # 우분투 (Debian 계열)
     PS1='${debian_chroot:+($debian_chroot)} \w]# '
#    PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w\$ '

최종 재설정 된 결과이며, PS1= 결과 값에 쌍따옴표[“]는 띄어쓰기도 적용이 가능합니다. \W는 bash가 특별히 해석하는 “프롬프트 이스케이프 시퀀스”입니다. \W는 “현재 디렉터리의 베이스명(마지막 폴더명)”을 출력하라고 bash가 약속한 약어입니다. ‘]’는 일반 텍스트, ‘\\$’에서 \는 \$를 출력하기 위한 이스케이프 시퀀스입니다.

Similar Posts

  • 리눅스 디스크 마운트 | /etc/fstab으로 자동 마운트 설정

    리눅스에 추가 HDD 또는 SSD 등의 스토리지를 추가 후 사용하려면 먼저 포맷이 진행되어야 합니다. 리눅스 디스크 마운트 작업까지 진행해서 사용하기 전에 먼저 스토리지 포맷과 파일 시스템 구축을 진행하는 과정부터 진행 해 보겠습니다. ✅ 리눅스 디스크 마운트 하기 1. 파일 시스템 포맷 AWS 클라우드에서 EBS 볼륨을 연결했으며 장치 파일을 확인 후 mkfs 명령어로 파일…

  • certbot 명령어(인증서 관리 및 삭제)

    Alma Linux에서 이 사이트에 Certbot 설치 및 갱신 설치를 해 진행하는 중 인증서 삭제 후 재설치를 할 이유가 생겨 삭제와 함께 나머지 Certbot 명령어 사용법에 대해 체크하게 되었습니다. certbot 명령어는 다음 페이지에서 확인했습니다. ✅ certbot 명령어: 인증서 관리 사용 중인 인증서 목록을 보려면 다음 명령어를 입력합니다. ✅ 기존 인증서 재생성 및 업데이트 certonly…

  • Linux란? 리눅스의 특징 및 리눅스의 종류

    ■ ‘Linux’란? -simple ‘Linux’ 는 유닉스의 무료 버전(오픈소스)으로 이해하면 된다.  유닉스는1969년 벨 연구소에서 만들어졌습니다.  리눅스는 1991년 8월 리누스 토르발스가 어셈블리어로 리눅스 커널(kernel) 0.01 버전을 만들면서 시작되었습니다. 1992년에 0.02 버전이 만들어지면서 인터넷에 소스 코드를 공개한 것이 리눅스의 탄생입니다. Ⅰ. 리눅스의 특징 Ⅱ. 리눅스의 종류 유닉스에서 파생된 리눅스는 페도라,오픈수세 및 수세리눅스 ,우분투,센토스 그리고 CentOS8 버전…

  • 리눅스 hosts.allow 및 hosts.deny 설정

    리눅스 서버에서 특정 IP만 허용 및 특정 IP에 대한 차단을 위해 리눅스 hosts.allow 및 hosts.deny 설정을 각각 진행할 수 있습니다. iptables 방화벽에서 특정 IP만 SSH 접속을 허용하는 방법을 사용할 수 있지만 1개 이상의 IP가 SSH에 접속해야 하는 경우 hosts.allow 설정을 진행할 수 있습니다. ✅ 리눅스 hosts.allow 설정 ✅ 리눅스 hosts.deny 설정 설정 후…

  • [Linux] CentOS 7 설치 | VirtualBox 설치

    VirtualBox에 CentOS 7 설치를 진행 해 보겠습니다. 미리 다운로드 받은 ISO 파일로 이미 설정을 완료한 상태입니다. ✅ CentOS 7 설치 진행 Install CentOS를 선택하고 다음 단계로 넘어갑니다. 언어 선택 화면에서 한국어를 선택합니다. 🔲 KDUMP 설정 KDUMP를 클릭하여, 체크 된 활성화를 비 활성화로 변경합니다. KDUMP 설정은 테스트 용도이거나, 커널 패닉의 주요 원인이 하드웨어(드라이버, 디바이스…

  • 셸 스크립트란? 셸과 셸 프롬프트&bash shell

    ▥ 셸 스크립트란(shell script)? 1. 셸이란? 키보드에 입력한 명령어를 운영체제에 전달해서 전달한 명령어를 실행하게 하는 프로그램이다. 2. 셸 프롬프트 셸 프롬프트는 셸이 입력 가능한 상태일 때에만 나타난다. 달러 ($)는 일반 유저일 때, 해쉬 표시(#)는 터미널 세션이 슈퍼 유저(superuser)의 권한을 가졌을 때 표시된다. (#)는 루트(root) 사용자 로그인 해서 관리자 권한을 가진 것을 의미한다. 3….

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다

Prove your humanity: 9   +   10   =