리눅스 명령어 cat 사용법 및 5가지 옵션

리눅스 명령어 cat는 파일의 내용을 화면에 출력하거나, 여러 파일을 결합하여 하나의 파일로 만들 때 사용됩니다. 이번 포스팅에서는 cat 명령어의 기본적인 사용법과 다양한 옵션을 알아보고, 실무에서 유용하게 사용할 수 있는 팁과 주의사항을 함께 설명하겠습니다.

cat 명령어란?

cat은 “concatenate”의 약자로, 본래 의미는 “연결하다”입니다. 리눅스에서 cat 명령어는 파일의 내용을 연결하여 보여주거나 파일을 결합할 때 사용됩니다. 가장 간단한 용도로는 파일의 내용을 확인하는 데 사용됩니다. 이는 cat 명령어가 가진 가장 기본적인 기능으로, 파일의 내용을 그대로 출력해 줍니다.

cat 파일명
ShellScript

위 명령어는 지정한 파일명의 내용을 터미널 화면에 출력합니다. 이때 출력되는 내용은 파일의 모든 내용을 포함하며, 별도의 페이지 구분 없이 한 번에 출력됩니다.

그림 1. 리눅스 명령어 cat: 실행 결과
그림 1. 리눅스 명령어 cat: 실행 결과

cat 명령어의 주요 옵션

cat 명령어는 기본 기능 외에도 다양한 옵션을 제공하여 사용자의 필요에 따라 더욱 유연하게 사용할 수 있습니다. 주요 옵션들을 하나씩 살펴보겠습니다.

-n 옵션: 줄 번호 표시하기

-n 옵션은 파일의 각 줄 앞에 줄 번호를 붙여 출력해 줍니다. 코드나 로그 파일 등을 확인할 때, 줄 번호가 있으면 특정 부분을 참조하기에 매우 유용합니다.

cat -n 파일명
ShellScript

이 명령어를 사용하면 아래 그림과 같이 각 줄 앞에 해당 줄의 번호가 표시된 상태로 파일의 내용이 출력됩니다.

그림 2. 리눅스 명령어 cat: -n 옵션으로 줄 번호 표시하기
그림 2. 리눅스 명령어 cat: -n 옵션으로 줄 번호 표시하기

-b 옵션: 비어있지 않은 줄에만 줄 번호 표시하기

-n 옵션과 유사하지만, -b 옵션은 비어 있지 않은 줄에만 번호를 붙여 줍니다. 공백 줄은 제외하고 번호를 매기기 때문에, 공백이 많은 파일을 다룰 때 유용합니다.

cat -b 파일명
ShellScript

이 명령어를 사용하면 아래 그림과 같이 빈 줄에는 번호가 매겨지지 않고, 내용이 있는 줄에만 번호가 매겨져 출력됩니다.

그림 3. 리눅스 명령어 cat: -b 옵션으로 빈 줄은 줄번호 제외
그림 3. 리눅스 명령어 cat: -b 옵션으로 빈 줄은 줄번호 제외

-E 옵션: 각 줄 끝에 달러 기호($) 표시하기

-E 옵션은 각 줄의 끝에 달러 기호($)를 붙여서 출력합니다. 줄 끝을 명확하게 구분하고 싶을 때 사용됩니다. 예를 들어, 공백 줄이나 탭이 포함된 줄을 명확하게 구분하고자 할 때 유용합니다.

cat -E 파일명
ShellScript

이 명령어를 실행하면, 줄 끝이 달러 기호($)로 표시되어 줄의 끝을 확인할 수 있습니다. 라인 3의 경우에는 줄 끝에 공백이 있는 것을 쉽게 확인할 수 있습니다.

그림 4. 리눅스 명령어 cat: -E 옵션으로 줄 끝 부호로 달러 기호($) 표시
그림 4. 리눅스 명령어 cat: -E 옵션으로 줄 끝 부호로 달러 기호($) 표시

-s 옵션: 연속된 빈 줄을 하나로 축소하기

파일에 연속적으로 빈 줄이 많이 포함되어 있다면, -s 옵션을 사용하여 연속된 빈 줄을 하나로 축소할 수 있습니다. 이렇게 하면 파일의 가독성이 향상됩니다.

cat -s 파일명
ShellScript

