Computer >> 컴퓨터 >  >> 프로그래밍 >> C++

리눅스 터미널에서 컬러 텍스트 출력하기: ANSI 이스케이프 코드 완벽 정리

이 글에서는 리눅스 터미널에 색상이 적용된 텍스트를 출력하는 방법을 알아봅니다. 별도의 라이브러리나 복잡한 설정 없이, C++ 코드 안에서 간단한 터미널 제어 문자(ANSI 이스케이프 시퀀스)만 사용하면 누구나 쉽게 구현할 수 있습니다.

기본 출력 형식

터미널에 색상 텍스트를 출력할 때 사용하는 기본 명령 형식은 다음과 같습니다.

\033[1;31m Sample Text \033[0m

여기서 \033[는 이스케이프 시퀀스의 시작을 의미하고, 그 뒤의 숫자가 텍스트 스타일과 색상을 결정합니다. 마지막의 \033[0m은 스타일을 초기화하여 이후 출력되는 텍스트가 영향을 받지 않도록 합니다.

색상 코드 목록

텍스트에 적용할 수 있는 기본 색상 코드는 아래와 같습니다.

색상글자색(전경) 코드배경색 코드
검정(Black)3040
빨강(Red)3141
초록(Green)3242
노랑(Yellow)3343
파랑(Blue)3444
자홍(Magenta)3545
청록(Cyan)3646
흰색(White)3747

추가 스타일 옵션

색상 외에도 텍스트에 다양한 효과를 줄 수 있는 옵션이 제공됩니다.

옵션코드설명
Reset(초기화)0모든 스타일을 제거하고 기본 상태로 되돌림
Bold(굵게)1텍스트를 굵게 표시
Underline(밑줄)4텍스트에 밑줄 추가
Inverse(반전)7배경색과 글자색을 서로 교환
Bold off(굵게 해제)21굵은 글씨를 일반 굵기로 변경
Underline off(밑줄 해제)24밑줄을 제거
Inverse off(반전 해제)27반전 효과를 해제

C++ 예제 코드

아래는 위 코드들을 실제로 활용한 C++ 프로그램 예제입니다.

#include<iostream>
using namespace std;
main() {
   cout << "\033[1;31mThis is bold red text\033[0m\n";
   cout << "\033[;32mGreen Text\033[0m\n";
   cout << "\033[4;33mYellow underlined text\033[0m\n";
   cout << "\033[;34mBlue text\033[0m\n";
}

실행 결과

위 코드를 실행하면 터미널에 다음과 같이 각각 다른 색상과 스타일이 적용된 문장이 순서대로 출력됩니다.

  • 굵은 빨간색 텍스트 — 스타일 코드 1(굵게)과 색상 코드 31(빨강) 조합
  • 초록색 텍스트 — 색상 코드 32만 적용
  • 밑줄 친 노란색 텍스트 — 스타일 코드 4(밑줄)과 색상 코드 33(노랑) 조합
  • 파란색 텍스트 — 색상 코드 34만 적용

이처럼 ANSI 이스케이프 코드만 익혀두면 로그 강조, 오류 메시지 표시 등 다양한 상황에서 터미널 출력을 한층 보기 좋게 꾸밀 수 있습니다.