clear 명령어

clear 명령어는 리눅스 터미널의 화면을 지우는 유틸리티입니다. DOS의 cls 명령어와 동일한 기능을 제공하며, 터미널의 모든 출력 내용을 지우고 깨끗한 화면을 만듭니다.

기본 사용법

터미널 화면 지우기

가장 기본적인 사용법으로, 현재 터미널 화면의 모든 내용을 지웁니다.

hojin@DESKTOP-11LMH3B:~$ clear

명령어를 실행하면 화면이 깨끗해지고 프롬프트만 표시됩니다.

명령어 설명

clear 명령어는 터미널의 모든 출력 내용을 지우지만, 실제로는 화면을 지우는 것이 아니라 터미널의 스크롤 버퍼를 조정하여 화면이 깨끗해 보이게 만듭니다.

주요 특징

1. 간단한 사용법

clear 명령어는 인자나 옵션 없이 사용할 수 있으며, 항상 화면을 지우는 기능만 수행합니다.

2. 즉시 적용

명령어를 실행하면 즉시 화면이 지워지며, 새로운 작업을 위한 깨끗한 환경을 제공합니다.

3. 히스토리 보존

화면을 지워도 명령어 히스토리는 그대로 유지되므로, 이전 명령어들을 다시 불러올 수 있습니다.

관련 명령어와의 차이점

clear vs reset

# clear - 화면만 지우기
hojin@DESKTOP-11LMH3B:~$ clear

# reset - 터미널 전체 초기화
hojin@DESKTOP-11LMH3B:~$ reset

차이점:

  • clear: 화면만 지우고 터미널 설정은 그대로 유지
  • reset: 터미널을 완전히 초기화하여 모든 설정을 기본값으로 복원

clear vs Ctrl+L

# clear 명령어 사용
hojin@DESKTOP-11LMH3B:~$ clear

# Ctrl+L 단축키 사용 (대부분의 터미널에서 지원)
# Ctrl+L을 누르면 화면이 지워짐

차이점:

  • clear: 명령어로 화면 지우기
  • Ctrl+L: 키보드 단축키로 화면 지우기 (실제로는 clear 명령어와 동일)

실용적인 활용

스크립트에서 활용

스크립트에서 진행 상황을 표시할 때 화면을 지워서 깔끔하게 보이도록 할 수 있습니다.

#!/bin/bash
# 진행 상황 표시 스크립트
echo "작업을 시작합니다..."

for i in {1..5}; do
    clear
    echo "=== 작업 진행 상황 ==="
    echo "현재 단계: $i/5"
    echo "진행률: $((i * 20))%"
    echo "====================="
    sleep 2
done

clear
echo "작업이 완료되었습니다!"

로그인 후 환경 정리

로그인 후 자동으로 화면을 지워서 깨끗한 환경에서 시작할 수 있습니다.

# ~/.bashrc 파일에 추가
echo "clear" >> ~/.bashrc

실시간 모니터링

실시간으로 데이터를 모니터링할 때 화면을 지워서 가독성을 높일 수 있습니다.

#!/bin/bash
# 시스템 리소스 모니터링
while true; do
    clear
    echo "=== 시스템 리소스 모니터링 ==="
    echo "시간: $(date '+%Y-%m-%d %H:%M:%S')"
    echo "CPU 사용률: $(top -bn1 | grep "Cpu(s)" | awk '{print $2}')"
    echo "메모리 사용률: $(free | grep Mem | awk '{printf "%.2f%%", $3/$2 * 100.0}')"
    echo "디스크 사용률: $(df -h / | awk 'NR==2 {print $5}')"
    echo "==============================="
    sleep 5
done

고급 사용법

조건부 화면 지우기

특정 조건에서만 화면을 지우도록 할 수 있습니다.

#!/bin/bash
# 조건부 화면 지우기 스크립트
if [ "$1" = "clean" ]; then
    clear
    echo "화면이 지워졌습니다."
