OS/Linux
[Linux] 리눅스 cat 명령어 사용법 (파일 확인, 합병, 생성)
코딩팩토리
2021. 11. 23. 23:17
cat 명령어
리눅스의 cat명령어는 concatenate에서 따온 명칭으로 그 이름에서 유추할 수 있듯 본래의 기능은 여러 파일의 내용을 하나로 합쳐주는 역할을 합니다. 하지만 리눅스에서 cat 명령어는 단순히 파일을 합치는 것에만 사용되는 것은 아니고 파일의 내용을 단순 출력하여 확인하거나, >이나 >>와 같은 리다이렉션 기호와 함께 사용하여 파일을 생성하고, 저장하는 용도로도 사용될 수 있습니다.
입출력 리다이렉션
리다이렉션 기호 | 방향 | 의미 |
> | 표준 출력 | 명령 > 파일 : 명령의 결과를 파일로 저장 |
>> | 표준 출력 (추가) | 명령 >> 파일 : 명령의 결과를 기존 파일에 추가하여 저장 |
< | 표준 입력 | 명령 < 파일 : 파일의 내용을 명령에 입력 |
리눅스 cat 사용법
cat [옵션][파일명]
파일 내용 출력
# 한개의 파일을 화면에 출력
cat file.txt
# 여러개의 파일을 화면에 출력
cat file1.txt file2.txt file3.txt
리눅스에서 파일의 내용을 확인할 수 있는 방법은 view, vi등 여러 가지 방법이 있지만 간단한 문서 확인 같은 경우에는 cat을 많이 사용하게 됩니다. cat은 파일 안에 들어가는 것이 아니라 파일의 내용을 터미널에 출력하는 것이기에 문서 확인 후 따로 종료 명령어를 사용할 필요가 없기 때문입니다.
파일 생성 & 합병
# file의 내용을 new_file라는 이름으로 생성
cat file > new_file
# file1 + file2 + file3 내용을 new_file라는 이름으로 생성
cat file1 file2 file3 > new_flie
# file2의 내용을 file1에 추가함
cat file2 >> file1
위와 같이 리다이렉션 기호 > 을 사용하여 대상 파일의 내용을 복사하거나 생성, 합칠 수 있습니다. 생성될 파일명이 이미 존재할 경우에는 파일 내용이 그대로 덮어 씌워지니 이 부분은 주의하셔야 합니다. 만약 > 대신 >>을 사용한다면 기존 파일의 내용을 지우지 않고 대상 파일의 내용을 아래에 추가합니다.
입력 내용을 파일로 저장
# file.txt에 new content라는 내용 입력 후 저장
cat > file.txt
new content
# file.txt에 new content라는 내용 추가 후 저장
cat >> file.txt
new content
cat 명령어 바로 뒤에 > 을 붙여서 실행시키면 터미널에 문자를 입력할 수 있는 표준 입력창이 나옵니다. 여기서 자신이 추가하고 싶은 내용을 입력하고 CTRL + C 버튼을 눌러주면 입력한 텍스트가 파일로 저장됩니다. 생성될 파일명이 이미 존재할 경우에는 파일 내용이 그대로 덮어 씌워지며 파일의 내용을 추가하기 위해서는 > 대신 >> 을 사용해주셔야 합니다.
자주 사용하는 옵션
- n: 줄번호를 화면 왼쪽에 나타낸다. 비어있는 행도 포함한다.
- b: 줄번호를 화면 왼쪽에 나타낸다. 비어있는 행은 제외한다.
- e: 제어 문자를 ^ 형태로 출력하면서 각 행의 끝에 $를 추가한다.
- s: 연속되는 2개이상의 빈 행을 한 행으로 출력한다.
- v: tab과 행 바꿈 문자를 제외한 제어 문자를 ^ 형태로 출력한다.
- E: 행마다 끝에 $ 문자를 출력한다.
- T: 탭(tab) 문자를 출력한다.
- A: -vET 옵션을 사용한 것과 같은 효과를 본다.
cat 명령어의 내용 출력 화면을 좀 더 가독성 있게 만드는 법
파일의 내용을 모니터 화면 크기로 맞추기. cat + more
cat fileName | more
cat로 화면에 파일의 내용을 출력하면 한 화면을 넘어가더라도 파일의 내용을 끝까지 출력하기 때문에 파일의 길이가 길면 읽기가 불편합니다. cat과 more을 함께 사용하면 파일의 내용을 모니터 단위로 맞춰서 보여줍니다.
파일의 내용을 vim 편집기로 확인 cat + less
cat fileName | less
cat 명령어와 less를 함께 사용하면 파일의 내용을 vim 편집기로 볼 수 있어 좀 더 깔끔하게 내용을 확인하실 수 있습니다.