홈 › 리눅스 명령어 › 02 / 10

텍스트 보기·편집 (less·vi)

섹션 7진행 0 / 10

4. 응용 변형 예제

4.1 설정 파일 두 서버 비교

bash
scp app2:/opt/myapp/conf/application.yml /tmp/app2.yml
diff -u /opt/myapp/conf/application.yml /tmp/app2.yml

같은 앱인데 한 서버만 이상할 때 첫 번째로 하는 일입니다. diff -u 출력의 -·+ 줄만 보면 됩니다.

4.2 로그에서 가장 많은 IP

bash
awk '{print $1}' access.log | sort | uniq -c | sort -rn | head -n 10

첫 열이 IP 인 nginx 접근 로그에서 상위 10개입니다. awk 로 열을 뽑고 sort | uniq -c | sort -rn 을 붙였습니다.

4.3 vi 로 설정 한 줄 고치기

text
vi /opt/myapp/conf/application.yml
/server.port        검색해서 이동
A                   줄 끝에서 입력 모드
(값 수정) Esc
:wq                 저장하고 나가기

다섯 단계가 설정 수정의 전부입니다. 고치기 전 cp 로 백업하는 습관은 운영 묶음 02 의 sed -i.bak 과 같습니다.

4.4 vi 에서 실수 복구

text
u                   방금 한 편집 되돌리기
Ctrl+R              되돌린 것 다시
:q!                 이번 편집 전부 버리고 나가기
:e!                 파일을 다시 읽어 처음 상태로

저장 전이면 :q! 로 언제든 원래 파일이 남습니다. 저장 뒤라면 백업 파일이 유일한 복구 수단입니다.

4.5 열 맞춰 보기

bash
column -t -s, data.csv | less -S

column -t 가 열 폭을 맞추고 less -S 는 긴 줄을 자르지 않고 옆으로 넘깁니다. CSV 를 표처럼 확인할 때 씁니다.