Linux cat 명령어: 파일 연결 및 출력

LinuxBeginner
지금 연습하기

소개

이 튜토리얼에서는 텍스트 파일을 확인하고 조작하는 데 있어 매우 다재다능한 도구인 Linux 의 cat 명령어를 소개합니다. cat을 사용하여 파일 내용을 화면에 출력하고, 여러 파일을 하나로 합치며, 다양한 옵션을 통해 파일 보기를 최적화하는 방법을 배우게 됩니다. 이 과정을 마치면 Linux 사용자에게 필수적인 기술인 기본적인 파일 작업들을 cat 명령어로 능숙하게 수행할 수 있게 될 것입니다.

당신이 한 기술 스타트업의 신입 인턴이라고 가정해 봅시다. 첫 번째 업무는 회사의 Linux 서버 여기저기에 흩어져 있는 여러 텍스트 파일로부터 일일 보고서를 취합하는 것입니다. 파일 내용을 확인하고, 파일들을 하나로 합치고, 출력 형식을 조정해야 합니다. cat 명령어는 이 작업을 수행하는 데 있어 가장 핵심적인 도구가 될 것입니다.

이 과정은 단계별 지침을 통해 학습과 실습을 돕는 가이드 랩 (Guided Lab) 입니다. 각 단계를 주의 깊게 따라가며 직접 실습해 보세요. 통계에 따르면 이 랩은 초급 수준으로 94%의 수료율을 기록하고 있으며, 학습자들로부터 100%의 긍정적인 평가를 받았습니다.

프로젝트 디렉토리 탐색하기

먼저 프로젝트 디렉토리에 어떤 파일들이 있는지 확인하는 것부터 시작해 보겠습니다.

  1. 터미널을 엽니다. 보통 $ 기호로 끝나는 명령 프롬프트가 보일 것입니다.

  2. 프로젝트 디렉토리로 이동합니다:

cd /home/labex/project

이 명령어는 현재 작업 디렉토리를 /home/labex/project로 변경합니다. cd는 "change directory"의 약자입니다.

  1. 현재 위치를 확인합니다:
pwd

pwd 명령어는 "print working directory"의 약자로, 현재 위치한 경로를 출력합니다. 화면에 /home/labex/project가 표시되어야 합니다.

  1. 디렉토리의 파일 목록을 확인합니다:
ls

이 명령어는 현재 위치에 있는 모든 파일과 디렉토리를 보여줍니다. 목록에서 daily_report.txt, sales.txt, marketing.txt와 같은 여러 텍스트 파일들을 확인할 수 있습니다.

파일 내용 확인하기

이제 cat 명령어를 사용하여 파일의 내용을 확인해 보겠습니다. cat은 "concatenate(연결하다)"의 약자이지만, 실제로는 파일 내용을 단순히 화면에 출력하는 용도로 가장 많이 사용됩니다.

  1. daily_report.txt 파일의 내용을 확인합니다:
cat daily_report.txt

이 명령어를 실행하면 파일의 전체 내용이 터미널에 출력됩니다. 파일 내용이 길 경우 터미널 창의 가시 범위를 넘어 위로 스크롤될 수 있습니다.

  1. 파일의 앞부분이 보이지 않는다면 터미널 화면을 깨끗하게 지우고 다시 시작할 수 있습니다:
clear

clear 명령어가 반드시 필요한 것은 아니지만, 작업 공간을 깔끔하게 유지하는 데 도움이 됩니다. 지금 당장 이 명령어를 완벽히 이해하지 못해도 괜찮습니다. 터미널 관리에 대해서는 향후 레슨에서 더 자세히 배우게 됩니다.

  1. 이제 다시 파일 내용을 확인해 봅니다:
cat daily_report.txt

잠시 시간을 내어 내용을 읽어보세요. 이것이 바로 cat 명령어의 힘입니다. 터미널에서 직접 텍스트 파일의 내용을 빠르고 간편하게 확인할 수 있게 해줍니다.

여러 파일 합치기

cat 명령어는 여러 개의 파일을 하나로 합치는 데에도 사용됩니다. 명령어의 이름인 "concatenate"가 바로 이 기능에서 유래되었습니다.

  1. 먼저 sales.txtmarketing.txt의 내용을 각각 따로 확인해 보겠습니다:
cat sales.txt
cat marketing.txt

각 파일에 어떤 내용이 들어있는지 눈여겨보세요.

  1. 이제 이 파일들을 하나로 합쳐서 출력해 보겠습니다:
cat sales.txt marketing.txt

