仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 1876|回复: 9
打印 上一主题 下一主题

[shell编程] 给大家带来Shell经常使用技能 体系运转情况

[复制链接]
小女巫 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-14 20:18:53 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
欢迎大家来到仓酷云论坛!体系运转情况相干的Shell下令:

1.Linux的及时监测下令(watch):
watch是一个十分有用的下令,能够帮你及时监测一个下令的运转了局,免得一遍又一遍的手动运转。该下令最为经常使用的两个选项是-d和-n,个中-n暗示距离几秒实行一次"command",-d暗示高亮产生变更的地位。上面枚举几个在watch中经常使用的及时监督下令:
/>watch-d-n1who#每隔一秒实行一次who下令,以监督办事器以后用户登录的情况
Every1.0s:whoSatNov1212:37:182011

stephentty12011-11-1117:38(:0)
stephenpts/02011-11-1117:39(:0.0)
rootpts/12011-11-1210:01(192.168.149.1)
rootpts/22011-11-1211:41(192.168.149.1)
rootpts/32011-11-1212:11(192.168.149.1)
stephenpts/42011-11-1212:22(:0.0)
此时经由过程其他Linux客户端工具以root的身份登录以后Linux办事器,再察看watch下令的运转变更。
Every1.0s:whoSatNov1212:41:092011

stephentty12011-11-1117:38(:0)
stephenpts/02011-11-1117:39(:0.0)
rootpts/12011-11-1210:01(192.168.149.1)
rootpts/22011-11-1211:41(192.168.149.1)
rootpts/32011-11-1212:40(192.168.149.1)
stephenpts/42011-11-1212:22(:0.0)
rootpts/52011-11-1212:41(192.168.149.1)
最初一行中被高亮的用户为新登录的root用户。此时按CTRL+C能够加入正在实行的watch监控历程。

#watch能够同时运转多个下令,下令间用分号分开。
#以下下令监控磁盘的利用情况,和以后目次下文件的变更情况,包含文件的新增、删除和文件修正日期的更新等。
/>watch-d-n1df-h;ls-l
Every1.0s:df-h;ls-lSatNov1212:55:002011

FilesystemSizeUsedAvailUse%Mountedon
/dev/sda15.8G3.3G2.2G61%/
tmpfs504M420K504M1%/dev/shm
total20
-rw-r--r--.1rootroot10530Nov1123:08test.tar.bz2
-rw-r--r--.1rootroot183Nov1108:02users
-rw-r--r--.1rootroot279Nov1108:45users2
此时经由过程另外一个Linux把持台窗口,在watch监督的目次下,如/home/stephen/test,实行上面的下令
/>touchaa#在实行该下令以后,另外一个实行watch下令的把持台将有以下变更
Every1.0s:df-h;ls-lSatNov1212:57:082011

FilesystemSizeUsedAvailUse%Mountedon
/dev/sda15.8G3.3G2.2G61%/
tmpfs504M420K504M1%/dev/shm
total20
-rw-r--r--.1rootroot0Nov1212:56aa
-rw-r--r--.1rootroot0Nov1210:02datafile3
-rw-r--r--.1rootroot10530Nov1123:08test.tar.bz2
-rw-r--r--.1rootroot183Nov1108:02users
-rw-r--r--.1rootroot279Nov1108:45users2
个中黄色高亮的局部,为touchaa下令实行以后watch输入的高亮变更局部。

