Linux에서 cat 명령을 사용하는 방법(예시 포함)

리눅스 환경에서 컴퓨터를 사용할 때, 윈도우나 macOS와 비교해 작업 방식에 큰 차이가 있습니다. 리눅스는 그래픽 사용자 인터페이스(GUI)와 명령줄 인터페이스(CLI)를 모두 제공합니다. GUI가 작업을 수행하는 더 쉬운 방법처럼 보일 수 있지만, CLI는 고유한 장점을 가지고 있습니다. 중요한 리눅스 터미널 명령어에 익숙해지면 작업을 신속하게 처리할 수 있습니다. 그중에서도 `cat` 명령어는 리눅스에서 가장 많이 사용되는 명령어 중 하나입니다. 이 명령어는 모든 리눅스 배포판에서 coreutils 패키지에 포함되어 미리 설치되어 있으며, 모든 배포판에서 동일한 구문을 사용합니다. 본 문서에서는 실제 예시를 통해 `cat` 명령어의 다양한 활용법을 소개합니다.

리눅스 `cat` 명령어: 상세 설명 (2023)

실제 예시를 살펴보기 전에, `cat` 명령어의 기능과 구문, 그리고 다양한 옵션을 이해하는 것이 중요합니다. 이를 통해 단일 파일, 여러 파일 보기, 파일 병합, 내용 정렬 등 `cat` 명령어를 효과적으로 사용하는 방법을 익힐 수 있습니다.

리눅스에서 `cat` 명령어란 무엇인가?

`cat` 명령어는 ‘concatenate’의 약자로, 모든 리눅스 사용자에게 필수적인 도구 중 하나입니다. 원래 UNIX 운영 체제용으로 개발되었지만, 이후 리눅스와 macOS로 확장되었습니다. `cat` 명령어는 파일 관리에서 중요한 역할을 하며, 사용자가 새로운 파일을 만들거나, 파일 내용을 확인하고, 기존 파일을 덮어쓰거나, 여러 파일을 병합하는 등 다양한 작업을 수행할 수 있게 해줍니다.

`cat` 명령어 사용법: 구문 및 옵션

실제 예시를 보기 전에, 리눅스에서 `cat` 명령어의 기본 구문을 살펴보겠습니다. 구문은 매우 간단하며, 수행하려는 작업에 따라 옵션과 파일 이름을 함께 지정하면 됩니다. 기본 형식은 다음과 같습니다.

cat [옵션] [파일 이름]

`cat` 명령어와 함께 사용할 수 있는 몇 가지 일반적인 옵션은 다음과 같습니다.

옵션 | 설명
– | –
-n | 모든 행에 행 번호를 표시
-T | 파일 내 모든 탭 문자를 표시
-e | 파일 내 모든 행의 끝을 표시
-s | 파일 끝의 연속된 빈 행을 하나로 합침
-b | 비어 있지 않은 행만 번호를 매겨서 표시

리눅스 터미널에서 `cat` 명령어 사용 예시

단일 파일 내용 보기

`cat` 명령어의 가장 일반적인 용도는 파일 내용을 확인하는 것입니다. 다음 구문을 사용하여 단일 파일의 내용을 볼 수 있습니다.

cat [옵션] [파일명]

여러 파일 내용 보기

공백으로 구분하여 여러 파일 이름을 나열하면, `cat` 명령어를 사용하여 여러 파일의 내용을 한 번에 확인할 수 있습니다. 쉼표를 사용할 필요는 없습니다. 다음 구문을 확인하세요.

cat [옵션] [파일_1] [파일_2] [파일_3]

행 번호 표시

기본적으로 `cat` 명령어는 파일 내용 출력 시 행 번호를 표시하지 않습니다. 행 번호를 표시하려면 `-n` 옵션을 사용합니다.

cat -n [파일명]

`cat` 명령어로 새 파일 생성

