리눅스 네트워크 분석, 성능 분석, 텍스트 서식, 도구의 파일 읽기 및 쓰기 작업

좋은 도구는 리눅스 주에서 오늘 작업의 몇 가지 유용한 도구를 결합, 우리가보다 효율적으로 작업 할 수 있습니다.

네트워크 분석 도구

MTR

MTR 네트워크 링크 검출 판정은 매우 유용한 도구 두 TRACERT 핑 명령의 기능, 동적 출력하는 검출 결과를 통합한다. MTR 기본 전송 ICMP 패킷을 감지, 링크에 상관 노드 프로빙하고 해당 통계, MTR 노드의 결과에 대한 변동의 영향을 피할 수있다 할 것입니다 링크
중간 라인 손실이 심각하지 않지만 경우 대상 주소 패킷 손실은 ICMP 호스트 라우팅 프로토콜의 일부가되지 처리 또는 단지 고정 된 한계를 다루는 자원을 할당 아마 때문에, 그것은 정상입니다. ICMP 프로토콜 요청 CPU 자원 소비 비용을 줄이기 위해 단지 CPU가 고정 할당 요청 자원 처리 ICMP 때문에

root@master1:~# mtr 114.114.114.114

리눅스 네트워크 분석, 성능 분석, 텍스트 서식, 도구의 파일 읽기 및 쓰기 작업

출력 상태
첫번째 열 (호스트) IP 노드 및 도메인 이름 :
두번째 컬럼 (손실 %) : 노드의 패킷 손실율, 패킷 손실은 통상적으로 최종 목표는 실제 손실이다
세번째 컬럼 (SNT) 패킷을 전송하는 : 수
(마지막) 네 번째 열의 다음의 프로브 지연 값 마지막
다섯 번째 열 (평균)의 평균 지연 프로브
여섯 번째 열 (최상) : 프로브 지연 최소한 그 최적 값
일곱 번째 열 (WRST) : 지연의 최대 값을 검출, 즉, 최악의 값
여덟 번째 컬럼합니다 (표준 편차) : 표준 편차

옵션 매개 변수 설명
-h (- 도움말) : 정보 도움말 제공
- (버전) -v를 : 버전 표시
- -c (COUNT) ,이 값은 프로그램이 종료 후 도달 핑 한계 값의 수를 설정을 :
(-r - -report) : 보고서 출력 모드
-p (- 분할) : 추적 결과가 나열 될 때마다
-s (- PSIZE는) : 핑 패킷의 크기를 지정
-n (- DNS-NO)를 :하지 IP 주소는 DNS의 수행
(- 주소) -a를 : IP 주소는 호스트가 복수의 IP가있는 경우, 전송 된 패킷을 설정
-i를 (-를 간격) : 기본 LS 반환 ICMP 사이의 간격을 설정
-4 : 사용 IPv4 프로토콜
-6 : IPv6 프로토콜을 사용

대화 형 옵션을 시간 실행
또는 H? : 도움말을 표시 메뉴
d를 : 디스플레이 모드를 전환
N- 형을 : 사용 또는 DNS DNS를 사용하지
U를 : icpm 또는 UDP 패킷 탐지 사이의 스위치를

예를 들어,이 :
핑 번호는 20, 1024 바이트의 패킷 크기, 보고서 출력 모드, 당좌 연결 바이
리눅스 네트워크 분석, 성능 분석, 텍스트 서식, 도구의 파일 읽기 및 쓰기 작업

성능 분석 도구

상단

通过top命令查看系统的CPU、内存、运行时间、交换分区、执行的线程等信息。可以有效的发现系统的缺陷出在哪里,是内存不够、CPU处理能力不够还是IO读写问题等。
root@master1:~# top
리눅스 네트워크 분석, 성능 분석, 텍스트 서식, 도구의 파일 읽기 및 쓰기 작업

输出结果说明
第一行:系统当前时间、系统运行时间、当前登录用户数、系统负载(1分钟、5分钟、15分钟的平均值)
第二行:tasks为任务进程,total进程总数,ruuning正在运行的进程数,sleeping睡眠的进程数,stopped停止运行的进程数,zombie僵尸进程数
第三行:cpu使用情况,us(user)用户空间占用cpu时间百分比,sy(system)内核空间占用cpu时间百分比,ni(nice)运行低优先级进程的cpu时间百分比,id(idle)空闲cpu时间百分比,wa(iowait)等待io占用cpu时间百分比,hi(hard interrupt)硬件硬中断占用cpu百分比,si(soft interrupt)软件软中断占用cpu百分比,st(steal)当前系统运行在虚拟机中的时候,被其他虚拟机占用的cpu时间百分比
整体的cpu使用率=1-id。当us很高时,证明cpu时间主要消耗在用户代码,需要优化用户代码。sy很高时,说明cpu时间都消耗在内核,要么是频繁的系统调用,要么是频繁的cpu切换(进程切换/线程切换)。wa很高时,说明有进程在进程频繁的IO操作,有可能是磁盘IO,也有可能是网络IO。si很高时,说明cpu时间消耗在处理软中断,网络收发包会触发系统软中断,所以大量的网络小包会导致软中断的频繁触发,典型的SYN Floor会导致si很高。
第四行:内存使用情况,total物理内存总大小,free空闲内存总量,used已经使用的内存量,buff表示用于读写磁盘缓存的内存,cache表示用于读写文件缓存的内存。avail表示可用的内存大小
第五行:虚拟内存信息, total表示能用的swap总量,swap free表示剩余,used表示已经使用的。
swap原理是把一块磁盘空间或者一个本地文件当成内存来使用,称为交换分区
第六行:具体的每个进程状态,PID进程id,USER进程所有者的用户名,PR进程调度优先级,NI进程nice值(优先级),越小的值代表越高的优先级,VIRT进程使用的虚拟内存,RES进程使用的物理内存(不包括共享内存),SHR 进程使用的共享内存大小,S进程状态(D:不可中断的睡眠状态,R:运行,S:睡眠,T:跟踪/停止,Z:僵尸进程),%CPU 进程使用的cpu占用百分比,%MEM 进程使用的内存占用百分比,TIME+ 进程启动后到现在所用的全部cpu时间,COMMAND 进程的启动命令(默认只显示二进制,-c参数能够显示命令行和启动参数)