2.检察以后体系内存利用情况(free):
free下令有以下几个经常使用选项:
选项申明-b以字节为单元显现数据。-k以千字节(KB)为单元显现数据(缺省值)。-m以兆(MB)为单元显现数据。-sdelay该选项将使free延续不休的革新,每次革新之间的距离为delay指定的秒数,假如含有小数点,将准确到毫秒,如0.5为500毫秒,1为一秒。free下令输入的表格中包括以下几列:
列名申明total总计物理内存的巨细。used已利用的内存数目。free可用的内存数目。Shared多个历程同享的内存总额。Buffers/cached磁盘缓存的巨细。
见以下详细示例和输入申明:
/>free-k
totalusedfreesharedbufferscached
Mem:1031320671776359544088796352564
-/+buffers/cache:230416800904
Swap:2047920204792
关于free下令的输入,我们只需存眷白色高亮的输入行和绿色高亮的输入行,见以下详细注释:
白色输入行:该行是从操纵体系的角度来对待输入数据的,used(671776)暗示内核(Kernel)+Applications+buffers+cached。free(359544)暗示体系另有几内存可供利用。
绿色输入行:该行则是从使用步伐的角度来看输入数据的。其free=操纵体系used+buffers+cached,既:
800904=359544+88796+352564
/>free-m
totalusedfreesharedbufferscached
Mem:1007656351086344
-/+buffers/cache:225782
Swap:1990199
/>free-k-s1.5#以千字节(KB)为单元显现数据,同时每隔1.5革新输入一次,直到按CTRL+C加入
totalusedfreesharedbufferscached
Mem:1007655351086344
-/+buffers/cache:224782
Swap:1990199

totalusedfreesharedbufferscached
Mem:1007655351086344
-/+buffers/cache:224782
Swap:1990199

3.CPU的及时监控工具(mpstat):
该下令次要用于呈报以后体系中一切CPU的及时运转情况。
#该下令将每隔2秒输入一次CPU确当前运转情况信息,一共输入5次,假如没有第二个数字参数,mpstat将每隔两秒实行一次,直到按CTRL+C加入。
/>mpstat25
Linux2.6.32-71.el6.i686(Stephen-PC)11/12/2011_i686_(1CPU)

04:03:00PMCPU%usr%nice%sys%iowait%irq%soft%steal%guest%idle
04:03:02PMall0.000.000.500.000.000.000.000.0099.50
04:03:04PMall0.000.000.000.000.000.000.000.00100.00
04:03:06PMall0.000.000.000.000.000.000.000.00100.00
04:03:08PMall0.000.000.000.000.000.000.000.00100.00
04:03:10PMall0.000.000.000.000.000.000.000.00100.00
Average:all0.000.000.100.000.000.000.000.0099.90

第一行的开端给出了以后体系中CPU的数目。前面的表格中则输入了体系以后CPU的利用情况,以下为每列的寄义:
列名申明%user在internal工夫段里,用户态的CPU工夫(%),不包括nice值为负历程(usr/total)*100%nice在internal工夫段里,nice值为负历程的CPU工夫(%)(nice/total)*100%sys在internal工夫段里,内核工夫(%)(system/total)*100%iowait在internal工夫段里,硬盘IO守候工夫(%)(iowait/total)*100%irq在internal工夫段里,硬中止工夫(%)(irq/total)*100%soft在internal工夫段里,软中止工夫(%)(softirq/total)*100%idle在internal工夫段里,CPU撤除守候磁盘IO操纵外的由于任何缘故原由而余暇的工夫闲置工夫(%)(idle/total)*100盘算公式:
total_cur=user+system+nice+idle+iowait+irq+softirq
total_pre=pre_user+pre_system+pre_nice+pre_idle+pre_iowait+pre_irq+pre_softirq
user=user_curCuser_pre
total=total_cur-total_pre
个中_cur暗示以后值,_pre暗示interval工夫前的值。上表中的一切值可取到两位小数点。

/>mpstat-PALL23#-PALL暗示打印一切CPU的数据,这里也能够打印指定编号的CPU数据,如-P0(CPU的编号是0入手下手的)
Linux2.6.32-71.el6.i686(Stephen-PC)11/12/2011_i686_(1CPU)

04:12:54PMCPU%usr%nice%sys%iowait%irq%soft%steal%guest%idle
04:12:56PMall0.000.000.500.000.000.000.000.0099.50
04:12:56PM00.000.000.500.000.000.000.000.0099.50

