ANSI escape code
ANSI escape code
⸰ 텍스트 터미널에서 커서 위치, 색, 글꼴 스타일, 그 밖의 옵션을 제어하는 표준
console.log("\x1b[31mHello, world!\x1b[0m");
1.\x1b[31m
2.Hello, world!
> 작성하고 싶은 문구
3.\x1b[0m
1번, 3번 -> ANSI escape code
⸰\x1b[숫자m
- \x1b 는 16진수 1b, 즉 27이 아스키코드표에서 뜻하는 ESC
- \x1b 대신 8진수인 \033을 사용하기도 함
⸰[
- Control Sequence Introducer(CSI)
- [ 뒤에 오는 코드에 따라, 여러 옵션을 수행
⸰m
- Select Graphic Rendition(SGR)
- m 뒤에 오는 글자에 각종 스타일을 제공
⸰[과 m 사이에 있는 숫자
- 31은 빨간색, 0은 지금까지의 설정을 리셋
- (0은 생략하여 \x1b[m으로 작성 가능)
0
: 모든 속성 초기화
1
: 볼드 or 색상 강도 증가
2
: 볼드 해제 or 색상 강도 감소3
: 이탤릭체4
: 밑줄5
: 느리게 깜빡거림
6
: 빠르게 깜빡거림7
: 반전8
: 숨김9
: 취소선30 ~ 37
,90 ~ 97
: 더 어두운 글자색, 더 밝은 글자색
40 ~ 47
,100 ~ 107
: 더 어두운 배경색, 더 밝은 배경색
⸰ 세미콜론(;)을 사용하여 동시 적용 가능
console.log("\x1b[1;3;33;106mHello, world!\x1b[0m");
> 볼드, 이탤릭체, 노란색 글자색, 하늘색 배경색 적용
⸰ 변수에 지정하여 사용 가능
const red = (strs) => {
return `\x1b[31m${strs.join("")}\x1b[0m`;
};
console.log(red`Hello, world!`);
⸰m
으로 스타일 지정 외 다른 옵션
- n, m은 숫자를 의미
‣nA
: Cursor Up (CUU)
: 좌우이동 없이 커서를 위로 n만큼 이동
‣nB
: Cursor Down (CUD)
: 좌우이동 없이 커서를 아래로 n만큼 이동
‣nC
: Cursor Forward (CUF)
: 상하이동 없이 커서를 앞으로 n만큼 이동
‣nD
: Cursor Back (CUB)
: 상하이동 없이 커서를 뒤로 n만큼 이동
‣nE
: Cursor Next Line (CNL)
: 커서를 다음 n 줄로 이동
‣nF
: Cursor Previous Line (CPL)
: 커서를 이전 n 줄로 이동
‣nG
: Cursor Horizontal Absolute (CHA)
: 커서를 현재 줄에서 n에 해당하는 열로 이동
‣n;mH
: Cursor Position (CUP)
: 커서를 n행 m열로 이동
‣nJ
: Erase in Display (ED)
: 디스플레이를 지움
- 0J , J : 커서부터 화면 끝까지 지움
- 1J : 커서부터 화면 시작까지 지움
- 2J : 화면 전체를 지움
- 3J : 화면 전체를 지우고, 스크롤백 버퍼도 지움
‣nK
: Erase in Line (EL)
: 현재 줄 지움 (커서 위치는 고정)
- 0K, K : 커서부터 줄 끝까지 지움
- 1K : 커서부터 줄 시작까지 지움
- 2K : 줄 전체를 지움
‣nS
: Scroll Up (SU)
‣nT
: Scroll Down (SD)
‣n;mf
: Horizontal Vertical Position (HVP)
: CUP와 비슷
‣nm
: Select Graphic Rendition (SGR)
: 스타일 지정
‣s
: Save Current Cursor Position (SCP)
: 현재 커서 위치를 메모리에 저장
‣u
: Restore Saved Cursor Position (RCP)
: 저장된 커서 위치로 복귀
'💠개발 도구 및 환경 > 시스템 관리' 카테고리의 다른 글
[가상 머신] 웹훅 가져오고, top/free 명령어로 데이터 추출하여, 쉘 스크립트 작성하기 (2) (1) | 2024.09.04 |
---|---|
[가상 머신] 리눅스 운영체제 설치하고, 가상 환경을 설정하기 (1) (0) | 2024.08.28 |
[가상 머신] 가상화 - 에뮬레이터 vs 가상 머신 vs 컨테이너 (0) | 2024.08.28 |
[쉘 스크립트] 쉘 스크립트 기초 문법에 대해 알아보자 (1) | 2024.08.26 |
[리눅스] 리눅스 명령어에 대해 알아보자 (2) | 2024.07.16 |