可选参数说明
-b 批处理模式操作
-d 指定每两次屏幕信息刷新之间的时间间隔
-p 通过指定监控进程ID来仅仅监控某个进程的状态
-q 使top没有任何延迟的进行刷新,如果调用程序有超级用户权限,那么top将以尽可能高的优先级运行
-S 指定累积模式
-s 使top命令在安全模式中运行,这将去除交互命令所带来的潜在危险。
-i 使top不显示任何闲置或者僵死进程
-c 显示整个命令行而不只是显示命令名

运行时交互式选项
h或者? 显示快捷键帮助
q 退出程序
1 展开多核cpu显示
m 切换显示内存信息
M 根据内存使用大小排序
P 根据CPU使用率进行排序(默认排序)
c 切换显示命令名称和完整命令行
k 终止一个进程
i 忽略闲置和僵死进程
r 重新安排一个进程的优先级别,系统提示用户输入需要改变的进程PID以及需要设置的进程优先级
S 切换到累计模式
s 更改刷新间隔时间,单位秒,默认是5s
f或者F 从当前显示中添加或者删除项目
o或者O 改变显示项目的顺序
l 切换显示平均负载和启动时间信息
t 切换显示进程和CPU状态信息
T 根据时间/累计时间进行排序
w 将当前设置写入~/.toprc文件中

格式化工具

jq

jq可以对json数据进行分片、过滤、映射和转换,可以让linux命令和shell脚本在处理json数据时变得得心应手。
默认linux系统是不带jq命令的,首先需要安装

root@master1:~# apt-get install -y jq

有如下json格式的文件

root@master1:~# cat test.txt
[{"address":{"province":"hubei","city":"wuhan"},"site":"www.hubei.com"},{"address":{"province":"hunan","city":"changsha"},"site":"www.hunan.com"},{"address":{"province":"zhejiang","city":"hangzhou"},"site":"www.zhejiang.com"}]

이제 포맷 출력있는 test.txt
리눅스 네트워크 분석, 성능 분석, 텍스트 서식, 도구의 파일 읽기 및 쓰기 작업

또는 다음과 같이 포맷
리눅스 네트워크 분석, 성능 분석, 텍스트 서식, 도구의 파일 읽기 및 쓰기 작업

인덱스에 따른 요소를 참조하는
상기 제 1 요소를 봐서

리눅스 네트워크 분석, 성능 분석, 텍스트 서식, 도구의 파일 읽기 및 쓰기 작업

참고 : 파일이 처음 JQ으로 처리해야는 JSON 형식과 일치, 또는 JQ 형식 오류, JQ 원래의 파일 형식은 레이아웃 형식을 변경하지 않습니다

파일 조작 도구

스펀지

스폰지 파일을 다시 읽은 후에는 같은 파일에 기록 할 때 더 유용, 기록, 파일을 수정 파일 전에 모든 입력을 읽기위한 지원 도구를 사용하여 비교적 쉽게
그런 다음 파일로

root@master1:~# cat ceshi.txt 
windowns
linux
c language
python language
go language
hello world

이제 우리는 처음에 따라 알파벳 순서로 파일을 필요에 파일을 다시 저장

root@master1:~# sort ceshi.txt 
c language
go language
hello world
linux
python language
windowns

당신은 리디렉션 등의 생각
리눅스 네트워크 분석, 성능 분석, 텍스트 서식, 도구의 파일 읽기 및 쓰기 작업

그러나 당신이 우리가보고 싶은 것이 아니다,이 소스 파일은 물론, 비어 리디렉션 할 수 있습니다.
이제 우리는 파일의 내용을 다시 작성합니다

root@master1:~# cat ceshi.txt
windowns
linux
c language
python language
go language
hello world

이 시점에서 당신은 방법으로 임시 파일을 리디렉션 할 생각
리눅스 네트워크 분석, 성능 분석, 텍스트 서식, 도구의 파일 읽기 및 쓰기 작업
임시 파일을 통해 우리의 요구를 충족하기 위해 물론

파일이 기록되기 전에 스폰지는 모든 입력을 읽을 수 있기 때문에,이 스폰지에 의해 우리의 필요에 좋은 해결책이 될 수 있습니다
리눅스 기본 것은 더 스폰지 명령입니다, 먼저 설치해야합니다

root@master1:~# apt-get install -y moreutils

리눅스 네트워크 분석, 성능 분석, 텍스트 서식, 도구의 파일 읽기 및 쓰기 작업

위의 JQ 도구를 소개, 우리는 출력 TEST.TXT 포맷 만있는 test.txt 파일 자체는 변경되지 않은, 그래서 지금 우리는 JQ 수 있으며, 스폰지 조합 형식의 파일 TEST.TXT에 사용

root@master1:~# cat test.txt
[{"address":{"province":"hubei","city":"wuhan"},"site":"www.hubei.com"},{"address":{"province":"hunan","city":"changsha"},"site":"www.hunan.com"},{"address":{"province":"zhejiang","city":"hangzhou"},"site":"www.zhejiang.com"}]

리눅스 네트워크 분석, 성능 분석, 텍스트 서식, 도구의 파일 읽기 및 쓰기 작업

추천

출처blog.51cto.com/13053917/2422257