04:12:56PMCPU%usr%nice%sys%iowait%irq%soft%steal%guest%idle
04:12:58PMall0.000.000.000.000.000.000.000.00100.00
04:12:58PM00.000.000.000.000.000.000.000.00100.00

04:12:58PMCPU%usr%nice%sys%iowait%irq%soft%steal%guest%idle
04:13:00PMall0.000.000.000.000.000.000.000.00100.00
04:13:00PM00.000.000.000.000.000.000.000.00100.00

Average:CPU%usr%nice%sys%iowait%irq%soft%steal%guest%idle
Average:all0.000.000.170.000.000.000.000.0099.83
Average:00.000.000.170.000.000.000.000.0099.83

4.假造内存的及时监控工具(vmstat):
vmstat下令用来取得UNIX体系有关历程、虚存、页面互换空间及CPU举动的信息。这些信息反应了体系的负载情形。vmstat初次运转时显现自体系启动入手下手的各项统计信息,以后运转vmstat将显现自前次运转该下令今后的统计信息。用户能够经由过程指定统计的次数和工夫来取得所需的统计信息。
/>vmstat13#这是vmstat最为经常使用的体例,其寄义为每隔1秒输入一条,一共输入3条后步伐加入。
procs-----------memory-------------swap-------io------system-------cpu-----
rbswpdfreebuffcachesisobiboincsussyidwast
0005317606728423121210800260111148158680
0005317526728423121200003357019900
00053175267284231212000040730010000

/>vmstat1#其寄义为每隔1秒输入一条,直到按CTRL+C前进出。

上面将给出输入表格中每列的寄义申明:
有关历程的信息有:(procs)
r:在停当形态守候的历程数。
b:在守候形态守候的历程数。
有关内存的信息有:(memory)
swpd:正在利用的swap巨细,单元为KB。
free:余暇的内存空间。
buff:已利用的buff巨细,对块装备的读写举行缓冲。
cache:已利用的cache巨细,文件体系的cache。
有关页面互换空间的信息有:(swap)
si:互换内存利用,由磁盘调进内存。
so:互换内存利用,由内存调进磁盘。
有关IO块装备的信息有:(io)
bi:从块装备读进的数据总量(读磁盘)(KB/s)
bo:写进到块装备的数据总理(写磁盘)(KB/s)
有关妨碍的信息有:(system)
in:在指准时间内的每秒中止次数。
sy:在指准时间内每秒体系挪用次数。
cs:在指准时间内每秒高低文切换的次数。
有关CPU的信息有:(cpu)
us:在指准时间距离内CPU在用户态的使用率。
sy:在指准时间距离内CPU在中心态的使用率。
id:在指准时间距离内CPU余暇工夫比。
wa:在指准时间距离内CPU由于守候I/O而余暇的工夫比。
vmstat能够用来断定一个体系的事情是受限于CPU仍是受限于内存:假如CPU的sy和us值相加的百分比靠近100%,大概运转行列(r)中守候的历程数老是不即是0,且常常年夜于4,同时id也常常小于40,则该体系受限于CPU;假如bi、bo的值老是不即是0,则该体系受限于内存。

5.装备IO负载的及时监控工具(iostat):
iostat次要用于监控体系装备的IO负载情形,iostat初次运转时显现自体系启动入手下手的各项统计信息,以后运转iostat将显现自前次运转该下令今后的统计信息。用户能够经由过程指定统计的次数和工夫来取得所需的统计信息。
个中该下令中最为经常使用的利用体例以下:
/>iostat-d13#仅显现装备的IO负载,个中每隔1秒革新并输入了局一次,输入3次后iostat加入。
Linux2.6.32-71.el6.i686(Stephen-PC)11/16/2011_i686_(1CPU)

