更新升级 专属应用 系统故障 硬件故障 电脑汽车 鸿蒙刷机 鸿蒙开发Linux教程 鸿蒙开发Linux命令
当前位置:HMXT之家 > 鸿蒙开发Linux命令 > Linux source、sosreport、sort、snmpwalk命令的用法及解释

Linux source、sosreport、sort、snmpwalk命令的用法及解释

更新时间:2022-01-19 16:25:49浏览次数:522+次

以下为你详细解释source、sosreport、sort、snmpwalk命令的用法。

\

Linux source命令的用法及解释

Linux source命令常用于重新执行刚修改的初始化文件。如/etc/profile,bash_profile,bashrc通过 source命令在不重启的情况下生效。

source命令又称:“点命令”,是一个点符号。

以下是实例:

[root@www ~]# source /etc/profile #执行/etc/profile文件

Linux sosreport命令的用法及解释

Linux sosreport命令用于收集系统配置并诊断信息后输出结论文档。当Linux系统出现故障需要联系红帽厂商或其他技术支持时,大多数时候都要先使用这个SOS功能来简单收集计算机的运行状态和服务配置信息,以便让技术支持公司能够通过远程就解决了一些小问题,又或者让他们能对复杂问题能提前有些了解。

1、语法

sosreport

2、参数

--help:运行sosreport --help查看帮助信息。以下是输出信息:

[root@ywnz ~]# sosreport --help

Usage: sosreport [options]

Options:

-h, --help            show this help message and exit

-l, --list-plugins    list plugins and available plugin options

-n NOPLUGINS, --skip-plugins=NOPLUGINS

disable these plugins

-e ENABLEPLUGINS, --enable-plugins=ENABLEPLUGINS

enable these plugins

-o ONLYPLUGINS, --only-plugins=ONLYPLUGINS

enable these plugins only

-k PLUGOPTS, --plugin-option=PLUGOPTS

plugin options in plugname.option=value format (see

-l)

-a, --alloptions      enable all options for loaded plugins

--batch               batch mode - do not prompt interactively

--build               keep sos tree available and dont package results

-v, --verbose         increase verbosity

--quiet               only print fatal errors

--debug               enable interactive debugging using the python debugger

--ticket-number=TICKET_NUMBER

specify ticket number

--name=CUSTOMER_NAME  specify report name

--config-file=CONFIG_FILE

specify alternate configuration file

--tmp-dir=TMP_DIR     specify alternate temporary directory

--report              Enable HTML/XML reporting

--profile             turn on profiling

-z COMPRESSION_TYPE, --compression-type=COMPRESSION_TYPE

compression technology to use [auto, zip, gzip, bzip2,

xz] (default=auto)

Some examples:

enable cluster plugin only and collect dlm lockdumps:

# sosreport -o cluster -k cluster.lockdump

disable memory and samba plugins, turn off rpm -Va collection:

# sosreport -n memory,samba -k rpm.rpmva=off

3、sosreport的安装

不同的Linux版本安装方法不同,下面以redhat/centos/ubuntu为例说明安装方法。

在redhat/centos下的安装

# yum -y insatll sos

在ubuntu下的安装

# sudo apt-get install sosreport

4、sosreport配置文件

sosreport的配置文件是/etc/sos.conf ,默认内容如下:

[root@ywnz ~]# cat /etc/sos.conf

[general]

#ftp_upload_url = ftp://example.com/incoming

#gpg_keyring = /usr/share/sos/rhsupport.pub

#gpg_recipient = support@redhat.com

smtp_server = None

[plugins]  //此处可以设置默认enable和disable的模块

#disable = rpm, selinux, dovecot

[tunables]  //可调参数

#rpm.rpmva = off

#general.syslogsize = 15

从配置文件上可以看出,sosreport同样将收集的结果上传到server上,可以通过man sos.conf查看配置文件的帮助信息。

5、实例

下面输出的部分信息是收集好的资料压缩文件以及校验码,发送给对方即可:

[root@ywnz ~]# sosreport

sosreport (version 3.0)

This command will collect diagnostic and configuration information from

this Red Hat Enterprise Linux system and installed applications.

An archive containing the collected information will be generated in

/var/tmp and may be provided to a Red Hat support representative.

Any information provided to Red Hat will be treated in accordance with

the published support policies at:

https://access.redhat.com/support/

The generated archive may contain data considered sensitive and its

content should be reviewed by the originating organization before being

passed to any third party.

No changes will be made to system configuration.

Press ENTER to continue, or CTRL-C to quit. 此处敲击回车来确认收集信息

Please enter your first initial and last name [hmxthome]:此处敲击回车,来确认主机名称

