Linux / 명령어 / cat - 파일 내용 출력과 결합
cat은 파일 내용을 표준 출력으로 보내고 여러 파일을 순서대로 연결하는 명령입니다. 짧은 텍스트를 빠르게 확인하거나 파일을 결합할 때 유용하지만, 긴 파일을 읽을 때는 less가 더 편리합니다.
이 글에서는 cat의 기본 문법과 주요 옵션, 실제 사용 예제, 관련 명령과의 차이, 사용할 때 주의할 점을 설명합니다.
cat 명령어란?
이름은 concatenate에서 왔습니다. 인수 없이 실행하면 표준 입력을 읽으며, 파일을 여러 개 지정하면 지정한 순서대로 내용을 출력합니다. 원본 파일은 바꾸지 않지만 셸 리디렉션의 대상을 잘못 지정하면 파일이 비워질 수 있습니다.
기본 문법
cat [옵션] [파일 ...]
옵션과 세부 동작은 구현과 버전에 따라 달라질 수 있습니다. 현재 시스템에서는 cat --help와 man cat으로 설치된 명령의 설명을 확인하세요.
cat 기본 사용법
파일 내용 출력하기
짧은 설정 파일이나 로그 조각을 화면에서 확인합니다.
cat /etc/os-release
여러 파일 이어서 출력하기
파일 사이에 구분 문자를 자동으로 넣지 않으므로 필요한 경우 별도로 추가합니다.
cat part-01.txt part-02.txt
새 파일로 결합하기
출력 리디렉션으로 결과를 저장합니다. 입력 파일과 출력 파일을 같은 경로로 지정하면 셸이 먼저 출력 파일을 비우므로 사용하지 마세요.
cat chapter-1.txt chapter-2.txt > book.txt
표준 출력 결과 확인하기
cat은 입력 파일의 내용을 순서대로 그대로 출력합니다. 다음은 샘플 두 행을 만든 뒤 확인하는 예제입니다.
printf 'one\ntwo\n' > sample.txt cat sample.txt
예시 출력:
one two
cat은 긴 파일을 페이지별로 멈추지 않으므로 결과가 화면을 빠르게 지나갈 수 있습니다. 내용을 탐색하려면 less를 사용하세요.
주요 옵션
| 옵션 | 설명 |
|---|---|
-n |
모든 출력 줄에 줄 번호를 붙입니다. |
-b |
비어 있지 않은 줄에만 번호를 붙이며 -n보다 우선합니다. |
-s |
연속된 빈 줄을 한 줄로 줄입니다. |
-E |
각 줄 끝에 $를 표시합니다. |
-T |
탭 문자를 ^I로 표시합니다. |
-A |
탭·줄 끝 등 보이지 않는 문자를 함께 표시합니다. |
실전 활용 예제
줄 번호와 함께 검토하기
오류 메시지의 줄 번호와 설정 파일을 대조할 때 유용합니다.
cat -n app.conf
보이지 않는 문자 확인하기
줄 끝의 공백이나 탭, CRLF 문제를 조사할 때 표시 옵션을 사용합니다.
cat -A script.sh
표준 입력을 파일로 저장하기
입력이 끝나면 Ctrl+D로 EOF를 전달합니다. 편집 작업에는 전용 편집기가 더 안전합니다.
cat > memo.txt
cat와 관련 명령 비교
| 명령 | 주요 역할 | 적합한 상황 |
|---|---|---|
cat |
출력·결합 | 짧은 파일과 파이프 입력 |
less |
대화형 페이지 보기 | 긴 파일 탐색 |
tac |
줄 순서 역전 | 최신 줄을 먼저 확인 |
paste |
행 단위 병합 | 열 형태로 파일 결합 |
사용할 때 주의할 점
큰 파일은 less로 확인합니다
대용량 파일을 터미널에 모두 출력하면 화면과 터미널 버퍼를 불필요하게 소모합니다.
자기 자신으로 리디렉션하지 않습니다
cat file > file은 cat이 읽기 전에 셸이 파일을 비울 수 있습니다.
바이너리 파일 출력을 피합니다
제어 바이트가 터미널 표시를 흐트러뜨릴 수 있으므로 file, hexdump 또는 xxd를 사용합니다.
FAQ
cat은 파일 내용을 수정하나요?
아닙니다. 기본 동작은 읽어서 표준 출력으로 보내는 것입니다. 다만 리디렉션 대상은 셸이 생성하거나 덮어쓸 수 있습니다.
여러 파일 사이에 빈 줄이 자동으로 들어가나요?
아닙니다. 각 파일의 바이트를 그대로 이어 출력합니다.
줄 번호는 어떻게 표시하나요?
모든 줄은 -n, 내용이 있는 줄만은 -b를 사용합니다.
긴 로그도 cat으로 보면 되나요?
가능하지만 탐색과 검색이 필요하면 less가 적합합니다.