Device:tpsBlk_read/sBlk_wrtn/sBlk_readBlk_wrtn
sda5.35258.3926.1953821054560

Device:tpsBlk_read/sBlk_wrtn/sBlk_readBlk_wrtn
sda0.000.000.0000

Device:tpsBlk_read/sBlk_wrtn/sBlk_readBlk_wrtn
sda0.000.000.0000

Device:tpsBlk_read/sBlk_wrtn/sBlk_readBlk_wrtn
sda0.000.000.0000
/>iostat-d1#和下面的下令一样,也是每隔1秒革新并输入一次,可是该下令将一向输入,直到按CTRL+C加入。
上面将给出输入表格中每列的寄义:
列名申明Blk_read/s每秒块(扇区)读取的数目。Blk_wrtn/s每秒块(扇区)写进的数目。Blk_read统共块(扇区)读取的数目。Blk_wrtn统共块(扇区)写进的数目。iostat另有一个对照经常使用的选项-x,该选项将用于显现和io相干的扩大数据。
/>iostat-dx13
Device:rrqm/swrqm/sr/sw/srsec/swsec/savgrq-szavgqu-szawaitsvctm%util
sda5.271.312.821.14189.4919.5052.750.53133.0410.744.26

Device:rrqm/swrqm/sr/sw/srsec/swsec/savgrq-szavgqu-szawaitsvctm%util
sda0.000.000.000.000.000.000.000.000.000.000.00

Device:rrqm/swrqm/sr/sw/srsec/swsec/savgrq-szavgqu-szawaitsvctm%util
sda0.000.000.000.000.000.000.000.000.000.000.00
还能够在下令行参数中指定要监控的装备名,如:
/>iostat-dxsda13#指定监控的装备称号为sda,该下令的输入了局和下面下令完整不异。

上面给出扩大选项输入的表格中每列的寄义:
列名申明rrqm/s行列中每秒钟兼并的读哀求数目wrqm/s行列中每秒钟兼并的写哀求数目r/s每秒钟完成的读哀求数目w/s每秒钟完成的写哀求数目rsec/s每秒钟读取的扇区数目wsec/s每秒钟写进的扇区数目avgrq-sz均匀哀求扇区的巨细avgqu-sz均匀哀求行列的长度await均匀每次哀求的守候工夫util装备的使用率上面是关头列的注释:
util是装备的使用率。假如它靠近100%,一般申明装备才能趋于饱和。
await是均匀每次哀求的守候工夫。这个工夫包含了行列工夫和办事工夫,也就是说,一样平常情形下,await年夜于svctm,它们的差值越小,则申明行列工夫越短,反之差值越年夜,行列工夫越长,申明体系出了成绩。
avgqu-sz是均匀哀求行列的长度。毫无疑问,行列长度越短越好。

6.以后运转历程的及时监控工具(pidstat):
pidstat次要用于监控全体或指定历程占用体系资本的情形,如CPU,内存、装备IO、义务切换、线程等。pidstat初次运转时显现自体系启动入手下手的各项统计信息,以后运转pidstat将显现自前次运转该下令今后的统计信息。用户能够经由过程指定统计的次数和工夫来取得所需的统计信息。
在一般的利用,一般都是经由过程在下令行选项中指定待监控的pid,以后再经由过程其他详细的参数来监控与该pid相干体系资本信息。
选项申明-l显现该历程和CPU相干的信息(command列中能够显现下令的完全路径名和下令的参数)。-d显现该历程和装备IO相干的信息。-r显现该历程和内存相干的信息。-w显现该历程和义务工夫片切换相干的信息。-t显现在该历程内正在运转的线程相干的信息。-p前面紧随着带监控的历程id或ALL(暗示一切历程),如不指定该选项,将监控以后体系正在运转的一切历程。#监控pid为1(init)的历程的CPU资本利用情形,个中每隔2秒革新并输入一次,3次后步伐加入。
/>pidstat-p123-l
07:18:58AMPID%usr%system%guest%CPUCPUCommand
07:18:59AM10.000.000.000.000/sbin/init
07:19:00AM10.000.000.000.000/sbin/init
07:19:01AM10.000.000.000.000/sbin/init
Average:10.000.000.000.00-/sbin/init
%usr:该历程在用户态的CPU利用率。
%system:该历程在内核态(体系级)的CPU利用率。
%CPU:该历程的总CPU利用率,假如在SMP情况下,该值将除以CPU的数目,以暗示每CPU的数据。
CPU:该历程所依靠的CPU编号(0暗示第一个CPU)。

