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

리눅스 셸에서 프롬프트는 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

  • 리눅스 tmp 디렉토리: /tmp와 /var/tmp 차이

    리눅스 tmp 디렉토리는 임시 파일을 저장하기 위해 주로 /tmp와 /var/tmp 디렉토리를 사용합니다. /tmp는 일시적인 임시 파일을 저장하는 공간으로, 시스템이 재부팅 되면 대부분의 파일이 삭제됩니다. 따라서 빠른 입출력과 임시 작업에 적합하며, 주로 프로세스가 실행 중 생성하는 임시 데이터를 저장합니다. 반면에 /var/tmp는 재부팅 후에도 파일이 유지되는 임시 저장 공간입니다. 장기간 유지가 필요한 임시 파일이나 작업…

  • 우분투 APM 설치 [Ubuntu 22.04.5..]

    설치된 우분투 서버에 APM을 설치 진행합니다. 우분투 APM 설치 버전은 apache 2.4 php 7.4 mariadb 10.11 버전으로 설치를 진행합니다. 목차✅ 리눅스 프롬프트의 기본 이해✅ Prompt 창 변경하기1. export 명령으로 일시 변경 후 테스트하기2. 접속한 계정의 Prompt 창 변경3. 모든 계정에 적용4. Prompt에 사용되는 이스케이프 코드✅ 원하는 Prompt 수정✅ 패키지 업데이트 및 apache2 설치…

  • yum 명령어 | 사용법 | 옵션 | yum-utils | 패키지 관리와 저장소 관리🔝

    레드햇 계열의 리눅스 배포판에서 사용하는 YUM 명령어는 패키지 관리(설치, 업데이트, 제거)를 하는데 사용하는 명령어입니다. yum은 기존 패키지 시스템인 RPM의 의존성 문제를 해결하기 위해 제공되는 도구이며, RPM에서 수행할 수 있는 많은 작업을 수행할 수 있습니다. 목차✅ 리눅스 프롬프트의 기본 이해✅ Prompt 창 변경하기1. export 명령으로 일시 변경 후 테스트하기2. 접속한 계정의 Prompt 창 변경3. 모든…

  • [Linux] lsof 명령어: 실행 중 파일 정보 출력

    lsof 명령어는 lisf open files의 약자로 리눅스 시스템에서 열려 있는 파일의 정보를 출력해 주는 명령어입니다. lsof 명령어는 파일을 포함하여 디렉터리, 네트워크 소켓, 파이프 등 프로세스가 사용 중인 다양한 리소스도 조회할 수 있습니다. 목차✅ 리눅스 프롬프트의 기본 이해✅ Prompt 창 변경하기1. export 명령으로 일시 변경 후 테스트하기2. 접속한 계정의 Prompt 창 변경3. 모든 계정에…

  • 셸 스크립트: 변수(variable)와 상수(constant)

    셸 스크립트에서 변수란 단어가 가진 의미는 변할 수 있는( variable) 값이다. 또 상당수의 애플리케이션에서 변수가 이와 같은 의미로 사용되고 있다. 상수(constant)는 이름이 정의되고 값이 지정된다는 점은 변수와 같다. 하지만 그 값은 변하지 않는다는 점이 다르다. 쉘은 변수와 상수를 따로 구분하지 않는데 용어를 구분하는 이유는 쉘 이용자의 편의를 위해서이다. 목차✅ 리눅스 프롬프트의 기본 이해✅…

  • SSH 명령어: 옵션 및 사용 방법

    리눅스에서 SSH(Secure Shell)는 네트워크를 통해 다른 시스템에 안전하게 접속할 수 있도록 해주는 프로토콜입니다. SSH는 원격 서버와 클라이언트 간의 통신을 암호화하여 보안성을 높이며, 주로 원격 접속, 파일 전송, 그리고 터널링 기능을 제공합니다. SSH 명령어를 사용하여 사용자는 원격 서버에 안전하게 접속한 뒤 다양한 작업을 수행할 수 있습니다. 터널링 기능: 한 네트워크에서 다른 네트워크로 데이터를 안전하게…

답글 남기기

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

Prove your humanity: 5   +   4   =