모든 운영 체제에서 사용자는 파일로 작업하고 파일 생성, 삭제 및 읽기와 같은 작업을 수행합니다. Linux에서도 상황은 다르지 않습니다.
Linux 운영 체제에서 그래픽 사용자 인터페이스를 사용하여 파일 작업을 할 수 있지만 대부분의 Linux 사용자는 터미널에서 운영 체제와 상호 작용하는 것을 선호합니다.
따라서 Linux에는 사용자가 터미널에서 바로 파일 작업을 할 수 있는 명령이 있습니다. 그러한 명령 중 하나는 cat 명령입니다.
Linux 매뉴얼 페이지에서 cat 명령은 파일을 연결하고 파일 내용을 표준 출력으로 인쇄하는 데 사용됩니다. Linux 매뉴얼 페이지는 사용자가 Linux 명령과 사용 방법을 이해하는 데 도움이 되는 문서 파일입니다.
Linux 명령에 대한 매뉴얼 페이지에 액세스하려면 man
man cat
목차
cat 명령의 용도
앞에서 언급한 것처럼 cat 명령을 사용하여 파일 내용을 화면에 출력할 수 있습니다. 다른 기능은 파일을 연결하고 내용을 출력하는 것입니다. 즉, cat 명령에 여러 파일을 제공하면 해당 내용을 연결하고 해당 내용을 화면에 출력합니다.
간단하게 설명하면 cat 명령어는 내용을 여러 파일에 모아서 화면에 출력해줍니다. 그러나 이러한 작업에서 cat 명령은 새 파일을 만들지 않으며 cat 명령에서 사용되는 원래 파일은 변경되지 않은 상태로 유지됩니다.
cat 명령은 리디렉션에도 사용됩니다. 리디렉션은 사용자가 표준 입력의 소스와 표준 출력 및 표준 오류의 대상을 변경할 수 있는 방법을 나타냅니다. 표준 입력, 표준 출력 및 표준 오류는 Linux에서 통신에 사용되는 표준 스트림입니다.
기본적으로 표준입력은 키보드이며 표준출력과 표준오류는 기본적으로 화면에 표시된다.
따라서 리디렉션은 기본 키보드에서 표준 입력을 받는 대신 파일이나 다른 소스에서 입력을 리디렉션하고 가져올 수 있음을 의미합니다.
기본적으로 화면에 표시되는 표준 출력 및 표준 오류의 경우 리디렉션을 통해 이러한 출력을 파일에 쓸 수 있습니다.
고양이 명령 구문
cat 명령의 구문은 다음과 같습니다.
cat [OPTION]... [FILE]...
Linux 매뉴얼 페이지에서 대괄호 안에 나열된 항목은 모두 선택 사항입니다. 따라서 위의 구문에서 cat 명령이 OPTION 또는 File을 인수로 가질 필요는 없습니다. 둘 중 하나를 가질 수도 있고 둘 다 가질 수도 있고 전혀 갖지 않을 수도 있습니다.
줄임표(…)는 앞의 피연산자 또는 인수 중 하나 이상이 허용됨을 표시하는 데 사용됩니다. 따라서 cat 명령은 하나 이상의 OPTION 또는 FILE을 사용할 수 있습니다.
FILE은 cat 명령으로 연결하고 표시하려는 파일을 나타냅니다. OPTION은 동작을 수정하기 위해 cat 명령에 추가할 수 있는 플래그를 나타냅니다. cat 명령과 함께 사용할 수 있는 옵션은 다음과 같습니다.
cat 명령은 전달된 파일을 가져오고 그 내용을 터미널 창인 표준 출력으로 출력하는 방식으로 작동합니다. 전달된 파일이 여러 개인 경우 해당 내용이 연결되어 터미널 창에 표시됩니다.
cat 명령은 전달된 플래그에 따라 다르게 작동합니다. 예를 들어 -n 플래그를 전달하면 cat 명령이 모든 출력 행에 번호를 지정합니다. 작동 방식에 따라 cat 명령과 함께 사용할 수 있는 플래그를 전달할 수 있습니다.
고양이 명령을 사용하는 방법
cat 명령을 사용하려면 예를 들어 연결하고 읽을 파일의 이름과 명령을 입력하기만 하면 됩니다. rainbow.txt라는 파일의 내용을 출력하려면 다음 명령을 실행합니다.
cat rainbow.txt
플래그를 추가하여 cat 명령의 동작을 수정할 수도 있습니다. 예를 들어 -n 플래그를 사용하여 모든 출력 행에 번호를 지정할 수 있습니다. 위의 예에서 다음 줄을 실행하여 rainbow.txt의 모든 출력 줄에 번호를 매길 수 있습니다.
cat -n rainbow.txt
두 명령의 출력은 다음과 같습니다.
cat 명령과 함께 사용할 수 있는 플래그 또는 옵션을 결합하려면 간단히 하나씩 작성하거나 간격을 둘 수 있습니다. 두 작품 중 하나입니다. 아래 표시된 -E 플래그는 출력 행 끝에 달러 기호($)를 추가하는 데 사용됩니다.
이는 통화 값을 표시할 때 유용할 수 있습니다. cat 명령으로 여러 플래그를 결합할 수 있는 다양한 방법은 다음과 같습니다.
cat 명령을 사용하여 여러 파일을 연결하고 표시하려면 공백으로 구분하여 파일 이름을 차례로 쓰십시오. 예를 들어 rainbow.txt와 primary.txt라는 두 파일을 연결하려면 다음 줄을 실행합니다.
cat rainbow.txt primary.txt
명령의 출력은 다음과 같습니다.
두 파일 rainbow.txt 및 primary.txt는 이 작업 후에도 변경되지 않은 상태로 유지됩니다. 파일이 명령에 나타나는 순서에 따라 내용이 표시되는 방식이 결정됩니다. 내용은 첫 번째 파일부터 마지막 파일까지 표시됩니다. 아래와 같이 여러 파일을 연결하고 표시할 때 플래그를 추가할 수도 있습니다.
cat 명령에 대해 주의해야 할 마지막 사항은 명령에 파일이 제공되지 않거나 대시(-)가 제공되는 경우 cat 명령이 파일 대신 표준 입력에서 읽는다는 것입니다. 표준 입력은 키보드입니다.
따라서 cat 명령은 사용자가 키보드를 통해 입력하는 모든 것을 단순히 표시합니다. 실제로 이것을 보려면 다음 명령을 실행하십시오.
cat
이 명령은 키보드 입력을 기다리는 깜박이는 커서로 이동합니다. 텍스트를 입력한 다음 Enter 키를 누릅니다. 무엇을 입력하든 아래와 같이 표준 출력으로 출력됩니다.
CTRL + C를 눌러 종료하고 cat 명령에 대한 입력 전달을 중지합니다.
또한 cat 명령을 사용하여 활성 디렉토리에 있는 특정 유형의 모든 파일 내용을 연결하고 출력할 수 있습니다. 이것은 별표를 사용하여 수행됩니다.
cat *.txt
와일드 카드. 예를 들어, 특정 디렉토리에 있는 텍스트 파일(.txt)의 모든 내용을 출력하려면 다음 코드를 실행합니다.
명령의 출력은 다음과 같습니다.
cat 명령의 예
cat 명령의 표준 사용 외에도 cat 명령의 기능은 리디렉션을 통해 확장될 수 있습니다. 앞에서 언급했듯이 cat 명령은 기본적으로 터미널 화면에 출력됩니다.
그러나 리디렉션을 통해 출력이 화면에 표시되는 대신 다른 파일로 출력을 리디렉션할 수 있습니다.
Linux의 출력 리디렉션 연산자는 >(보다 큼 기호, 셰브론이라고도 함)입니다.
cat rainbow.txt
예를 들어 다음 줄을 실행하면:
rainbow.txt의 내용이 화면에 출력됩니다.
cat colors.txt > rainbow.txt
그러나 우리가 실행하면
rainbow.txt의 내용은 화면에 표시되지 않습니다. 대신 리디렉션되어 colors.txt 파일에 기록됩니다. 이것은 한 파일에서 다른 파일로 내용을 복사하는 훌륭한 방법이 될 수 있습니다.
Linux에서 출력 리디렉션의 기본 동작은 리디렉션할 파일의 모든 콘텐츠를 덮어쓰는 것입니다. 예를 들어 위의 예에서 rainbow.txt의 모든 콘텐츠는 colors.txt의 콘텐츠로 덮어쓰여집니다. 리디렉션할 파일의 기존 콘텐츠를 유지하고 새 콘텐츠를 추가하려면 리디렉션할 때 >>를 사용하십시오.
>>를 사용하여 rainbows.txt의 출력을 colors.txt로 리디렉션한 후 이제 colors.txt에 rainbows.txt에서 발견된 색상이 있음을 알 수 있습니다.
cat 명령의 기능을 더 활용하기 위해 cat 명령을 사용하여 파일을 만들고 쓰기 위해 파일이 제공되지 않을 때 표준 입력에서 읽는 cat 명령의 기본 동작과 리디렉션을 결합할 수 있습니다.
cat > dark.txt
아래 코드를 실행하면
dark.txt로 리디렉션됩니다. 콘텐츠가 dark.txt로 리디렉션되는 파일을 제공하지 않았으므로 cat 명령은 키보드 입력을 예상합니다.
따라서 dark.txt에 저장하려는 텍스트를 입력하고 Enter 키를 눌러 다음 줄로 이동한 다음 완료되면 CTRL + D를 눌러 입력한 내용을 리디렉션할 파일에 저장합니다.
존재하지 않는 파일로 리디렉션하기 때문에 dark.txt가 자동으로 생성되고 키보드를 통해 입력한 내용이 파일에 저장됩니다. 이렇게 하면 cat 명령을 사용하여 파일을 만들고 생성 시 파일에 쓸 수 있습니다.
작업의 출력은 다음과 같습니다.
cat >> dark.txt
고양이는 파일 끝에 텍스트를 추가하는 데에도 사용할 수 있습니다. dark.txt를 사용하여 다음을 실행하여 더 많은 색상을 추가할 수 있습니다.
그런 다음 키보드로 입력한 다음 CTRL + D를 눌러 추가 정보를 추가하고 아래와 같이 새 콘텐츠를 dark.txt에 저장하고 추가할 수 있습니다.
cat file1 file2 file3 > file4
cat 명령을 사용하여 여러 파일을 하나의 파일로 연결할 수도 있습니다. 이러한 작업의 구문은 다음과 같습니다.
file1, file2 및 file3의 내용이 함께 연결되어 file4에 기록됩니다. file4의 내용을 덮어쓰지 않으려면 >>를 사용할 수도 있습니다. file$이 존재하지 않으면 자동으로 생성됩니다.
이에 대한 예가 아래에 나와 있습니다.
cat colors.txt primary.txt > allColors.txt
colors.txt 및 primary.txt의 내용을 allColors.txt에 쓰려면 다음을 실행합니다.
cat primary.txt >> colors.txt
cat 명령을 사용하여 하나 또는 여러 파일의 내용을 다른 파일에 추가할 수도 있습니다. 이는 출력을 재지정할 때 >>를 사용하여 수행됩니다. 이렇게 하면 다른 파일에 이미 저장된 내용을 덮어쓰는 것을 방지할 수 있습니다. 예를 들어, primary.txt의 내용을 colors.txt에 추가하려면 아래 코드를 실행합니다.
이 작업의 결과는 다음과 같습니다.
결론
cat 명령은 사용자가 파일 내용을 연결하고 표시할 수 있게 해주는 매우 유용한 Linux 명령입니다. 이 명령에는 동작 방식을 변경하기 위해 추가할 수 있는 여러 플래그가 있습니다.
리디렉션을 통해 cat 명령의 기능을 크게 확장하여 사용자가 파일을 만들고 복사하고 여러 파일을 하나의 파일로 연결하고 기존 파일에 추가할 수 있습니다. cat 명령에 대해 자세히 알아보려면 man 페이지를 방문하십시오.
시스템 관리자를 위한 일부 Linux 명령을 탐색할 수도 있습니다.