개요
리눅스 환경에서 텍스트 파일 내용을 빠르게 확인하고 결합할 때 가장 널리 쓰이는 기본 도구가 바로 cat 명령어입니다. 단순 파일 조회를 넘어 행 번호 출력, 공백 행 압축, 특수 문자 시각화 등 실무 작업 효율을 극대화하는 핵심 옵션을 Ubuntu 실습 환경에서 직접 확인합니다. 각 옵션의 동작 차이와 실제 터미널 출력 결과를 비교해 보며 터미널 생산성을 한 단계 끌어올려 보세요.
1. 실습용 샘플 텍스트 파일 생성 및 기본 조회
cat 명령어의 다양한 옵션 실습을 진행하기 위해 연속된 빈 줄, 탭 문자, 후행 공백이 포함된 sample.txt 파일을 생성합니다.
![printf ‘First line\n\n\nSecond line with tab:\t[TAB]\nThird line with trailing space \n’ > sample.txt](/ubuntu/20261008_012749_4/captures/s01_c01_printf__First_line_n_n_nSecond_line_with_tab__t_TA.png)
cat 명령어는 지정한 파일의 내용을 터미널 화면에 그대로 출력합니다.
옵션 없이 실행하면 파일의 원본 텍스트를 있는 그대로 보여줍니다.
⚙️ [주요 옵션]
-n : 비어 있는 줄을 포함한 모든 행의 시작 부분에 줄 번호를 매겨서 출력합니다.-b : 비어 있지 않은 행에만 줄 번호를 매겨서 출력합니다.-s : 두 줄 이상 연속으로 이어지는 빈 줄을 하나의 빈 줄로 압축하여 표시합니다.-E : 각 행의 끝부분에 줄 바꿈 문자를 나타내는 $ 기호를 표시합니다.-T : 탭(Tab) 문자가 포함된 위치에 ^I 기호를 표시하여 시각적으로 구분합니다.

2. 행 번호 표시 옵션 비교 (-n vs -b)
cat -n sample.txt 명령어는 파일의 모든 행에 줄 번호를 매겨서 출력합니다.
텍스트가 없는 빈 줄(2행, 3행)까지 포함하여 전체 라인의 흐름과 위치를 확인할 때 유용합니다.

cat -b sample.txt 명령어는 비어 있지 않은 행에만 줄 번호를 매겨서 출력합니다.
내용이 없는 빈 줄은 번호 부여 대상에서 건너뛰므로 실제 유효한 데이터 라인의 개수만 파악하기에 편리합니다.

3. 연속된 빈 줄을 하나로 압축하여 가독성 높이기 (-s)
cat -s sample.txt 명령어는 연속으로 이어지는 빈 줄들을 단 하나의 빈 줄로 압축하여 출력합니다.
불필요하게 긴 공백을 줄여 전체 텍스트의 가독성을 높일 때 유용합니다.

cat -ns sample.txt 명령어는 연속된 빈 줄을 하나로 압축함과 동시에 모든 행에 줄 번호를 매겨서 출력합니다.
압축된 상태의 전체 라인 수와 텍스트의 위치를 한눈에 파악하기에 효과적입니다.

4. 보이지 않는 특수 문자 및 개행/탭 시각화 (-E, -T, -A)
cat -E sample.txt 명령어는 각 행의 끝(개행 위치)에 $ 기호를 표시하여 출력합니다.
문장 끝에 눈에 보이지 않는 공백(Trailing Space)이나 불필요한 줄 바꿈이 존재하는지 직관적으로 확인할 때 유용합니다.

cat -T sample.txt 명령어는 탭(Tab) 문자를 ^I 기호로 치환하여 화면에 출력합니다.
일반 띄어쓰기(스페이스)와 탭 문자를 명확히 구분할 수 있어 코드나 설정 파일의 들여쓰기 오류를 검사할 때 효과적입니다.

cat -A sample.txt 명령어는 숨겨진 특수 제어 문자와 개행, 탭을 모두 시각화하여 출력합니다.-vET 옵션을 합친 것과 동일하게 동작하며 탭(^I)과 줄 바꿈($)을 동시에 표시하여 보이지 않는 공백 버그를 한 번에 점검하기에 적합합니다.

5. 여러 파일 병합 및 EOF를 활용한 파일 작성 응용
파일 병합 실습을 위해 헤더 내용이 담긴 header.txt 파일을 생성합니다.

cat header.txt sample.txt > merged.txt 명령어는 header.txt와 sample.txt 두 파일의 내용을 순서대로 결합하여 새로운 merged.txt 파일로 저장합니다.
여러 텍스트 파일을 하나로 합치거나 문서 앞에 머리말을 추가할 때 효과적입니다.

cat << 'EOF' > append_test.txt 명령어는 Here Document 문법을 사용하여 EOF를 입력하기 전까지 작성한 여러 줄의 내용을 append_test.txt 파일로 생성합니다.
에디터를 열지 않고도 쉘 환경에서 여러 줄의 텍스트를 파일에 빠르게 작성할 때 유용합니다.

cat merged.txt append_test.txt 명령어는 앞서 생성한 merged.txt와 append_test.txt의 내용을 차례대로 이어 붙여 터미널 화면에 출력합니다.
병합된 전체 데이터의 흐름과 순서가 올바르게 구성되었는지 한눈에 확인할 수 있습니다.

지금까지 리눅스 cat 명령어의 기본 개념부터 실무에서 자주 활용되는 5가지 주요 옵션과 실행 결과까지 간단하게 정리해보았습니다.
상황에 맞는 옵션을 적극 활용하여 터미널 환경에서의 파일 확인 및 작업 효율을 한층 더 높여보시길 바랍니다.