일반적으로 새로운 파일을 만들 때는 `touch` 명령어를 사용하고, 파일 편집에는 텍스트 편집기를 사용합니다. `cat` 명령어가 이러한 도구를 완전히 대체할 수는 없지만, 파일을 빠르게 생성하고 간단하게 편집하는 데 유용합니다. `cat` 명령어를 사용하여 새로운 파일을 생성하고 내용을 추가하는 방법은 다음과 같습니다.

cat > [새_파일_이름]

여기서 `>` 기호는 덮어쓰기 연산자로, 파일 내용을 새로운 콘텐츠로 덮어쓰는 데 사용됩니다. 새 파일이 비어 있기 때문에 입력하는 모든 내용이 파일에 기록됩니다. 새 파일에 작성을 완료한 후에는 `ENTER` 키를 누르고, `CTRL + d`를 눌러 입력을 종료합니다.

위 예시에서, `cat` 명령어를 사용하여 `test1.txt`라는 새로운 파일이 생성되었으며, 파일 내용이 두 번째 `cat` 명령어의 출력으로 표시되는 것을 확인할 수 있습니다.

두 파일을 새로운 파일로 병합

다음 구문을 사용하면, `cat` 명령어를 사용하여 두 개의 파일을 하나로 병합할 수 있습니다. 추가 연산자(`>>`)를 사용하여 첫 번째 파일 내용을 두 번째 파일 내용의 끝에 추가합니다.

cat [옵션] [파일_1] >> [파일_2]

위 예시에서는 `cat` 명령어를 사용하여 `test1.txt` 파일 내용이 `test2.txt` 파일 내용의 끝에 추가된 것을 볼 수 있습니다. 변경된 내용은 두 번째 `cat` 명령어 출력에서 확인할 수 있습니다.

한 파일 내용을 다른 파일로 복사

다음과 같이 `cat` 명령어를 사용하여 파일 내용을 다른 파일로 복사할 수도 있습니다. 여기서 `>` 기호는 `file_1`의 내용을 `file_2`에 덮어쓰는 데 사용됩니다.

cat [파일_1] > [파일_2]

위 예시에서는 덮어쓰기 연산자를 사용하여 `test1.txt` 파일 내용이 `test2.txt` 파일 내용으로 완전히 덮어쓰여진 것을 확인할 수 있습니다.

숨겨진 문자 표시

기본적으로 `cat` 명령어는 파일 내용을 출력할 때 줄 끝을 표시하지 않습니다. 줄 끝을 표시하려면 `-E` 옵션을 사용합니다.

cat -E [파일 이름]

이렇게 하면 각 줄의 끝을 `$` 기호로 표시합니다. 네 개의 공백 대신 탭을 표시하려면, `-T` 옵션을 사용합니다.

cat -T [파일_이름]

이렇게 하면 모든 탭 문자가 `^I`로 표시됩니다. 그 외에 숨겨진 모든 문자를 표시하려면 `-v` 옵션을 `cat` 명령어와 함께 사용합니다.

cat -v [파일_이름]

위 예시에서 보듯이, 모든 줄의 끝은 `$` 기호로 표시되고, 탭 문자는 `^I` 문자로 표시됩니다.

여러 빈 줄을 하나로 병합

때로는 파일에 불필요한 빈 줄이 있을 수 있습니다. 모든 빈 줄을 하나로 병합하려면 `-s` 옵션을 사용합니다.

cat -s [파일 이름]

역순으로 파일 내용 보기 (`tac` 명령어)

일반적으로 `cat` 명령어는 파일 내용을 위에서 아래로 표시합니다. 그러나 실시간 데이터 스트림을 저장하거나 큰 로그 파일을 볼 때 최신 데이터가 끝에 추가되어 전체 텍스트 블록을 스크롤하기 어려울 수 있습니다. 이러한 경우에는 `cat` 명령어의 대안으로, 파일 내용을 역순으로 인쇄하는 리눅스의 `tac` 명령어를 사용할 수 있습니다. `tac` 명령어의 구문은 다음과 같습니다.

