리눅스 cat 명령어 완벽 가이드 - 터미널 파일 조회부터 병합·생성 꿀팁까지!

개요

리눅스 및 우분투 터미널에서 가장 널리 쓰이는 cat 명령어의 기초부터 실무 응용까지 완벽하게 정리합니다. 단순히 파일 내용을 출력하는 기능 외에도 줄 번호 표시, 공백 시각화, 파일 병합 및 EOF(Heredoc)를 활용한 파일 작성법까지 예제와 함께 소개합니다.

1. cat 명령어 기본 사용법과 텍스트 파일 내용 즉시 확인

cat 명령어 실습에 사용할 샘플 텍스트 파일을 생성하기 위해 echo "Hello Ubuntu 24.04 LTS World!" > sample.txt 명령어를 실행합니다.

echo “Hello Ubuntu 24.04 LTS World!” > sample.txt

cat 명령어는 지정한 텍스트 파일의 전체 내용을 터미널 화면에 출력합니다.
cat sample.txt 명령어를 실행하면 파일에 작성된 내용이 화면에 바로 표시됩니다.
⚙️ [주요 옵션]

-n : 모든 출력 줄에 행 번호를 붙여서 표시합니다.
-b : 공백이 아닌 줄에만 행 번호를 붙여서 표시합니다.
-s : 연속되는 빈 줄을 하나의 빈 줄로 축소하여 출력합니다.
-E : 각 줄의 끝에 $ 문자를 표시하여 줄 바꿈 위치를 시각화합니다.
-T : 탭(TAB) 문자를 ^I로 변환하여 표시합니다.
-A : 탭, 줄 바꿈, 제어 문자를 모두 포함하여 파일 내부의 모든 요소를 시각화합니다.

cat sample.txt

2. 줄 번호 표시(-n) 및 특수문자 시각화(-A) 옵션 활용법

cat 명령어 옵션 실습을 위한 샘플 파일을 준비하기 위해 echo -e "First Line\nSecond Line\n\nFourth Line\tTabbed" > options_demo.txt 명령어를 실행합니다.

echo -e “First Line\nSecond Line\n\nFourth Line\tTabbed” > options_demo.txt

cat -n options_demo.txt 명령어를 실행하면 빈 줄을 포함한 파일의 모든 줄에 행 번호가 붙어서 출력됩니다.
코드나 설정 파일을 탐색할 때 정확한 라인 위치를 한눈에 파악할 수 있습니다.

cat -n options_demo.txt

cat -A options_demo.txt 명령어를 실행하면 탭과 줄 바꿈 등 눈에 보이지 않는 제어 문자가 모두 시각화되어 표시됩니다.
각 줄의 끝에는 $ 문자가 붙고 탭(TAB) 자리에는 ^I 문자가 나타나 파일 내 특수문자나 서식 오류를 명확히 확인할 수 있습니다.

cat -A options_demo.txt

3. 여러 텍스트 파일 합치기(Concatenate) 및 새 파일 저장

cat 명령어 파일 병합 실습에 사용할 첫 번째 설정 파일인 part1.txt를 생성하기 위해 echo "[Server Config]" > part1.txt 명령어를 실행합니다.

echo “[Server Config]” > part1.txt

이어서 병합 대상이 될 두 번째 설정 파일인 part2.txt를 생성하기 위해 echo "Port=8080" > part2.txt 명령어를 실행합니다.

echo “Port=8080” > part2.txt

cat part1.txt part2.txt > combined_config.txt 명령어를 실행하여 두 파일의 내용을 순서대로 병합합니다.
리다이렉트 기호(>)를 함께 활용하면 터미널 출력 대신 combined_config.txt라는 새로운 파일로 병합 결과가 바로 저장됩니다.

cat part1.txt part2.txt > combined_config.txt

cat combined_config.txt 명령어를 실행하여 병합이 완료된 파일의 전체 내용을 확인합니다.
part1.txt[Server Config]part2.txtPort=8080 내용이 순서대로 합쳐져 파일에 저장된 것을 볼 수 있습니다.

cat combined_config.txt

4. 터미널에서 에디터 없이 여러 줄 파일 생성하기 (Heredoc / EOF)

cat << 'EOF' > heredoc_demo.txt 명령어를 실행하여 별도의 에디터를 열지 않고 터미널에서 직접 여러 줄의 텍스트가 담긴 heredoc_demo.txt 파일을 생성합니다.
Heredoc(<< 'EOF') 구문과 리다이렉트(>) 기호를 함께 활용하면 EOF 기호가 입력될 때까지 작성한 텍스트를 파일로 즉시 저장할 수 있습니다.

cat « ‘EOF’ > heredoc_demo.txt
Line 1: Server Setup
Line 2: Firewall Config
EOF

cat heredoc_demo.txt 명령어를 실행하여 앞서 Heredoc으로 즉석 생성한 파일의 전체 내용을 확인합니다.
입력했던 Line 1: Server SetupLine 2: Firewall Config 내용이 파일에 정상적으로 저장되어 화면에 바로 출력되는 것을 볼 수 있습니다.

cat heredoc_demo.txt

5. 대용량 파일 다룰 때 cat의 한계와 대체 명령어(head, tail) 파이프 연계

대용량 파일 탐색 실습에 사용할 샘플 로그 파일을 생성하기 위해 seq 1 100 > large_log.txt 명령어를 실행합니다.

seq 1 100 > large_log.txt

head -n 5 large_log.txt 명령어를 실행하면 지정한 파일의 첫 번째 줄부터 상위 5개 줄의 내용만 터미널 화면에 출력됩니다.
cat 명령어와 달리 대용량 파일의 전체 내용을 출력하지 않고 파일 상단 서식이나 시작 부분을 빠르게 점검할 때 유용합니다.

head -n 5 large_log.txt

tail -n 5 large_log.txt 명령어를 실행하면 지정한 파일의 끝부분부터 하위 5개 줄의 내용만 선별하여 출력합니다.
파일 전체를 열어볼 필요 없이 최신 업데이트된 로그나 하단 기록을 효율적으로 파악할 수 있습니다.

tail -n 5 large_log.txt

cat large_log.txt | grep -E "(10|50|100)" 명령어를 실행하여 파일 내용 중 지정한 패턴인 10, 50, 100이 포함된 줄만 필터링하여 출력합니다.
cat으로 불러온 터미널 출력 결과를 파이프(|) 기호로 grep 명령어와 연동하면 대용량 파일 내에서 원하는 키워드가 포함된 행만 신속하게 검색할 수 있습니다.

cat large_log.txt | grep -E “(10|50|100)”

지금까지 리눅스 cat 명령어를 활용한 파일 조회부터 병합과 생성 꿀팁까지 간단하게 살펴보았습니다.
알려드린 다양한 활용법을 참고하셔서 더욱 효율적인 리눅스 터미널 환경을 만들어보시기 바랍니다.