리눅스용 CLS 다운로드

리눅스에서 작동하는 CLS 명령을 C언어로 작성하였습니다.

윈도우즈 명령 프롬프트에서는 cls 명령어를 치면 콘솔 화면이 전부 청소됩니다. 리눅스에도 이에 대응하는 명령어로 clear가 있지만, 스크롤이 가능한 터미널 환경에서는 보여지는 화면보다 위에 있는 줄이 지워지지 않는 문제가 있습니다. 여기서는 스크롤되는 윗줄까지 전부 지우는 cls 명령을 만듭니다.

코드는 다음과 같습니다. (2018년 7월 5일 수정)

#include <stdio.h>

int main()
{
    for ( int i = 0; i < 100; i++) {
        printf("\n");
    }    
    printf("\e[0m\ec\e[H\e[3J");
    return 0;
}

위의 파일을 'cls.c'라는 이름으로 저장한 후 다음과 같은 명령을 실행시킵니다.

$ gcc cls.c -o cls

이 명령어의 의미는 gcc 컴파일러를 이용하여 cls.c 파일을 cls라는 파일명으로 컴파일하는 의미입니다. 그리고

$ ls
cls  cls.c

이와 같이 cls 파일이 생성되고 초록색으로 보인다면 성공입니다. 만약 cls 파일이 생성되기는 했으나 초록색이 아닌 경우는 파일의 실행 권한이 자동으로 추가되지 않은 경우이므로

$ chmod +x cls

이렇게 chmod 명령어를 사용하여 실행 권한을 추가시키면 됩니다.

여기까지 됐으면

$ ./cls

이렇게 앞에 점 하나와 슬래시를 쓰고 cls라고 친 뒤 Enter를 눌러보면 화면이 모두 지워집니다. 그리고 위로 스크롤되는 부분까지 깨끗이 지워지게 됩니다.

이제 이 파일을 리눅스의 환경변수 $PATH에 지정된 경로에 넣으면 점 하나와 슬래시를 생략하고 바로 cls를 쳐서 실행시킬 수 있습니다.

$ echo $PATH
/usr/local/sbin:/bin:/usr/sbin:/usr/bin

이렇게 'echo $PATH'라고 치면 위와 같은 형식으로 경로들이 콜론(:)으로 구분되어 표시되는데 그 중 적당한 경로를 골라서 넣으면 됩니다.

컴파일하는 과정을 생략하고 싶으신 분들을 위해 직접 컴파일한 결과물을 함께 제공합니다.
미리 컴파일된 파일은 http://parkjuwan.dothome.co.kr/files/cls.tar.gz 이 링크 안에 있습니다. 이 파일을 다운로드하여 적당한 경로에 위치시킨 후

$ tar -zxvf cls.tar.gz

이렇게 입력하여 cls 파일의 압축을 해제하시면 됩니다.

참고: PuTTY에서는 제대로 동작하지 않습니다. 그 대신 clear 명령어가 제대로 동작합니다. (2018년 7월 5일 수정)

댓글 남기기

이메일은 공개되지 않습니다. 필수 입력창은 * 로 표시되어 있습니다