#监控pid为1(init)的历程的装备IO资本负载情形,个中每隔2秒革新并输入一次,3次后步伐加入。
/>pidstat-p123-d
07:24:49AMPIDkB_rd/skB_wr/skB_ccwr/sCommand
07:24:51AM10.000.000.00init
07:24:53AM10.000.000.00init
07:24:55AM10.000.000.00init
Average:10.000.000.00init
kB_rd/s:该历程每秒的字节读取数目(KB)。
kB_wr/s:该历程每秒的字节写出数目(KB)。
kB_ccwr/s:该历程每秒作废磁盘写进的数目(KB)。

#监控pid为1(init)的历程的内存利用情形,个中每隔2秒革新并输入一次,3次后步伐加入。
/>pidstat-p123-r
07:29:56AMPIDminflt/smajflt/sVSZRSS%MEMCommand
07:29:58AM10.000.00282813680.13init
07:30:00AM10.000.00282813680.13init
07:30:02AM10.000.00282813680.13init
Average:10.000.00282813680.13init
%MEM:该历程的内存利用百分比。

#监控pid为1(init)的历程义务切换情形,个中每隔2秒革新并输入一次,3次后步伐加入。
/>pidstat-p123-w
07:32:15AMPIDcswch/snvcswch/sCommand
07:32:17AM10.000.00init
07:32:19AM10.000.00init
07:32:21AM10.000.00init
Average:10.000.00init
cswch/s:每秒义务自动(志愿的)切换高低文的次数。自动切换是指当某一义务处于堵塞守候时,将自动让出本人的CPU资本。
nvcswch/s:每秒义务主动(不志愿的)切换高低文的次数。主动切换是指CPU分派给某一义务的工夫片已用完,因而将强制该历程让出CPU的实行权。

#监控pid为1(init)的历程及其外部线程的内存(r选项)利用情形,个中每隔2秒革新并输入一次,3次后步伐加入。必要申明的是,假如-t选项前面不加任何其他选项,缺省监控的为CPU资本。了局中黄色高亮的局部暗示历程和其外部线程是树状布局的显现体例。
/>pidstat-p123-tr
Linux2.6.32-71.el6.i686(Stephen-PC)11/16/2011_i686_(1CPU)

07:37:04AMTGIDTIDminflt/smajflt/sVSZRSS%MEMCommand
07:37:06AM1-0.000.00282813680.13init
07:37:06AM-10.000.00282813680.13|__init

07:37:06AMTGIDTIDminflt/smajflt/sVSZRSS%MEMCommand
07:37:08AM1-0.000.00282813680.13init
07:37:08AM-10.000.00282813680.13|__init

07:37:08AMTGIDTIDminflt/smajflt/sVSZRSS%MEMCommand
07:37:10AM1-0.000.00282813680.13init
07:37:10AM-10.000.00282813680.13|__init

Average:TGIDTIDminflt/smajflt/sVSZRSS%MEMCommand
Average:1-0.000.00282813680.13init
Average:-10.000.00282813680.13|__init
TGID:线程组ID。
TID:线程ID。
以上监控分歧资本的选项能够同时存在,如许就将在一次输入中输入多种资本的利用情形,如:pidstat-p1-dr。

