Linuxのネットワーク分析、パフォーマンス分析、テキストの書式設定、ツールのファイルの読み取りおよび書き込み操作

良いツールは、Linuxのシェアの下で、今日の仕事のいくつかのより多くの便利なツールを結合、私たちはより効率的に作業できるようになります。

ネットワーク解析ツール

MTR

MTRネットワークリンク検出の判断は、非常に便利なツールですこれら二つのtracertコマンドとpingコマンドの機能、動的な出力検出結果を統合しています。MTRのデフォルトはICMPパケットが検出をリンク、リンク上の相関ノードプロービングし続けると、対応する統計う、MTRは、ノードの結果に変動の影響を避けることができ送る
真ん中のライン損失は深刻ではないですが、ターゲット・アドレスをパケット損失は、ICMPホストルーティングプロトコルの一部ではなく、治療またはだけで固定された制限に対処するためにリソースを割り当て、おそらくので、それは正常です。ICMPプロトコル要求CPUリソースの消費量、コストを節約するために、CPUのみが固定割り当て要求リソース処理ICMPので、

root@master1:~# mtr 114.114.114.114

Linuxのネットワーク分析、パフォーマンス分析、テキストの書式設定、ツールのファイルの読み取りおよび書き込み操作

出力状態
最初の列の(ホスト) IPノードとドメイン名:
2列目の(損失%) ノードパケット損失率は、パケット損失は、通常、最終的な目標は、実際の損失である
第三の列の(SNT)パケットを送信することは:数
4列目(最後):前回のプローブ遅延値
第5列(平均):の平均遅延プローブ
6列目(ベスト):の最適値こと、遅延最小プローブ
7列(WRST) 遅延の最大値を検出する、すなわち、最悪の値が
8列目(標準偏差):標準偏差

オプションパラメータ説明
-h( -ヘルプ):情報役立つ提供します
- (版)-vを:バージョンを表示
- -c(COUNT) この値は、プログラムが終了した後に到達するのping限界値の数を設定する:
(-r - -report) レポート出力モード
-p( -スプリット):追跡結果が記載されていますたびに
-s( - PSIZEは):pingパケットのサイズを指定します
-n( - DNS-NO)を:ありませんIPアドレスのDNS行う
-a( -アドレス):ホストがIPを複数有する場合には、送信されたパケットをIPアドレス設定を
-i( -インターバル):、戻りICMPの間隔を設定し、デフォルトのLS
-4:使用IPv4プロトコル
-6:IPv6プロトコルを使用

実行時の対話型オプション
またはH? 表示のヘルプメニュー
D:表示モードに切り替え
てN-:DNSのDNSの有効または無効に
Uを:ICPMまたはUDPパケット検出との間にスイッチ

例:
pingの数は20で、1024バイトのパケットサイズ、レポート出力モード、チェックコネクティビティBaiduの
Linuxのネットワーク分析、パフォーマンス分析、テキストの書式設定、ツールのファイルの読み取りおよび書き込み操作

パフォーマンス解析ツール

通过top命令查看系统的CPU、内存、运行时间、交换分区、执行的线程等信息。可以有效的发现系统的缺陷出在哪里,是内存不够、CPU处理能力不够还是IO读写问题等。
root@master1:~# top
Linuxのネットワーク分析、パフォーマンス分析、テキストの書式設定、ツールのファイルの読み取りおよび書き込み操作

输出结果说明
第一行:系统当前时间、系统运行时间、当前登录用户数、系统负载(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の
Linuxのネットワーク分析、パフォーマンス分析、テキストの書式設定、ツールのファイルの読み取りおよび書き込み操作

または、次のようにフォーマットされました
Linuxのネットワーク分析、パフォーマンス分析、テキストの書式設定、ツールのファイルの読み取りおよび書き込み操作

インデックスに従って要素を参照するために
そのような最初の要素を表示するように

Linuxのネットワーク分析、パフォーマンス分析、テキストの書式設定、ツールのファイルの読み取りおよび書き込み操作

注:ファイルは最初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

あなたはリダイレクトとして考えるかもしれません
Linuxのネットワーク分析、パフォーマンス分析、テキストの書式設定、ツールのファイルの読み取りおよび書き込み操作

しかし、あなたは、これはソースファイルが空でリダイレクトするでしょう、もちろん、これは我々が見たいものではありません。
今、私たちは、ファイルの内容を再書き込みます

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

この時点で、途中で一時ファイルをリダイレクトするだろうと思うかもしれない
Linuxのネットワーク分析、パフォーマンス分析、テキストの書式設定、ツールのファイルの読み取りおよび書き込み操作
一時ファイルを通じて私たちのニーズを満たすためにコースの

ファイルが書き込まれる前に、スポンジは、すべての入力を読み取ることができるので、スポンジで我々のニーズに良い解決策になることができ
、Linuxのデフォルトなしスポンジのコマンドではありません、あなたは最初にインストールする必要があります

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

Linuxのネットワーク分析、パフォーマンス分析、テキストの書式設定、ツールのファイルの読み取りおよび書き込み操作

上記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"}]

Linuxのネットワーク分析、パフォーマンス分析、テキストの書式設定、ツールのファイルの読み取りおよび書き込み操作

おすすめ

転載: blog.51cto.com/13053917/2422257