Please enter the case number that you are generating this report for:此处敲击回车来确认主机编号

Running plugins. Please wait ...

Running 70/70: yum...

Creating compressed archive...

Your sosreport has been generated and saved in:

/var/tmp/sosreport-hmxthome-20210205230631.tar.xz

The checksum is: 79436cdf791327040efde48c452c6322

Please send this file to your support representative.

6、sosreport总结

相于supportconfig,由于sosreport是由python语言进行编写的,所以其在功能扩展上更有优势,但由于在不同的发行版本上的python版本不同,在进行功能扩展时,对不同版本间的异常处理相对麻烦。而supportconfig由于是shell语言编写的一个工具,对版本的依赖相对少些,但对一些工具的依赖相对多些,如在获取进程相关的信息时,shell需要将ps工具或处理proc的结果,而sosreport则可以直接import psutil模块,两者之间的区别,归根到底就是shell和python的区别。 

Linux sort命令的用法及解释

Linux sort命令在Linux操作系统里非常有用,它将文件进行排序,并将排序结果标准输出。sort命令既可以从特定的文件,也可以从stdin中获取输入。

1、语法

sort(选项)(参数)

2、选项

-b:忽略每行前面开始出的空格字符;

-c:检查文件是否已经按照顺序排序;

-d:排序时,处理英文字母、数字及空格字符外,忽略其他的字符;

-f:排序时,将小写字母视为大写字母;

-i:排序时,除了040至176之间的ASCII字符外,忽略其他的字符;

-m:将几个排序号的文件进行合并;

-M:将前面3个字母依照月份的缩写进行排序;

-n:依照数值的大小排序;

-o<输出文件>:将排序后的结果存入制定的文件;

-r:以相反的顺序来排序;

-t<分隔字符>:指定排序时所用的栏位分隔字符;

+<起始栏位>-<结束栏位>:以指定的栏位来排序,范围由起始栏位到结束栏位的前一栏位。

3、参数

文件:指定待排序的文件列表。

4、实例

sort将文件/文本的每一行作为一个单位,相互比较,比较原则是从首字符向后,依次按ASCII码值进行比较,最后将他们按升序输出。

[root@mail text]# cat sort.txt

aaa:10:1.1

ccc:30:3.3

ddd:40:4.4

bbb:20:2.2

eee:50:5.5

eee:50:5.5

[root@mail text]# sort sort.txt

aaa:10:1.1

bbb:20:2.2

ccc:30:3.3

ddd:40:4.4

eee:50:5.5

eee:50:5.5

忽略相同行使用-u选项或者uniq:

[root@mail text]# cat sort.txt

aaa:10:1.1

ccc:30:3.3

ddd:40:4.4

bbb:20:2.2

eee:50:5.5

eee:50:5.5

[root@mail text]# sort -u sort.txt

aaa:10:1.1

bbb:20:2.2

ccc:30:3.3

ddd:40:4.4

eee:50:5.5

或者

[root@mail text]# uniq sort.txt

aaa:10:1.1

ccc:30:3.3

ddd:40:4.4

bbb:20:2.2

eee:50:5.5

sort的-n、-r、-k、-t选项的使用:

[root@mail text]# cat sort.txt

AAA:BB:CC

aaa:30:1.6

ccc:50:3.3

ddd:20:4.2

bbb:10:2.5

eee:40:5.4

eee:60:5.1

#将BB列按照数字从小到大顺序排列:

[root@mail text]# sort -nk 2 -t: sort.txt

AAA:BB:CC

bbb:10:2.5

ddd:20:4.2

aaa:30:1.6

eee:40:5.4

ccc:50:3.3

eee:60:5.1

#将CC列数字从大到小顺序排列:

[root@mail text]# sort -nrk 3 -t: sort.txt

eee:40:5.4

eee:60:5.1

ddd:20:4.2

ccc:50:3.3

bbb:10:2.5

aaa:30:1.6

AAA:BB:CC

# -n是按照数字大小排序,-r是以相反顺序,-k是指定需要爱排序的栏位,-t指定栏位分隔符为冒号

-k选项的具体语法格式:

-k选项的语法格式:

FStart.CStart Modifie,FEnd.CEnd Modifier

-------Start--------,-------End--------

FStart.CStart 选项  ,  FEnd.CEnd 选项

这个语法格式可以被其中的逗号,分为两大部分,Start部分和End部分。Start部分也由三部分组成,其中的Modifier部分就是我们之前说过的类似n和r的选项部分。我们重点说说Start部分的FStart和C.Start。C.Start也是可以省略的,省略的话就表示从本域的开头部分开始。FStart.CStart,其中FStart就是表示使用的域,而CStart则表示在FStart域中从第几个字符开始算“排序首字符”。同理,在End部分中,你可以设定FEnd.CEnd,如果你省略.CEnd,则表示结尾到“域尾”,即本域的最后一个字符。或者,如果你将CEnd设定为0(零),也是表示结尾到“域尾”。

