파일을 식별하는 방법을 배웠으니 이제 내용을 읽어 봅시다. cat 명령어는 파일을 표시하고 내용을 이어 붙이며, 이름은 "concatenate"의 줄임말입니다.
명령줄 · 레슨 7
cat
cat 명령어로 파일 내용을 안전하게 표시하고 연결하며 리디렉션하는 방법을 배웁니다.
파일 내용 보기
cat 명령어의 가장 기본적인 용도는 단일 파일의 내용을 터미널에 직접 출력하는 것입니다.
$ cat myfile.txt
이 명령어는 파일 전체를 표준 출력으로 보냅니다. 짧은 텍스트에는 적합하지만 긴 파일은 너무 빨리 지나갈 수 있습니다.
myfile.txt 전체를 터미널에 표시하는 명령어는 무엇인가요?
파일 연결하기
이름 그대로 cat은 여러 파일을 연결(concatenate)하여 결합된 출력을 보여줄 수 있습니다. 지정한 순서대로 파일을 읽고 순차적으로 출력합니다.
$ cat dogfile birdfile
이 명령어는 먼저 dogfile의 내용을 출력하고 바로 이어서 birdfile의 내용을 출력합니다. 결합된 출력을 새 파일에 저장하려면 >로 표준 출력을 리디렉션합니다.
$ cat dogfile birdfile > animals
쉘은 cat을 실행하기 전에 animals를 만들거나 비운 뒤 결합된 출력을 그곳으로 보냅니다. 입력 파일 중 하나를 목적지로 사용하면 cat이 읽기 전에 파일이 비워질 수 있으므로 피해야 합니다.
part1 다음에 part2가 오도록 결합해 새로 만들거나 교체한 whole에 쓰는 명령어는 무엇인가요?
터미널 입력을 파일로 읽기
cat을 출력 리디렉션 연산자(>)와 함께 사용하여 새 파일을 만들 수도 있습니다. 터미널에서 직접 텍스트를 파일에 빠르게 쓸 수 있는 방법입니다.
$ cat > newfile.txt
이 명령어를 실행한 후 텍스트를 입력할 수 있습니다. 새 줄에서 Ctrl+D를 눌러 저장하고 종료하세요. 이렇게 하면 입력한 텍스트로 newfile.txt가 생성됩니다. 기존 파일에 >를 사용하면 완전히 덮어쓰므로 주의하세요.
덮어쓰지 않고 파일에 덧붙이려면 >>를 사용하세요.
$ cat >> notes.txt
기존 notes.txt의 끝에 텍스트를 더 입력하려 합니다. 파일을 비우지 않고 작업을 시작하는 명령어는 무엇인가요?
출력 형식 조정하기
cat 명령어에는 동작을 변경하는 여러 옵션이 있습니다.
-n: 모든 출력 줄에 1부터 번호를 매깁니다.-b: 빈 줄을 제외한 출력 줄에만 번호를 매깁니다.-s: 여러 개의 빈 줄을 하나의 빈 줄로 압축합니다.-A: 출력하지 않는 문자, 탭, 줄 끝 문자를 표시합니다.
예시:
$ cat -n script.sh
$ cat -b notes.txt
$ cat -s messy.txt
notes.txt에서 비어 있지 않은 출력 줄에만 번호를 매기는 명령어는 무엇인가요?
긴 파일에 적합한 뷰어 선택하기
짧은 파일에는 cat을 사용하세요. 긴 파일은 less를 사용해 스크롤, 검색, 종료가 가능하며 터미널이 넘치지 않습니다.
$ less /var/log/syslog
긴 로그 파일을 대화형으로 읽기에 더 적합한 명령어는 무엇인가요?
파일 내용을 표시하고 결합하는 방법을 연습하려면 다음 실습을 활용해 보세요.
- Linux cat 명령어: 파일 연결하기 -
cat명령어로 텍스트 파일을 보고, 연결하고, 조작하는 방법을 배우며 명령어 라인에서 효율적인 텍스트 파일 처리를 익히세요. - Linux에서 로그 및 설정 파일 보기 -
cat같은 명령어를 사용해 시스템 로그와 설정 파일을 효율적으로 보고 탐색하며 중요한 정보를 추출하는 연습을 하세요.
레슨 완료
cat 완료
이제 안전한 리디렉션을 선택하면서 cat으로 파일 내용을 표시하고 결합할 수 있습니다.
짧은 파일의 전체 내용을 표시할 수 있습니다.
원하는 순서로 파일을 연결할 수 있습니다.
목적지를 의도적으로 교체하거나 내용을 추가할 수 있습니다.
출력 줄에 번호를 매기거나 단순화할 수 있습니다.
대화형 읽기에 더 적합할 때
less를 선택할 수 있습니다.