리눅스 명령어 cat
는 파일의 내용을 화면에 출력하거나, 여러 파일을 결합하여 하나의 파일로 만들 때 사용됩니다. 이번 포스팅에서는 cat
명령어의 기본적인 사용법과 다양한 옵션을 알아보고, 실무에서 유용하게 사용할 수 있는 팁과 주의사항을 함께 설명하겠습니다.
목차
cat 명령어란?
cat
은 “concatenate”의 약자로, 본래 의미는 “연결하다”입니다. 리눅스에서 cat
명령어는 파일의 내용을 연결하여 보여주거나 파일을 결합할 때 사용됩니다. 가장 간단한 용도로는 파일의 내용을 확인하는 데 사용됩니다. 이는 cat
명령어가 가진 가장 기본적인 기능으로, 파일의 내용을 그대로 출력해 줍니다.
cat 파일명
ShellScript위 명령어는 지정한 파일명
의 내용을 터미널 화면에 출력합니다. 이때 출력되는 내용은 파일의 모든 내용을 포함하며, 별도의 페이지 구분 없이 한 번에 출력됩니다.
cat 명령어의 주요 옵션
cat
명령어는 기본 기능 외에도 다양한 옵션을 제공하여 사용자의 필요에 따라 더욱 유연하게 사용할 수 있습니다. 주요 옵션들을 하나씩 살펴보겠습니다.
-n
옵션: 줄 번호 표시하기
-n
옵션은 파일의 각 줄 앞에 줄 번호를 붙여 출력해 줍니다. 코드나 로그 파일 등을 확인할 때, 줄 번호가 있으면 특정 부분을 참조하기에 매우 유용합니다.
cat -n 파일명
ShellScript이 명령어를 사용하면 아래 그림과 같이 각 줄 앞에 해당 줄의 번호가 표시된 상태로 파일의 내용이 출력됩니다.
-b
옵션: 비어있지 않은 줄에만 줄 번호 표시하기
-n
옵션과 유사하지만, -b
옵션은 비어 있지 않은 줄에만 번호를 붙여 줍니다. 공백 줄은 제외하고 번호를 매기기 때문에, 공백이 많은 파일을 다룰 때 유용합니다.
cat -b 파일명
ShellScript이 명령어를 사용하면 아래 그림과 같이 빈 줄에는 번호가 매겨지지 않고, 내용이 있는 줄에만 번호가 매겨져 출력됩니다.
-E
옵션: 각 줄 끝에 달러 기호($) 표시하기
-E
옵션은 각 줄의 끝에 달러 기호($)를 붙여서 출력합니다. 줄 끝을 명확하게 구분하고 싶을 때 사용됩니다. 예를 들어, 공백 줄이나 탭이 포함된 줄을 명확하게 구분하고자 할 때 유용합니다.
cat -E 파일명
ShellScript이 명령어를 실행하면, 줄 끝이 달러 기호($)로 표시되어 줄의 끝을 확인할 수 있습니다. 라인 3의 경우에는 줄 끝에 공백이 있는 것을 쉽게 확인할 수 있습니다.
-s
옵션: 연속된 빈 줄을 하나로 축소하기
파일에 연속적으로 빈 줄이 많이 포함되어 있다면, -s
옵션을 사용하여 연속된 빈 줄을 하나로 축소할 수 있습니다. 이렇게 하면 파일의 가독성이 향상됩니다.
cat -s 파일명
ShellScript이 명령어를 사용하면 연속된 빈 줄이 하나로 합쳐져 출력됩니다. 아래 그림을 보면 -n 옵션만 이용한 경우를 보면 4, 5행이 비어있는 것을 알 수 있습니다. s 옵션을 함께 사용하면 비어 있는 두 개의 행이 하나로 줄어든 것을 확인할 수 있습니다.
-T
옵션: 탭 문자를 ^I로 표시하기
탭 문자(Tab)는 화면에서 보이지 않기 때문에 파일 내의 들여쓰기나 탭 구분이 명확하지 않을 수 있습니다. -T
옵션을 사용하면 탭 문자가 ^I
로 표시되며, 파일 내의 탭 문자를 시각적으로 확인할 수 있습니다.
cat -T 파일명
ShellScript이 명령어를 사용하면 아래 그림과 같이 파일 내의 탭 문자가 ^I
로 표시됩니다.
cat 명령어의 활용 예시
cat
명령어는 단순히 파일의 내용을 출력하는 것을 넘어 다양한 상황에서 활용될 수 있습니다. 몇 가지 유용한 예시를 살펴보겠습니다.
여러 파일을 하나로 결합하기
여러 파일의 내용을 하나의 파일로 결합하고 싶을 때, cat
명령어를 사용하면 간단히 해결할 수 있습니다. 다음은 두 개의 파일(file1.txt
와 file2.txt
)을 결합하여 output.txt
로 저장하는 예시입니다.
cat file1.txt file2.txt > output.txt
ShellScript아래 그림에서는 a.txt와 b.txt 파일을 생성한 후, 2개의 파일을 이어 붙여서 c.txt 파일로 저장했습니다.
터미널에서 입력 받아 파일로 저장하기
cat
명령어는 파일을 읽기만 하는 것이 아니라, 사용자가 직접 터미널에서 입력한 내용을 파일로 저장할 수도 있습니다.
cat > new_file.txt
ShellScript위 명령어를 입력한 후 내용을 입력하고, 입력이 끝나면 Ctrl + D
를 누르면 입력한 내용이 new_file.txt
라는 파일에 저장됩니다. 아래 그림에서는 사용자가 입력한 내용 “Hello, World!”를 d.txt에 저장 후 확인해 보았습니다.
cat 명령어 사용 시 주의사항
cat
명령어는 매우 유용하지만, 몇 가지 주의할 점이 있습니다.
- 대용량 파일 출력 시 주의: 대용량 파일을
cat
명령어로 출력하면 터미널이 내용으로 가득 차고, 출력이 끝나기 전까지 다른 작업을 할 수 없을 수 있습니다. 이럴 때는less
,more
명령어를 사용하는 것이 더 적합합니다. - 파일 덮어쓰기 주의:
cat
명령어로 여러 파일을 결합할 때, 이미 존재하는 파일 이름을 지정하면 해당 파일이 덮어쓰여지므로 주의가 필요합니다. 잘못하면 중요한 파일이 삭제될 수 있습니다.
정리
cat
명령어는 리눅스에서 파일을 관리할 때 매우 유용한 도구입니다. 파일의 내용을 출력하고, 여러 파일을 결합하며, 줄 번호 표시나 탭 문자 표시와 같은 다양한 옵션을 통해 파일을 더욱 쉽게 분석할 수 있습니다. 다만, 대용량 파일을 다룰 때나 파일 덮어쓰기와 같은 상황에서는 주의가 필요합니다. cat
명령어를 잘 활용하면 리눅스 작업을 더욱 효율적으로 수행할 수 있습니다. 오늘 설명한 내용을 바탕으로 cat
명령어를 유용하게 사용해 보세요!