从公司英文名称的第二个字母开始进行排序:

$ sort -t ' ' -k 1.2 facebook.txt

baidu 100 5000

sohu 100 4500

google 110 5000

guge 50 3000

使用了-k 1.2,表示对第一个域的第二个字符开始到本域的最后一个字符为止的字符串进行排序。你会发现baidu因为第二个字母是a而名列榜首。sohu和 google第二个字符都是o,但sohu的h在google的o前面,所以两者分别排在第二和第三。guge只能屈居第四了。

只针对公司英文名称的第二个字母进行排序,如果相同的按照员工工资进行降序排序:

$ sort -t ' ' -k 1.2,1.2 -nrk 3,3 facebook.txt

baidu 100 5000

google 110 5000

sohu 100 4500

guge 50 3000

由于只对第二个字母进行排序,所以我们使用了-k 1.2,1.2的表示方式,表示我们“只”对第二个字母进行排序。(如果你问“我使用-k 1.2怎么不行?”,当然不行,因为你省略了End部分,这就意味着你将对从第二个字母起到本域最后一个字符为止的字符串进行排序)。对于员工工资进行排序,我们也使用了-k 3,3,这是最准确的表述,表示我们“只”对本域进行排序,因为如果你省略了后面的3,就变成了我们“对第3个域开始到最后一个域位置的内容进行排序”了。

Linux snmpwalk命令的用法及解释

Linux snmpwalk命令是一个通过SNMP GET-NEXT类型PDU,实现对目标AGENT的某指定MIB分支信息进行完整提取输出的命令工作。

一、用法

snmpwalk [选项] agent [oid]

二、参数

由于SNMP协议中,不同的协议版本存在不同的参数选项,以下参数按协议分开说明。

1.普通选项

a)  –h                显示帮助

b)  –v 1|2c|3         指定SNMP协议版本

c)  –V                显示当前SNMPWALK命令行版本

d)  –r RETRIES        指定重试次数,默认为0次。

e)  –t TIMEOUT        指定每次请求的等待超时时间,单为秒,默认为3秒。

f)  –Cc               指定当在WALK时,如果发现OID负增长将是否继续WALK。

2.V1、V2C选项

a)  –c COMMUNITY      指定共同体字符串

3.V3选项

a)  –l LEVEL          指定安全级别:noAuthNoPriv|authNoPriv|authPriv

b)  –u USER-NAME      安全名字

c)  –a PROTOCOL       验证协议:MD5|SHA。如果-l指定为authNoPriv或authPriv时才需要。

d)  –A PASSPHRASE     验证字符串。如果-l指定为authNoPriv或authPriv时才需要。

e)  –x PROTOCOL       加密协议:DES。如果-l指定为authPriv时才需要。

三、实例

# snmptranslate -On -IR HOST-RESOURCES-MIB::hrSystem     #在MIB OID 在数字和文字名称之间进行转换

# snmpwalk -c public -v 1 -m ALL 192.168.30.49.1.3.6.1.2.1.25.1     #得到取得  windows 端的系统进程用户数等

# snmpwalk -c public -v 1 -mALL 192.168.30.49 .1.3.6.1.2.1.25.2.2     #取得系统总内存

# snmpwalk -c public -v 1 -m ALL192.168.30.49 .1.3.6.1.2.1.4.20     #取得 ip 信息

# snmpwalk -v 2c -c public192.168.30.49 system     #查看系统信息

得到取得 windows 端的系统进程用户数等.其中 -v 是指版本,-c 是指密钥也就是客户端  snmp.conf 里面所设置的,下面类同。

# snmpwalk -v 1 192.168.30.49 -c public ifDescr1、snmpwalk -v 2c -c public  10.103.33.1.1.3.6.1.2.1.25.1     

# snmpwalk -v 2c -c public 10.103.33.1 .1.3.6.1.2.1.25.2.2     #取得系统总内存

# snmpwalk -v 2c -c public 10.103.33.1 hrSystemNumUsers     #取得系统用户数

# snmpwalk -v 2c -c public 10.103.33.1 .1.3.6.1.2.1.4.20     #取得IP信息

# snmpwalk -v 2c -c public 10.103.33.1 system     #查看系统信息

# snmpwalk -v 2c -c public 10.103.33.1 ifDescr     #获取网卡信息

# snmpwalk -v 2c -c public 10.103.33.1     #获取所有系统信息