본문 바로가기

OS/Linux

Linux - 파일 출력 명령어 (cat)

728x90

리눅스(Linux)에서 cat 명령어는 concatenate에서 유래했고 '연결시키다'의 의미를 가지고 있습니다.

파일의 내용을 간단하게 출력할 때와 두 개 이상의 파일을 연결(concatenate)해서 출력할 때 사용합니다.

보통 리다이렉션 기호와 함께 사용하여 파일을 생성하거나 병합 할 때도 사용됩니다.

 

※ 리다이렉션 기호란?

기호 방향 의미
> 표준 출력 명령 > 파일 : 명령의 결과를 파일에 저장
>> 표준 출력 (추가) 명령 >> 파일 : 명령의 결과를 기존 파일에 추가
< 표준 입력 명령 < 파일 : 파일의 데이터를 명령에 입력

cat 명령어 사용법

cat [옵션] 파일명     또는    cat [옵션] 파일명 파일명 .. 파일명 n (복수의 파일)  --> 옵션은 파일명 앞 뒤 상관없다.

옵션

-A : 탭(TAB)과 줄 바꿈(LFD)을 포함한 문자를 표시합니다. -vET와 동일

-b : 비어있지 않은 라인에만 첫 번째 열에 번호를 표시합니다.

-e : 줄 바꿈(LFD)을 포함한 문자를 표시합니다. -vE와 동일

-E : 라인의 마지막에 '$' 기호를 표시합니다.

-n : 모든 라인의 앞에 번호를 함께 출력합니다.

-t : 탭(TAB)을 포함한 문자를 표시합니다. -vT와 동일

-T : 탭(TAB) 문자를 ^I 로 표시합니다.

-v : 탭(TAB)과 줄 바꿈(LFD)을 제외한 문자를 ^,M-를 사용하여 표시합니다.

 

파일 생성 & 병합

# cat file > new_file    //  file의 내용을 new_file라는 이름으로 생성
# cat file1 file2 file3 > new_flie    //  file1 + file2 + file3 내용을 병합하여 new_file라는 이름으로 생성
# cat file2 >> file1     //  file2의 내용을 file1에 추가

 

위와 같이 리다이렉션 기호 > 을 사용하여 대상 파일의 내용을 복사하거나 생성, 병합할 수 있습니다.

생성될 파일명이 이미 존재할 경우엔 파일 내용이 그대로 덮어쓰니 이 부분은 주의하셔야 합니다. 

 

입력 내용을 파일로 저장

# cat > file.txt
new content  내용입력
ctrl + d 입력


# cat >> file.txt
new content 내용입력

ctrl + d 입력

 

cat 명령어 바로 뒤에 > 을 붙여서 실행시키면 터미널에 문자를 입력할 수 있는 표준 입력창이 나옵니다.

추가하고 싶은 내용을 입력하고 CTRL + D 를 입력하면 파일로 저장됩니다. 

 

※ 로그 용량 확보 방법

아래 명령을 수행하게 되면 null (0) 값으로 파일을 채우게 되면서 사이즈가 0이 되고 파일은 남습니다.
# cat /dev/null > file1

ex) cat /dev/null > /usr/local/apache2/logs/access.log

로그가 엄청 쌓여서 용량이 부족한 경우 null 값을 넣어 용량을 확보한다.

728x90
반응형