tac [파일 이름]

파일 출력 내용 정렬

리눅스에서는 셸 리디렉션을 사용하여 두 개 이상의 명령어를 결합할 수 있습니다. 한 명령어의 출력을 다음 명령어의 입력으로 리디렉션합니다. 덮어쓰기 연산자(`>`)와 추가 연산자(`>>`)를 I/O 셸 리디렉션으로 사용할 수 있습니다.

두 개 이상의 명령어를 동시에 실행하는 데 사용되는 또 다른 유형의 셸 리디렉션인 셸 파이핑이 있습니다. 이는 한 명령어의 출력이 다음 명령어의 입력으로 전달됨을 의미합니다. 명령 실행은 정해진 순서를 따르므로, 이러한 구조를 파이프라인이라고 부릅니다. 파이프 연산자( | )는 이러한 명령어가 명확한 순서대로 실행되도록 파이프라인을 생성합니다.

이제 `cat` 명령어가 파일에 저장된 순서대로 내용을 출력한다는 것을 알게 되었습니다. 이름에서 알 수 있듯이 `sort` 명령어는 출력 결과를 오름차순이나 내림차순으로 정렬합니다. `cat` 명령어의 출력을 파이프 연산자를 통해 `sort` 명령어로 전달하면, 원하는 순서대로 정렬된 결과를 얻을 수 있습니다. 이는 다소 복잡하게 들릴 수 있지만, 다음 예시를 통해 쉽게 이해할 수 있습니다. 파이프 연산자를 사용하여 두 명령어를 결합하는 구문은 다음과 같습니다.

cat [옵션] [파일 이름] | sort

위 예시에서 `test3.txt` 파일 내용을 출력하는 대신, `cat` 명령어는 내용을 `sort` 명령어로 전달하고, 알파벳 순서에 따라 정렬한 다음 최종 정렬 결과를 출력합니다.

`cat` 명령어를 사용하여 대용량 파일 보기

경우에 따라 고성능 시스템에서도 대용량 파일 내용을 표시할 때 어려움을 겪을 수 있습니다. 이러한 대용량 파일의 경우 파이프 연산자와 함께 `less` 명령어와 `cat` 명령어를 함께 사용해야 합니다. `less` 명령어는 파일의 일부만 한 번에 로드하므로 리소스를 많이 소모하지 않습니다. 화살표 키를 사용하여 위아래로 스크롤하여 파일의 다른 부분을 볼 수 있습니다. `cat` 명령어와 함께 `less` 명령어를 사용하는 구문은 다음과 같습니다.

cat [대용량_파일_이름] | less

위 예시에서 제시된 구문에 따라 명령어를 실행하면, 파일 내용이 동일한 터미널 프롬프트에 인쇄되는 대신, 두 번째 그림처럼 새로운 터미널 화면에 표시됩니다. 여기서 화살표 키를 사용하여 텍스트를 스크롤할 수 있습니다. 텍스트의 맨 아래로 이동하려면 `GG`를, 맨 위로 이동하려면 `gg`를 사용합니다. 새로운 터미널 화면을 종료하려면 `q`를 누릅니다.

`cat` 명령어 실제 예시

`cat` 명령어는 `tac` 명령어와 함께, 리눅스 터미널 사용에 익숙한 사용자에게 파일 관리를 크게 간소화합니다. 다양한 옵션과 추가 연산자를 사용하면, `cat` 명령어를 통해 작업 흐름을 효율적으로 관리할 수 있습니다. 본 문서에서는 `cat` 명령어를 사용하여 리눅스 시스템에서 파일을 생성, 추가, 보는 다양한 예시를 소개했습니다. `cat` 명령어에 대한 더 자세한 내용은 다음을 방문하여 확인할 수 있습니다: 공식 매뉴얼 페이지. 이 명령어 사용에 문제가 생기면 언제든지 아래 댓글을 통해 문의해주세요.