2020-06-05 12:28:31 登录注册 RSS

当前位置: 公理网 >> 正义之家 >> Linux后台开发必懂得常用命令

Linux后台开发必懂得常用命令
发布时间:2018-11-03| 来源:公理网 | 点击发表评论
版权声明:本文为博主原创文章,未经博主允许不得转载。https://blog.csdn.net/jx232515/article/details/56675637
Linux后台开发主要涉及进程,网络,系统性能调优等方面的命令,再次总结下。



ipcs:

提供关于一些进程间通信方式的信息,包括共享内存,消息队列,信号

interprocesscommunication(ipc)

Ipcs-a

默认输出信息,打印出所有进程间通信方式的信息

Ipcs-q

输出使用消息队列进行进程间通信的信息

Ipcs-s

输出使用信号进行进程间通信的信息

Ipcs-m

输出使用共享内存进行进程间通信的信息

Ipcs-t

输出信息的时间详细变化

Ipcs-p

输出ipc方式的进程id

Ipcs-c

输出ipc方式的创建者

Ipcs-u

输出ipc方式的各种状态




ipcrm:

移除一个消息对象。或者共享内存段,或者一个信号集,同时会将与ipc对象相关链的数据也一起移除。只有超级管理员,或者ipc对象的创建者才有这项权利啦.

Keyid?shmmsgsem

Ipcrm-Mshmkey

移除使用shmkey创建的共享内存段

Ipcrm-mshmid

移除使用shmid标识的共享内存段

Ipcrm-Qmsgkey

移除使用msgkey创建的消息队列

Ipcrm-qmsgid

移除使用msgid标识的消息队列

Ipcrm-Ssemkey

移除使用semkey创建的信号

Ipcrm-ssemid

移除使用semid标识的信号

?

信号量又称为信号灯,它是用来协调不同进程间的数据对象的,而最主要的应用是共享内存方式的进程间通信。本质上,信号量是一个计数器,它用来记录对某个资源(如共享内存)的存取状况;共享内存是运行在同一台机器上的程间通信最快的方式,因为数据不需要在不同的进程间复制。通常由一个进程创建一块共享内存区,其余进程对这块内存区进行读写。在Linux系统下?,常用的方式是通过shmXXX函数族来实现利用共享内存进行存储的。如Shmget,类似于?malloc函数。





netstat


是一款命令行工具,可用于列出系统上所有网络套接字的连接情况,包括tcp/udp/unix套接字,还能列出处于监听状态/等待请求的套接字。如果想确认系统web服务有没有开启,可以查看80端口是否开启。主要功能:打印网络连接、路由表、连接的数据统计、伪装连接以及广播域成员。


1.列出所有连接(-a(all))


netstat–a?上述命令列出tcp,udp和unix协议下所有套接字的所有连接


2.只列出tcp/udp的连接


Netstat–at?(alltcp)?只列出tcp连接(包括ipv4/ipv6)


Netstat–au??只列出udp连接(包括ipv4/ipv6)


3.禁用反向域名解析,加快查询速度(-n助记no(禁止))


默认情况下netstat会通过反向域名解析技术查找每个IP地址对应的主机名。这会降低查找速度。如果你觉得IP地址已经足够,而没有必要知道主机名,就使用?-n?选项禁用域名解析功能。


Netstat-ant


4.列出监听套接字的连接(-l:listen)


任何网络服务的后台进程都会打开一个端口,用于监听接入的请求


Netstat–tnl?现在我们可以看到处于监听状态的TCP端口和连接。


如果你查看所有监听端口,去掉?-t?选项。如果你只想查看UDP端口,使用?-u?选项,代替?-t?选项。-tnl-unl


注意:不要使用?-a?选项,否则netstat会列出所有连接,而不仅仅是监听端口。


5.获取进程名,进程号和用户id(-p,process)


查看端口和连接的信息时,能查看到它们对应的进程名和进程号对系统管理员来说是非常有帮助的。举个栗子,Apache的httpd服务开启80端口,如果你要查看http服务是否已经启动,或者http服务是由apache还是nginx启动的,这时候你可以看看进程名。


使用?-p?选项查看进程信息。


使用?-p?选项时,netstat必须运行在root权限之下,不然它就不能得到运行在root权限下的进程名,而很多服务包括http和ftp都运行在root权限之下。


Sudonetstat-nlpt列出tcp监听套接字和对应的进程名


使用?-ep?选项可以同时查看进程名和用户名。


sudonetstat-ltpe


列出用户名,若结合-n:则只列出用户id


6.打印统计数据(-s/statistics)


Netstat可以打印出网络统计数据,包括某个协议下的收发包数量。


Netstat–s??若需要打印tcp/udp的数据包,则加-t/-u选项。


7.打印内核路由信息(-r/route)


Netstat–r??跟route命令显示的一样。


8.打印网络接口信息(-i/interface)


Netstat–I?加-e:更清晰明了跟ifconfig命令一样


9.持续输出(-c/continue)


Netstat–ct持续输出tcp信息


10.显示多播组信息(-g/group)


Netstat-g


11.打印active状态的连接


Active状态的套接字用ESTABLISHED来表示。


netstat-atnp|grepESTA:意思是列出active状态的tcp连接,配合watch命令监视active状态的连接


watch-d-n0"netstat-atnp|grepESTA"


12.查看服务是否在运行


如果你想看看http,smtp或ntp服务是否在运行,使用grep


sudonetstat-aple|grepntp


ntp是网络时间协议,用于保证机器时间一致。不只是服务器,你的Windowd、Mac这样的桌面大多也有用它。ntpd是提供这个服务的守护进程。





tcpdump


用简单的话来定义tcpdump,就是:dumpthetrafficonanetwork,根据使用者的定义对网络上的数据包进行截获的包分析工具。?tcpdump可以将网络中传送的数据包的“头”完全截获下来提供分析。它支持针对网络层、协议、主机、网络或端口的过滤,并提供and、or、not等逻辑语句来帮助你去掉无用的信息。如果选用明文传送内容,还可以对截获内容查看,所以有点黑客工具的味道。


常用命令:


tcpdump


授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!

最新新闻

手机浏览

公理网 版权所有

公理网 Total 0.051165(s) query 6, 报料QQ:点击这里

给我发消息