리눅스 프롬프트(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

  • 서블릿(Servlet)이란?

    목차✅ 리눅스 프롬프트의 기본 이해✅ Prompt 창 변경하기1. export 명령으로 일시 변경 후 테스트하기2. 접속한 계정의 Prompt 창 변경3. 모든 계정에 적용4. Prompt에 사용되는 이스케이프 코드✅ 원하는 Prompt 수정 1. 서블릿이란 무엇인가? 서블릿은 동적 웹 페이지를 만들 때 사용되는 자바 기반의 웹 애플리케이션 프로그래밍 기술입니다. 클라이언트의 요청을 처리하고 응답을 생성하는 자바 클래스입니다. Servlet은…

  • 리눅스 데몬이란? 독립형(Standalone) 방식과 슈퍼데몬 방식(xinetd)

    리눅스 데몬(Daemon)이란 사용자가 직접 제어하지 않고 백그라운드에서 실행되는 여러 작업을 하는 프로그램을 뜻 합니다. 뒤에 ‘d’로 끝나며 보통 프로세스로 실행됩니다. 목차✅ 리눅스 프롬프트의 기본 이해✅ Prompt 창 변경하기1. export 명령으로 일시 변경 후 테스트하기2. 접속한 계정의 Prompt 창 변경3. 모든 계정에 적용4. Prompt에 사용되는 이스케이프 코드✅ 원하는 Prompt 수정✅ 리눅스 데몬의 2가지 방식…

  • 리눅스 명령행 인자(Command-Line Argument)와 명령어 옵션

    ‘리눅스 명령행 인자(Command-Line Argument)‘는 ‘리눅스 명령어 인수‘, ‘명령 인자‘ 등으로도 불리며, 리눅스 커맨드 라인에서 명령어를 실행할 때 프로그램에 전달하는 매개변수를 뜻 합니다. 리눅스에서 “매개변수(Parameters)”는 일반적으로 프로그램이나 함수에 전달되는 값을 가리킵니다. 이 값은 해당 프로그램이나 함수가 실행될 때 필요한 입력 값으로 사용됩니다. 컴퓨터 프로그래밍에서 “매개변수(Parameters)”는 함수에 전달되는 값을 받아들이는 변수를 의미합니다. 이는 함수 정의에…

  • 리눅스 sort 명령어: 파일 정렬

    종류 및 분류의 사전적 의미를 가진 리눅스 sort 명령어는 아스키 파일 내용(레코드)을 정렬할 때 사용하는 명령어입니다. 알파벳순이나 오름차순 또는 내림차순으로 정렬해야 하는 경우에 사용하는 명령어입니다. 목차✅ 리눅스 프롬프트의 기본 이해✅ Prompt 창 변경하기1. export 명령으로 일시 변경 후 테스트하기2. 접속한 계정의 Prompt 창 변경3. 모든 계정에 적용4. Prompt에 사용되는 이스케이프 코드✅ 원하는 Prompt…

  • 셸 스크립트: 셸 들여쓰기 및 확장 옵션명[long 옵션명]

    명령어를 길게 사용하다 보면 여러 명령어 줄을 넘겨서 입력하는 경우가 발생합니다. 가독성을 높이기 위해 명령어를 문장 연결 하는 백슬래시(\)를 사용하여 셸 들여쓰기를 할 수 있습니다. 목차✅ 리눅스 프롬프트의 기본 이해✅ Prompt 창 변경하기1. export 명령으로 일시 변경 후 테스트하기2. 접속한 계정의 Prompt 창 변경3. 모든 계정에 적용4. Prompt에 사용되는 이스케이프 코드✅ 원하는 Prompt…

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

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

답글 남기기

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

Prove your humanity: 4   +   9   =