banner는 유닉스 및 유닉스 계열 운영체제에서 제공되는 텍스트 기반 명령어로, 인수로 주어진 문자열을 큰 ASCII 아트 형태의 배너(문자)로 출력한다. 주로 콘솔 화면에 시각적인 강조를 위해 사용된다.
정의
- 명령어 형식:
banner [옵션] 문자열 - 옵션은 거의 없으며, 문자열을 인수로 전달하거나 인수가 없을 경우 표준 입력으로부터 읽는다.
- 출력은 고정된 8×8 점 행렬을 사용해 구성된 대문자와 특수 문자로 이루어진 대형 글씨다.
역사
- 최초
banner프로그램은 AT&T UNIX System V에 포함되어 있었으며 1970~80년대에 시스템 관리자들이 콘솔에 알림 메시지를 강조하기 위해 활용했다. - 이후 BSD 계열에 동일한 기능을 구현한
banner가 도입되었고, 현재는 GNUbsdmainutils패키지·sysvbanner·util-linux등 다양한 패키지에 포함되어 여러 리눅스 배포판에서 제공된다.
사용 예시
$ banner HELLO
# # ####### # #
# # # # # #
# # # # # #
# # # ##### # #
# # # # # #
# # # # # #
## ## ####### ####### #######
관련 명령
- figlet, toilet 등: 폰트 파일을 이용해 다양한 형태의 ASCII 아트를 생성한다.
banner는 고정된 글꼴만 지원하므로 출력 형태가 제한적이다. - echo, printf: 단순 문자열 출력에 사용되며, 배너와는 목적이 다르다.
제한점
- 현대 터미널의 가변 폭 글꼴 및 Unicode 지원으로 인해
banner의 활용도가 감소하였다. - 비영문자(예: 한글)에서는 정상적으로 표시되지 않는다.
배포 및 패키지
- Debian/Ubuntu:
bsdmainutils패키지에 포함. - Red Hat 계열:
util-linux혹은 별도banner패키지 제공 여부는 배포판에 따라 다름.
참고
banner 명령은 GNU 프로젝트에 의해 새로 개발된 것이 아니라, 원래 AT&T UNIX System V의 소스 코드를 기반으로 구현된 것이다. 현재도 간단한 스크립트나 부팅 메시지 등에서 가독성을 높이기 위한 용도로 제한적으로 사용된다.