2 분 소요

리눅스에서는 대용량 텍스트 파일을 효율적으로 열람·검색·정렬·분석·분할할 수 있는 다양한 명령어들이 존재합니다. 이 글에서는 cat, head, less, grep, wc, sort, cut, split파일 내용을 다루는 핵심 명령어들을 기능별로 정리했습니다.


1. 파일 전체 내용 출력

1.1 cat – 파일 내용 그대로 출력

  • 설명: 텍스트 파일 전체 내용을 한 번에 출력

  • 형식:

    cat [옵션] 파일명
    
  • 주요 옵션:

    옵션 설명 예시
    -n 줄 번호 포함 (빈 줄 포함) cat -n file.txt
    -b 줄 번호 포함 (빈 줄 제외) cat -b file.txt

2. 파일 일부 내용 출력

2.1 head – 앞부분 출력

  • 설명: 파일의 첫 n줄 출력

  • 형식:

    head -n [줄 수] 파일명
    
  • 예시:

    head -n 5 file.txt  # 앞 5줄 출력
    

2.2 tail – 뒷부분 출력

  • 설명: 파일의 마지막 n줄 출력

  • 형식:

    tail -n [줄 수] 파일명
    
  • 예시:

    tail -n 10 error.log  # 최근 10줄 출력
    

실시간 모니터링 팁: tail -f file.txt는 새로 추가되는 내용을 실시간으로 출력합니다.


3. 페이지 단위 출력

3.1 more – 한 화면씩 출력

  • 설명: cat과 달리 한 화면 단위로 출력

  • 형식:

    more file.txt
    
  • 조작키:

    • Enter: 한 줄
    • Space: 한 페이지
    • q: 종료

3.2 less – 스크롤 가능한 출력 도구

  • 설명: more보다 진화된 텍스트 뷰어

  • 형식:

    less file.txt
    
  • 장점:

    • 방향키로 양방향 탐색 가능
    • /키워드검색 기능 내장
    • 대용량 로그 파일 분석에 적합

4. 검색 및 통계

4.1 grep – 문자열 검색

  • 형식:

    grep [옵션] "검색어" 파일명
    
  • 예시:

    grep -n "ERROR" syslog.log  # 줄 번호 포함 검색
    

4.2 wc – 라인·단어·바이트 수 확인

  • 형식:

    wc [옵션] 파일명
    
  • 주요 옵션:

    옵션 설명 예시
    -l 라인 수 wc -l file.txt
    -w 단어 수 wc -w file.txt
    -c 바이트 수 wc -c file.txt

5. 정렬 및 특정 필드 추출

5.1 sort – 파일 내용 정렬

  • 형식:

    sort [옵션] 파일명
    
  • 주요 옵션:

    옵션 설명 예시
    -r 역순 정렬 sort -r list.txt
    -f 대소문자 무시 정렬 sort -f names.txt

5.2 cut – 특정 문자·필드 추출

  • 형식:

    cut [옵션] 파일명
    
  • 옵션 예시:

    cut -c 1-5 file.txt   # 앞 5글자 출력
    cut -d ',' -f 1 data.csv  # CSV에서 첫 필드만 출력
    

6. 파일 분할

6.1 split – 큰 파일을 나누기

  • 형식:

    split [옵션] 파일명
    
  • 옵션 예시:

    옵션 설명 예시
    -b 바이트 단위 분할 split -b 100k big.txt
    -l 줄 수 단위 분할 split -l 50 log.txt

결과 파일은 xaa, xab, xac 등으로 자동 저장됩니다.


실전 예제 모음

# 로그 파일 최근 20줄 보기
tail -n 20 /var/log/syslog

# 특정 단어 포함된 줄 찾기
grep -n "ERROR" /var/log/app.log

# 단어 수 세기
wc -w document.txt

# 대소문자 무시하고 정렬
sort -f names.txt

# CSV 파일에서 첫 번째 열만 추출
cut -d ',' -f 1 data.csv

# 대용량 로그를 100줄씩 분할
split -l 100 access.log

질문 정리

catmore는 어떻게 다르나요?

  • cat: 한 번에 출력 (스크롤 불가)
  • more: 화면 단위 출력, 스페이스로 넘김 가능

less로 검색하려면 어떻게 하나요?

  • /키워드 → 다음 일치 항목은 n, 이전은 N

wc -c 결과가 예상보다 큽니다. 이유는?

  • 바이트 수이기 때문입니다. 한글 파일이나 유니코드가 포함된 경우 UTF-8 인코딩에 따라 크기가 늘어납니다.

split으로 나눈 파일을 다시 합치는 방법은?

cat x* > merged.txt

cut으로 여러 필드를 추출할 수 있나요?

네, 쉼표 등 구분자로 다중 필드를 지정할 수 있습니다:

cut -d ',' -f 1,3,5 data.csv

정리

  • cat, more, less출력
  • head, tail부분 조회
  • grep, wc검색과 통계
  • sort, cut데이터 처리
  • split파일 분할

카테고리:

업데이트:

댓글남기기