이 명령어를 사용하면 연속된 빈 줄이 하나로 합쳐져 출력됩니다. 아래 그림을 보면 -n 옵션만 이용한 경우를 보면 4, 5행이 비어있는 것을 알 수 있습니다. s 옵션을 함께 사용하면 비어 있는 두 개의 행이 하나로 줄어든 것을 확인할 수 있습니다.

그림 5. 리눅스 명령어 cat: -s 옵션으로 여러 개의 빈 줄 한 줄로 표시
그림 5. 리눅스 명령어 cat: -s 옵션으로 여러 개의 빈 줄 한 줄로 표시

-T 옵션: 탭 문자를 ^I로 표시하기

탭 문자(Tab)는 화면에서 보이지 않기 때문에 파일 내의 들여쓰기나 탭 구분이 명확하지 않을 수 있습니다. -T 옵션을 사용하면 탭 문자가 ^I로 표시되며, 파일 내의 탭 문자를 시각적으로 확인할 수 있습니다.

cat -T 파일명
ShellScript

이 명령어를 사용하면 아래 그림과 같이 파일 내의 탭 문자가 ^I로 표시됩니다.

그림 6. 리눅스 명령어 cat: -T 옵션으로 탭문자를 ^I로 표시
그림 6. 리눅스 명령어 cat: -T 옵션으로 탭문자를 ^I로 표시

cat 명령어의 활용 예시

cat 명령어는 단순히 파일의 내용을 출력하는 것을 넘어 다양한 상황에서 활용될 수 있습니다. 몇 가지 유용한 예시를 살펴보겠습니다.

여러 파일을 하나로 결합하기

여러 파일의 내용을 하나의 파일로 결합하고 싶을 때, cat 명령어를 사용하면 간단히 해결할 수 있습니다. 다음은 두 개의 파일(file1.txtfile2.txt)을 결합하여 output.txt로 저장하는 예시입니다.

cat file1.txt file2.txt > output.txt
ShellScript

아래 그림에서는 a.txt와 b.txt 파일을 생성한 후, 2개의 파일을 이어 붙여서 c.txt 파일로 저장했습니다.

그림 7. 리눅스 명령어 cat: 파일 결합하기
그림 7. 리눅스 명령어 cat: 파일 결합하기

터미널에서 입력 받아 파일로 저장하기

cat 명령어는 파일을 읽기만 하는 것이 아니라, 사용자가 직접 터미널에서 입력한 내용을 파일로 저장할 수도 있습니다.

cat > new_file.txt
ShellScript

위 명령어를 입력한 후 내용을 입력하고, 입력이 끝나면 Ctrl + D를 누르면 입력한 내용이 new_file.txt라는 파일에 저장됩니다. 아래 그림에서는 사용자가 입력한 내용 “Hello, World!”를 d.txt에 저장 후 확인해 보았습니다.

그림 8. 리눅스 명령어 cat: 터미널에서 입력 받아서 파일로 저장하기
그림 8. 리눅스 명령어 cat: 터미널에서 입력 받아서 파일로 저장하기

cat 명령어 사용 시 주의사항

cat 명령어는 매우 유용하지만, 몇 가지 주의할 점이 있습니다.

  • 대용량 파일 출력 시 주의: 대용량 파일을 cat 명령어로 출력하면 터미널이 내용으로 가득 차고, 출력이 끝나기 전까지 다른 작업을 할 수 없을 수 있습니다. 이럴 때는 less, more 명령어를 사용하는 것이 더 적합합니다.
  • 파일 덮어쓰기 주의: cat 명령어로 여러 파일을 결합할 때, 이미 존재하는 파일 이름을 지정하면 해당 파일이 덮어쓰여지므로 주의가 필요합니다. 잘못하면 중요한 파일이 삭제될 수 있습니다.

정리

cat 명령어는 리눅스에서 파일을 관리할 때 매우 유용한 도구입니다. 파일의 내용을 출력하고, 여러 파일을 결합하며, 줄 번호 표시나 탭 문자 표시와 같은 다양한 옵션을 통해 파일을 더욱 쉽게 분석할 수 있습니다. 다만, 대용량 파일을 다룰 때나 파일 덮어쓰기와 같은 상황에서는 주의가 필요합니다. cat 명령어를 잘 활용하면 리눅스 작업을 더욱 효율적으로 수행할 수 있습니다. 오늘 설명한 내용을 바탕으로 cat 명령어를 유용하게 사용해 보세요!

참고자료

관련 포스트

Leave a Comment