lsof

如何在Mac上使用Netstat命令

孤街醉人 提交于 2019-12-16 10:15:59
macOS上的netstat命令是一个终端命令,用于显示有关Mac网络通信的详细信息。网络通信包括Mac通过所有端口和所有应用程序与外界进行交流的所有方式。掌握netstat可以帮助您了解计算机之间的连接以及原因。 运行Netstat 默认情况下,netstat命令在Mac上可用。您不需要下载或安装它。 要运行netstat,请在“ 应用程序” >“ 实用程序” >“ 终端”中打开“终端”窗口。类型netstat的,然后按Enter键执行命令。 屏幕上会滚动滚动显示大量隐秘文本。这是正常现象,是预期的。如果您不使用任何可用标志(请参见下文),netstat将报告Mac上 所有 活动的网络连接。考虑到现代网络设备执行的功能数量,您可以期望列表很长。标准的netstat报告可以运行超过1000行。 过滤netstat的输出对于了解Mac的活动端口上发生的情况至关重要。它的内置标志允许您设置选项,限制netstat的范围和输出。 Netstat标志和选项 要查看netstat的所有可用选项,请在命令提示符下键入man netstat。 注:“ Man”是“ manual”的缩写。 句法 要将标志和选项添加到netstat,请使用以下语法: netstat [-AabdgiLlmnqrRsSvWx] [-c queue] [-f address_family] [-I interface]

顺丰删库工程师遭开除,难道他不会恢复误删数据?

牧云@^-^@ 提交于 2019-12-14 21:30:30
以下内容仅代表个人观点 顺丰删库事件回顾: 据悉,顺丰科技数据中心的一位邓某因误删生产数据库,导致某项服务无法使用并持续590分钟。事发后,顺丰将邓某辞退,且在顺丰科技全网通报批评。真实地玩了一把“从删库到跑路”。 毫无疑问地,我们又突然象被打了鸡血般,整了整衣领,挺了挺胸,存在感立马爆棚,拉个小板凳,就着中秋节的月光,絮絮叨叨地讲讲想当年。 好汉要提当年勇,回忆我们的牛X岁月 想当年 ,我国那啥机构,设备升级改造,生产库在线热迁,脚本写错,rm掉了,然后,我们XXX,全部恢复所有数据(此处省略几万字,包含数十个自我标榜的“牛X”助词)。可惜,得替用户保密。 想当年 ,那啥机构,因为那啥,然后,……,算了,不能说,反正老传奇了。 啥也不能说,就从技术角度聊一聊,论删库到恢复,再到跑不了路的作死人生。我肯定不会聊找个收费或开源数据恢复软件恢复,丢不起那人。不聊Windows,因为基本和它无关。仅限Unix、Linux上删除oracle、db2、mysql、Hadoop等的情况,就以rm -f为例吧。 分割线:正谈数据库删除后的恢复方法 数据库的载体有多种实现方式,文件或裸设备。多数情况下,系统会以文件的方式(一切皆为文件)对数据库数据文件进行管理。一套数据库,简单地看,物理上可以理解为一个或多个文件。删库,也就是删一个或多个文件了。 文件是存储在文件系统内的

Linux运维常用命令