7.呈报磁盘空间利用情况(df):
该下令最为经常使用的选项就是-h,该选项将智能的输入数据单元,以便使输入的了局更具可读性。
/>df-h
FilesystemSizeUsedAvailUse%Mountedon
/dev/sda15.8G3.3G2.2G61%/
tmpfs504M260K504M1%/dev/shm

8.评价磁盘的利用情况(du):
选项申明-a包含了一切的文件,而不但是目次。-b以字节为盘算单元。-k以千字节(KB)为盘算单元。-m以兆字节(MB)为盘算单元。-h使输入的信息更容易于浏览。-s只显现事情目次所占总空间。--exclude=PATTERN扫除失落切合款式的文件,Pattern就是一般的Shell款式,?暗示任何一个字符,*暗示恣意多个字符。--max-depth=N从以后目次算起,目次深度年夜于N的子目次将不被盘算,该选项不克不及和s选项同时存在。

#仅显现子一级目次的信息。
/>du--max-depth=1-h
246M./stephen
246M.
/>du-sh./*#猎取以后目次下一切子目次所占用的磁盘空间巨细。
352K./MemcachedTest
132K./Test
33M./thirdparty
#在以后目次下,扫除目次名形式为Te*的子目次(./Test),输入其他子目次占用的磁盘空间巨细。
/>du--exclude=Te*-sh./*
352K./MemcachedTest
33M./thirdparty


如果您觉得本篇CentOSLinux教程讲得好,请记得点击右边漂浮的分享程序,把好文章分享给你的好朋友们!
再见西城 该用户已被删除
沙发
发表于 2015-1-15 22:49:58 | 只看该作者

给大家带来Shell经常使用技能 体系运转情况

老实说,第一个程序是在C中编译好的,调试好了才在Linux下运行,感觉用vi比较麻烦,因为有错了不能调试,只是提示错误。
分手快乐 该用户已被删除
板凳
发表于 2015-1-20 20:52:03 | 只看该作者
目前全球有超过一百多个Linux发行版本,在国内也能找到十几个常见版本。如何选择请根据你的需求和能力,RedhatLinux和DebianLinux是网络管理员的理想选择。
深爱那片海 该用户已被删除
地板
发表于 2015-1-30 05:03:27 | 只看该作者
这种补充有助于他人在邮件列表/新闻组/论坛中搜索对你有过帮助的完整解决方案,这可能对他们也很有用。
乐观 该用户已被删除
5#
发表于 2015-2-6 09:59:06 | 只看该作者
学习Linux,应该怎样学,主要学些什么,一位Linux热心学习者,一段学习Linux的风云经验,历时十二个小时的思考总结,近十位网络Linux学习者权威肯定,为您学习Linux指明方向。
灵魂腐蚀 该用户已被删除
6#
发表于 2015-2-15 23:23:49 | 只看该作者
再次,Linux是用C语言编写的,我们有学习C语言的基础,读程序和编写代码方面存在的困难小一点,也是我们能较快掌握的原因之一。?
若天明 该用户已被删除
7#
发表于 2015-3-4 20:44:54 | 只看该作者
用户下达的命令解释给系统去执行,并将系统传回的信息再次解释给用户,估shell也称为命令解释器,有关命令的学习可参考论坛相关文章,精通英文也是学习Linux的关键。
不帅 该用户已被删除
8#
发表于 2015-3-11 21:14:27 | 只看该作者
学习Linux应具备的。[书籍+网络资源]
飘飘悠悠 该用户已被删除
9#
发表于 2015-3-19 16:38:21 | 只看该作者
通过一条缓慢的调制解调器线路,它也能操纵几千公里以外的远程系统。
蒙在股里 该用户已被删除
10#
发表于 2015-3-30 00:04:31 | 只看该作者
编程学习及开发,Linux是免费,开源的操作系统,并且可开发工具相当多,如果您支持自由软件,一定要同广大热爱自由软件人士一同为其不懈努力。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-4-28 23:37

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表