파일이 상대적으로 작은 경우 파일이 큰 경우 1. 직접보기 정력, 그것은 바로 정력 마스터 카드를 사용합니다
당신이보고 싶은 경우 2. 롤링 로그 파일.이 명령은 큰 파일을 볼 수 있습니다.
꼬리 -f 파일
Ctrl + C는 tail 명령을 종료합니다
Ctrl + S를 꼬리 일시 정지 명령
Ctrl 키를 + q를 tail 명령에 계속
파일이 큰 경우 3. 당신은 또한 적은 명령을 사용할 수 있습니다
적은 파일
그러나, 전술 한 단점이 명령은 기본 개방 위치는 제 라인이고, 상기 라이브 스크롤 모드로 전환 라이브 아래쪽으로 스크롤 할 때, (F. 의해이 꼬리 -f의 효과와 유사한 효과를 달성하기 위해) 경우 (G)에서 우리는 카드가 오랫동안 경우, 당신은 Ctrl 키 +의 C를 눌러 취소 행의 수를 계산할 수 있습니다 약간의 시간에 대한 행의 계산에 박히면서.
그럴 줄 번호를 계산의 -n으로 파일을 여는 것을 권장합니다 (경우에 유용 큰 파일을 엽니 다.)
적은 - 상기 n 파일 적은 + G -n 파일 // 기본적으로 파일의 맨 아래에 직접 위치 열린 파일은, 첫 번째 줄에 있습니다. F는 + -n 적은 파일 // 모드를 스크롤 실시간을 사용하여 파일을 열고, Ctrl 키 + C는 모드를 스크롤 실시간 종료를 눌러 F 모드 스크롤 실시간으로 다시 전환 적은 1,000g + -n 파일을 // 일반적으로 처음 1000 선에 직접 위치 grep 명령 행의 개수의 위치를 통해 진행하고,이 명령을 사용하는 이하 50P + -n 파일 // 바로 50 %의 위치를 찾을 -n + 50P 적은 파일 // 직접 처음의 바이트 위치 (100)에 위치. 생각하지 않습니다이 명령을 사용하십시오.
에 -n 단점을 사용하지 마십시오입니다 : 사용 = 시간, 현재 커서의 위치를 계산하지만 기억해야 할 때, 큰 파일의 행은 시간이 지남에 방해 할 수 계산합니다. 예를 들어, 다음 명령
적은 copy.log
= 눌러 디스플레이 결과는 다음과 같이 :
적은 명령은 파일이 크기 때문에, 나는 20 초 카드였다 눌러 =이 파일을 엽니 다.
표시 내용 : 파일명 copy.log 문서의 1-24 행 / 라인 현재 스크린 디스플레이 430 000 070 총, 첫 번째 행에서 144 바이트의 전체의 현재 위치 / 총 파일 2,580,000,418 바이트 파일 0의 현재 위치의 % 장소.
당신이 -n 사용하는 경우, 다음 명령을 입력 :
적은 -n copy.log
그런 다음 실행이 매우 빠르고, =를 누르면
이미지 데이터 위의 더 선이 없습니다, 신속하게 실행합니다.
난 당신이 큰 파일을 표시 덜 명령을 사용하는 것이 좋습니다, 우리는 -n 추가 할 수 있습니다.
파일이 상대적으로 작은 경우 물론, 당신은 더 적은을 사용하여 파일을 열려면, 파일의 행 수를 표시합니다, 당신은 사용할 수 있습니다 :
적은 -N 파일
이미 키 로그 출력을 알고 있다면, 다음 GREP을 사용하기 전에 4. 후, 일반적으로 로그 키워드를 인쇄해야
그렙 '키 워드는'-A 20 log.txt에 // 목록은 행 (20) 후 일치하는 행을 포함한다. 그렙 '키 워드'20 -B log.txt에 //는 이전의 행 (20)을 포함하는 매칭되는 열을 열거한다. 그렙 '키워드'는 -C 20 log.txt에 //는 전후의 각 행 (20)을 포함하는 매칭 라인을 열거한다.
대형 파일, 더 많은 데이터를 grep으로, 당신은 적은 비용으로 사용할 수 있습니다
그렙`world`의 copy.log | 적게
5. 때로는 꼬리와 함께 작은 명령에 필요
10,000 꼬리 -n | 덜 // 10,000 시작부터, 볼 덜 사용합니다. 적은 | 10000 꼬리 -n // 보기 끝에서 두 번째 마지막 데이터 파일에 1,000 선을.
6. 파일을 절단
여러 개의 작은 파일로 큰 파일을 분할 할 가끔. (나는 개인적으로 내가 분할 시간을 찾을 수 있기 때문에 그렇게 추천뿐만 아니라하지 않는 매우 많은 시간이 소요,하지만 여전히 솔루션이 제공 바)
파일 크기 부문 별 :
-b 600m copy.log을 분할
명령은 위의 내가 파일을 분할 한 후 기본적으로 분할 된 파일은, 예를 들어, X로 시작
LS -lht X * $ // 여기 * X로 시작하는 파일을 나열하는 와일드 카드입니다. -rw-RW-r-- 사용 1 개 사과 사과 61M 15:02. 6 22 일자는 XAE가 -rw-R --- RW. 한 애플 애플 600m의. 6 15:02 일자 (22)가 XAD -rw-RW. 한 애플 애플 600m의-r-- 사용 15시 2분. 6 22 일자이다 XAC 15시 2분 일자 22 6이다. --- RW. 1 애플 애플 600M -rw-R XAB 한 RW-600M.. -rw-r-- 같이 6 애플 애플 15시 2분 22의 Xaa 일자
물론, 당신은 행의 수에 따라 분할 할 수 있습니다 다음과 같이 특정 명령의 형식은 다음과 같습니다
명령 매개 변수 | 설명 |
-a, --suffix 길이 = N | 사용 접미사 길이 N (기본 2) |
-b, --bytes = SIZE | 출력 파일의 크기를 설정합니다. 지원 단위 : m, K |
-C, --line 바이트 = SIZE | 출력 파일에 최대 행 수를 설정합니다. 유사 -b, 그러나 우리는 각 행의 무결성을 유지하기 위해 노력할 것입니다 |
-d, --numeric-접미사 | 대신에 숫자 접미사 문자를 사용 |
-l, --lines = NUMBER | 행 장치의 수 출력 파일 |
-도움 | 버전 정보를 표시합니다 |
-번역 | 버젼 정보를 출력 |
7. 당신은 이미 처음 몇 줄에 필요한 내용 만 전이나 표시 할 행의 지정된 다음 줄을 알고 있다면. 예를 들어, 500000000 개 100 라인에 499,999,900에서이 내용을 표시합니다. 이 방법을 권장합니다
머리 -500000000 파일 | 꼬리 -100
어떤 머리 -500000000 : 파일의 첫 번째 5 억 선을 표시합니다.
꼬리 -100 : 마지막 100 줄을 표시합니다.
500,000,000은 행 (100), 후 앞의 두 표시 행의 조합, 즉, 어느 500,000,000 499,999,900 100 개 라인에서 표시 내용. 아니면 나오지도 명령을 사용합니다 :
SED -n '500000000q; 499999900,500000000p'파일
어디 -n p는 : 인쇄 만 규정 행을 나타냅니다.
일시 중단 된 5 억의 라인을 수행 할 때 500000000q ;: 나타냅니다. 당신이 500000000q를 사용하지 않는 경우, 기본적으로 나오지 전체 파일을 찾습니다.
499999900,500000000는 : 499,999,900 라인 500,000,000에를 나타냅니다. 상기 쉼표 범위를 나타냅니다.
그것은 499,999,900에서 500,000,000 라인에 인쇄의 전체적인 조합이지만, 실행은 5 억이 실행하지 않았을 줄 수 있습니다.
또는 awk 명령을 사용하여
AWK 'NR> = 49,999,991 && NR <= 50000000 {인쇄} NR의 == 50000001 {종료}'파일
마지막으로, 나는 세 가지의 효율성 (copy.log 테스트 파일 크기는 2.5입니다 G의) 발견 :
| 시간 (머리 -500000000 copy.log 꼬리 -100)>는 / dev / null의 실제 0m9.456s 사용자 0m8.854s SYS 0m3.501s (sed는 시간 >은 / dev /; '499999900,500000000p 500000000q'copy.log -n를) 널 실제 0m25.968s 사용자 0m25.111s SYS 0m0.833s 시간 (AWK 'NR> = 499,999,900 && NR <= {500,000,000} NR 인쇄의 종료 == {500,000,001} copy.log)> / 디바이스 / 널 실제 1m4.743s의 유저 1m3.824s SYS 0m0.906s
요약
이 그렙 / AWK / SED / 헤드 / 할 수있는 방법으로, 대용량 로그 파일 방법을보고 그렇게하지 이하 / 더 tail 명령이 결합하는가.
사실, 가장 중요한 것은 매일 보관하기 위해, 예를 들어, 로그 파일 보관을 마련 할 필요가 얼마나 큰 파일이나 프로그램 실행시 참조하거나 전체 아카이브의 모든 500M하지 않는 것입니다.
물론, 대기업, 예를 들어 ELK 로그 처리 시스템 등을 사용합니다.
신속한
이 문서의 관점에서 인 경우에, 불행하게도 더 큰 로그 파일 운동 없었다, 당신은 다음과 같은 명령을 실행할 수 있습니다 :
서열 1 십억> 파일