else
    echo "화면을 지우려면 'clean' 인자를 사용하세요."
    echo "예: $0 clean"
fi

사용자 정의 함수

clear 명령어를 기반으로 사용자 정의 함수를 만들 수 있습니다.

# ~/.bashrc 파일에 추가
# 깨끗한 화면과 함께 현재 시간 표시
function clean_screen() {
    clear
    echo "=== $(date '+%Y-%m-%d %H:%M:%S') ==="
    echo "현재 디렉터리: $(pwd)"
    echo "=============================="
}

# 별칭 설정
alias cs='clean_screen'

스크립트 실행 후 화면 정리

스크립트가 완료된 후 자동으로 화면을 정리할 수 있습니다.

#!/bin/bash
# 스크립트 실행
echo "작업을 시작합니다..."
# ... 작업 수행 ...
echo "작업이 완료되었습니다."

# 작업 완료 후 화면 정리 (옵션)
read -p "화면을 지우시겠습니까? (y/n): " choice
if [ "$choice" = "y" ] || [ "$choice" = "Y" ]; then
    clear
fi

문제 해결

명령어가 인식되지 않는 경우

일부 시스템에서는 clear 명령어가 설치되지 않았을 수 있습니다.

# 명령어 존재 확인
hojin@DESKTOP-11LMH3B:~$ which clear
/usr/bin/clear

# 대안 방법
hojin@DESKTOP-11LMH3B:~$ echo -e "\033c"

터미널 호환성 문제

일부 터미널 에뮬레이터에서는 clear 명령어가 제대로 작동하지 않을 수 있습니다.

# 터미널 타입 확인
echo $TERM

# 대안 방법들
printf '\033[2J\033[H'  # 화면 지우기 및 커서를 맨 위로 이동
echo -e "\033[2J"       # 화면만 지우기

스크롤 버퍼 문제

일부 터미널에서는 스크롤 버퍼가 그대로 남아있을 수 있습니다.

# 스크롤 버퍼까지 완전히 지우기
clear && printf '\033[3J'

활용 예제

개발 환경 정리

개발 작업 중 코드와 출력이 많아졌을 때 화면을 정리할 수 있습니다.

# 자주 사용하는 별칭 설정
alias cl='clear && pwd && ls -la'
alias clean='clear && echo "=== $(date) ===" && pwd'

프레젠테이션 모드

터미널에서 프레젠테이션을 할 때 화면을 깔끔하게 유지할 수 있습니다.

#!/bin/bash
# 프레젠테이션 모드 스크립트
function presentation_mode() {
    clear
    echo "========================================="
    echo "           프레젠테이션 모드"
    echo "========================================="
    echo "1. 화면 지우기: clear"
    echo "2. 현재 시간: date"
    echo "3. 시스템 정보: uname -a"
    echo "4. 종료: exit"
    echo "========================================="
}

로그 분석

로그 파일을 분석할 때 화면을 지워서 가독성을 높일 수 있습니다.

#!/bin/bash
# 로그 분석 스크립트
log_file="/var/log/syslog"

while true; do
    clear
    echo "=== 실시간 로그 분석 ==="
    echo "시간: $(date '+%H:%M:%S')"
    echo "최근 10줄:"
    tail -10 "$log_file"
    echo "======================="
    sleep 10
done

활용 팁

키보드 단축키 활용

대부분의 터미널에서 Ctrl+L을 사용하여 화면을 지울 수 있습니다.

자동화 스크립트

반복적인 작업에서 자동으로 화면을 지워서 진행 상황을 명확하게 표시할 수 있습니다.

환경 설정

로그인 시나 특정 작업 후 자동으로 화면을 지우도록 설정할 수 있습니다.

clear 명령어는 간단하지만 매우 유용한 리눅스 명령어입니다. 터미널 작업 환경을 깔끔하게 유지하고 가독성을 높이는 데 필수적인 도구로 활용됩니다.

서브목차