이 명령어를 실행하면 두 파일의 내용이 지정한 순서대로 연달아 출력되어, 마치 하나의 파일인 것처럼 보입니다. cat이 사용자가 지정한 순서에 따라 각 파일의 내용을 순차적으로 출력하는 것을 알 수 있습니다.

  1. 이제 "출력 리다이렉션 (output redirection)"이라는 새로운 개념을 소개하겠습니다. Linux 에서는 명령어의 출력 결과 (보통 터미널에 표시되는 내용) 를 화면에 보여주는 대신 파일로 보낼 수 있습니다. 이때 > 기호를 사용합니다. 사용 방법은 다음과 같습니다:
cat sales.txt marketing.txt > combined_report.txt

이 명령어를 분석해 보겠습니다:

  • cat sales.txt marketing.txt는 이전에 사용했던 두 파일의 내용을 합쳐서 보여주는 명령어입니다.
  • > 기호는 새로운 요소입니다. 터미널에 표시될 내용을 가로채서 파일에 기록하라고 Linux 에 지시합니다.
  • combined_report.txt는 우리가 새로 만들 파일의 이름입니다.

즉, 이 명령어는 "sales.txt 와 marketing.txt 의 합쳐진 내용을 화면에 보여주는 대신, combined_report.txt 라는 새 파일에 저장하라"는 의미입니다.

이는 나중에 사용할 수 있도록 명령어의 결과를 저장할 수 있게 해주는 Linux 의 강력한 기능입니다. 처음에는 조금 생소하더라도 걱정하지 마세요. 앞으로의 레슨에서 충분히 연습하게 될 것입니다.

  1. 리다이렉션이 제대로 작동했는지 확인하기 위해 새 파일의 내용을 확인해 봅시다:
cat combined_report.txt

이 새 파일 안에 sales.txtmarketing.txt의 내용이 모두 들어있다면 성공입니다! 출력 리다이렉션을 사용하여 파일을 성공적으로 합쳤습니다.

행 번호 옵션 사용하기

cat 명령어는 출력을 보완하는 다양한 옵션을 제공합니다. 그중 행 번호를 표시하는 옵션을 살펴보겠습니다.

  1. daily_report.txt의 내용을 행 번호와 함께 출력합니다:
cat -n daily_report.txt

-n 옵션은 cat에게 모든 출력 라인에 번호를 붙이도록 지시합니다. 파일의 특정 줄을 지칭하거나 참조해야 할 때 매우 유용합니다.

  1. 행 번호가 없는 기본 출력과 비교해 보세요:
cat daily_report.txt

-n 옵션을 사용하면 각 줄의 시작 부분에 번호가 추가되어 파일의 특정 부분을 훨씬 쉽게 찾을 수 있다는 것을 알 수 있습니다.

줄 바꿈 문자 표시하기

또 다른 유용한 옵션은 줄 바꿈 (끝) 문자를 표시하는 것입니다. 이를 통해 줄 끝의 공백이나 줄 바꿈 관련 문제를 쉽게 파악할 수 있습니다.

  1. 줄 바꿈 문자가 보이도록 daily_report.txt의 내용을 확인합니다:
cat -E daily_report.txt

-E 옵션은 각 줄의 끝에 $ 기호를 표시하도록 합니다. 이를 통해 각 줄이 어디서 끝나는지 명확하게 확인할 수 있으며, 특히 서식 문제를 해결할 때 매우 유용합니다.

  1. 일반 출력과 비교해 보세요:
cat daily_report.txt

-E 옵션이 각 줄 끝에 $를 추가하여 줄의 끝을 명시적으로 보여주는 것을 확인할 수 있습니다.

요약

이 튜토리얼에서 여러분은 cat 명령어를 사용하여 다음과 같은 다양한 파일 작업을 수행하는 방법을 배웠습니다:

  • 파일 내용 확인하기
  • 여러 파일을 하나로 합치기
  • 행 번호 표시 (-n) 및 줄 바꿈 기호 출력 (-E) 과 같은 옵션 활용하기

이러한 기술들은 Linux 환경에서 텍스트 파일을 관리하고 조작하는 데 있어 매우 소중한 자산이 될 것입니다. Linux 를 계속 학습해 나가면서 다재다능한 cat 명령어의 더 많은 활용법을 발견하게 될 것입니다.

이 튜토리얼에서 다루지 않은 추가적인 cat 명령어 옵션들은 다음과 같습니다:

  • -A: 모든 비출력 문자 표시 (-vET와 동일)
  • -b: 비어 있지 않은 줄에만 행 번호 표시
  • -s: 연속되는 빈 줄을 하나의 빈 줄로 축소하여 출력
  • -T: 탭 (TAB) 문자를 ^I로 표시
  • -v: 줄 바꿈 (LFD) 과 탭 (TAB) 을 제외하고 ^M- 표기법 사용

참고 자료