ぐ巨炮叔叔 提交于 2019-12-12 12:15:12
1 删除0字节文件 find-type f -size 0 -exec rm -rf {} ; 2 查看进程 按内存从大到小排列 ps -e -o “%C : %p : %z : %a”|sort -k5 -nr 3 按cpu利用率从大到小排列 ps -e -o “%C : %p : %z : %a”|sort -nr 4 打印说cache里的URL grep -r -a jpg /data/cache/* | strings | grep “http:” |awk-F’http:’ ‘{print “http:”$2;}’ 5 查看http的并发请求数及其TCP连接状态: netstat -n | awk ‘/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}’ 6 sed-i ‘/Root/s/no/yes/’ /etc/ssh/sshd_config sed在这个文里Root的一行,匹配Root一行,将no替换成yes. 7 如何杀掉mysql进程: ps aux|grep mysql|grep -v grep|awk ‘{print $2}’|xargs kill -9 (从中了解到awk的用途) pgrep mysql |xargs kill -9 killall -TERM mysqld kill -9 cat /usr

How does LSOF map port to process on Solaris?

◇◆丶佛笑我妖孽 提交于 2019-12-11 12:40:14
问题 I have an idea of how it's done on Linux, they probably go through /proc//fd and to display the sockets used by each process. Unfortunately, it doesn't look like the /proc//fd entries list sockets on Solaris. Does anyone know how lsof would do it on this system? Or how one would even go about this in general? Just to restate what exactly it is I need: I need some way to find which processes are listening to which ports (without using lsof of course) on Solaris. 回答1: /proc/<pid>/fd lists all

使用 lsof 查找打开的文件(转)

安稳与你 提交于 2019-12-09 18:22:36
资料: http://heikezhi.com/yuanyi/swiss-army-knife-of-unix-debugging-lsof http://linux.ccidnet.com/art/305/20070829/1194715_1.html 简介: 通过查看打开的文件,了解更多关于系统的信息。了解应用程序打开了哪些文件或者哪个应用程序打开了特定的文件,作为系统管理员,这将使得您能够作出更好的决策。例如,您不应该卸载具有打开文件的文件系统。使用 lsof ,您可以检查打开的文件,并根据需要在卸载之前中止相应的进程。同样地,如果您发现了一个未知的文件,那么可以找出到底是哪个应用程序打开了这个文件。 在 UNIX® 环境中,文件无处不在,这便产生了一句格言:“任何事物都是文件”。通过文件不仅仅可以访问常规数据,通常还可以访问网络连接和硬件。在有些情况下,当您使用 ls 请求目录清单时,将出现相应的条目。在其他情况下,如传输控制协议 (TCP) 和用户数据报协议 (UDP) 套接字,不存在相应的目录清单。但是在后台为该应用程序分配了一个 文件描述符 ,无论这个文件的本质如何,该文件描述符为应用程序与基础操作系统之间的交互提供了通用接口。 因为应用程序打开文件的描述符列表提供了大量关于这个应用程序本身的信息,所以能够查看这个列表将是很有帮助的。完成这项任务的实用程序称为

lsof命令总结

﹥>﹥吖頭↗ 提交于 2019-12-08 08:00:31
lsof命令总结 https://www.cnblogs.com/chenqionghe/p/10677179.html 一、lsof是什么 lsof (list open files)是一个列出当前系统打开文件的工具。 在linux系统环境下,任何事物都可以以文件形式存在,通过文件不仅可以访问常规的数据,还可以访问网络连接和硬件。 作用: 用于查看进程开打的文件,打开文件的进程,进程打开的端口(TCP、UDP)。 找回/恢复删除的文件。是十分方便的系统监视工具,因为 lsof 需要访问核心内存和各种文件,所以需要root用户执行。 二、使用说明 常用参数 lsof filename 显示打开指定文件的所有进程 lsof -a 表示两个参数都必须满足时才显示结果 lsof -c string 显示COMMAND列中包含指定字符的进程所有打开的文件 lsof -u username 显示所属user进程打开的文件 lsof -g gid 显示归属gid的进程情况 lsof +d /DIR/ 显示目录下被进程打开的文件 lsof +D /DIR/ 同上,但是会搜索目录下的所有目录,时间相对较长 lsof -d FD 显示指定文件描述符的进程 lsof -n 不将IP转换为hostname,缺省是不加上-n参数 lsof -i 用以显示符合条件的进程情况 lsof -i[46]

进程号和端口的互查

丶灬走出姿态 提交于 2019-12-06 15:33:33
前言: 在日常工作当中,我们会经常查询进程号占用端口的情况。通常情况下,我们只能知道其中一个条件,来求另一个(有点像做数学题,哈哈哈) 我们常用的工具有两个: netstat lsof 正文: 下面两种情况,分别给出查询方案: 1) 已知端口 port number ,求占用端口的进程。 一号选手 netstat netstat -anp|grep $(port number) 二号选手 lsof lsof -i:$(port number) 将$(port number)换成具体的端口号即可。 2) 已知进程号 pid number ,求此进程占用的端口号。 一号选手 netstat netstat -anp|grep $(pid number) 二号选手 lsof lsof -i|grep $(pid number) 将$(pid number)换成具体的进程号即可。 后记: 1. netstat是系统自带的工具,lsof需要安装。 2. 其实lsof是个神工具,能做的事情特别多,以后有机会详细记录一波。 来源: https://www.cnblogs.com/young233/p/11992982.html

linux查看端口占用情况

旧时模样 提交于 2019-12-06 14:16:02
今天要使用python写一个端口探测的小程序,以检测一些特定的服务端口有没有被占用,突然发现自己居然不知道在linux中如何查询端口被占用的情况,天呐,赶快学习一下。😁 Linux如何查看端口 1、lsof -i:端口号 用于查看某一端口的占用情况,比如查看8000端口使用情况,lsof -i:8000 # lsof -i:8000 COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME lwfs 22065 root 6u IPv4 4395053 0t0 TCP *:irdmi (LISTEN) 可以看到8000端口已经被轻量级文件系统转发服务lwfs占用 2、netstat -tunlp |grep 端口号,用于查看指定的端口号的进程情况,如查看8000端口的情况,netstat -tunlp |grep 8000 # netstat -tunlp Active Internet connections (only servers) Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name tcp 0 0 0.0.0.0:111 0.0.0.0:* LISTEN 4814/rpcbind tcp 0 0 0.0.0.0:5908 0.0.0.0

Linux 下利用 Lsof 恢复误删文件

别等时光非礼了梦想. 提交于 2019-12-06 13:44:25
原理:在Linux系统的/proc 分区下保存着进程的目录和名字,包含fd(文件描述符)和其下的子目录(进程打开文件的链接),那么如果删除了一个文件,还存在一个 inode的引用:/proc/进程号/fd/文件描述符。我们只要知道当前打开文件的进程pid和文件描述符fd就能利用lsof工具列出进程打开的文件。 一、将 ls 的手册过滤掉主要控制符后重定向到文件ls.txt 中,并用more查看,CTRL + Z 暂停查看操作 1: [root@localhost script]# man ls |col -b > ls.txt 2: [root@localhost script]# more ls.txt 3: LS(1) User Commands LS(1) 4: 1: [1]+ Stopped more ls.txt 2: [root@localhost script]# 3: [root@localhost script]# jobs 4: [1]+ Stopped more ls.txt 5: 二、假设误删文件 ls.txt 1: [root@localhost script]# rm ls.txt 2: rm:是否删除 一般文件 “ls.txt”? y 三、利用lsof找到进程6511、并拷贝恢复,只能在这个文件被使用或调用的情况下有效 3: [root

【linux】linux命令lsof和grep命令的配合使用---linux根据端口查看PID,根据PID关键字高亮显示

﹥>﹥吖頭↗ 提交于 2019-12-05 19:32:20
lsof命令,根据端口,查看进程PID lsof -i:8168 ps命令+grep命令 --color参数,根据PID查看进程详情,高亮显示关键字 ps -ef | grep 8168 --color=always 来源: https://www.cnblogs.com/sxdcgaq8080/p/11941690.html