리눅스 파일 내용 확인·검색·처리 명령어
리눅스에서는 대용량 텍스트 파일을 효율적으로 열람·검색·정렬·분석·분할할 수 있는 다양한 명령어들이 존재합니다. 이 글에서는 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
질문 정리
cat과 more는 어떻게 다르나요?
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은 파일 분할
댓글남기기