linux 常用查看端口,文件大小

说白了,在Linux中检查端口和文件大小其实很简单,但是有几个要点需要注意。

先说最重要的一点,查看端口信息,我们通常使用netstat命令。
例如,您可以使用 netstat -lntp 列出所有侦听 TCP 端口和关联的进程信息。
在我们去年跑的一个项目中,我们使用这个命令来排查端口冲突。
还有一点,netstat -r 可以查看路由表信息,对于网络调试非常有用。
还有一个非常重要的细节。
例如,您可以将 netstat -entup 与 grep 结合使用来查找特定端口或进程。

我一开始以为端口冲突只会影响应用程序,但后来发现这是错误的。
还可能影响整个系统的稳定性。
等等,还有一件事,使用lsof命令来查询端口也是一个不错的选择,特别是当你需要查看特定端口上的进程信息时。

下一步是查看文件和目录大小。
使用du -sh 显示当前目录占用的总空间。
我们去年处理的一个大型文件系统优化项目就是用这个命令来计算文件大小的。
另外du -sh --max-depth=1 可以看到一级子目录的大小,在管理文件结构时非常有用。

很多人没有注意到这一点。
如果要对大目录进行过滤和排序,可以使用 du -h --max-depth=1 |您可以使用以下命令:Grape 'G' sort。
该命令可以查找大于1 GB的子目录并按名称排序。

最后,让我提醒您一个容易陷入的陷阱。
默认情况下,绑定到 1 02 4 以下的端口需要 root 权限。
如果您是非 root 用户,尝试侦听此类端口将导致错误。
建议使用1 02 4 以上端口,或者通过AuthBind等工具进行授权。

我认为使用ss命令来替代netstat的一些功能是值得的。
它更快并且输出更简洁。
另外,NCDU工具提供交互式目录大小分析,是复杂目录结构的好帮手。

linux怎么查看开了哪些端口

嗯...Linux系统...检查端口...这个...
2 02 2 ...我在北京...公司服务器...总是出问题...检查端口是最麻烦的...
先说netstat...这个老古董...你必须使用正确的参数...
例如...如果你想查看所有正在监听的端口...只需输入netstat -anp | grep 听...这个是关键...我当时一头雾水...不知道要加p...结果是一堆乱码...后来才意识到...这取决于进程号...
再举个例子...我只想看TCP...netstat -ntpl...例如...检查MySQL...端口3 3 06 ...就输入netstat -ntpl。
grep 3 3 06 ... 效果很好...
但是... 现在建议使用 ss... 更快... 语法是相同的...
查看所有监听... ss -anp... 检查 TCP... ss -ntpl... 例如... 检查 Nginx... 只需 ss -ntpl | grep nginx ...比 netstat 好...
然后...lsof...更好...通过端口检查进程...
例如...检查 SSH...默认端口是 2 2 ...只需输入 lsof -i:2 2 ...您可以看到打开了哪个进程...特别有用...
或者... lsof -i | grep Listen...看看你听到什么...它有效...
并且.../etc/services...这个文件...检查默认端口...
例如...cat /etc/services | grep 8 0...检查端口 8 0 是否是 HTTP...但是...它不可靠...有时会更改...
最后...nmap...它需要 root 权限...扫描本地端口...
sudonmap -sT -O localhost...检查所有...如果 netstat ss 找不到...它可能被阻止...只需使用这个...
哦,顺便...端口和进程之间的关系...进程被关闭...端口自动关闭...只要知道这个...
如果你想关闭端口...你可以使用iptables...例如, iptables -A INPUT -p tcp --dport 8 0 -j DROP...扔掉它...或者杀死进程...kill -9 $PID...你需要知道这个PID...netstat -anp 你可以在这里找到它...
总之...使用这些组合做...首先找到端口ss netstat...然后使用 lsof nmap 检查详细信息...好的...

Linux怎么检查程序和监听的端口

说实话,使用lsof检查端口非常方便,尤其是系统出现问题的时候。
上次调试Nginx日志混乱问题时,发现是某个worker进程的socket有问题。
我sudolsof -i -P -n | grep nginx,花了几秒钟才定位到哪个进程卡在 LISTEN 状态。
这里值得注意的是,lsof 的输出非常直观,但新手很容易混淆 -i 和 -i:。
第一个显示所有与网络相关的文件,而第二个则精确匹配端口或地址。
我被这个愚弄了。

老的netstat虽然功能齐全,但是使用时需要注意参数匹配。
当我维护一台旧服务器时,netstat -tulnp 是标准配置,尤其是 -u 参数,它可以发现这些被遗忘的 UDP 监视器。
值得注意的是,某些发行版的默认 netstat 版本可能不支持 -p。
在这种情况下,您应该改用 ss 命令。
ss -tulnp 具有相同的效果。
我记得检查过防火墙错误阻止问题,ss 至少比 netstat 快一半。

nmap更多地被网络管理员使用,但它对于检查本地端口也非常方便。
我有一个习惯,每次重装系统后都会扫描sudonmap -sT -O localhost,看看默认打开了哪些端口。
上次有同事安装了一些监控软件,结果监控到了2 2 端口。
我用nmap扫描了一下,发现了一切。
不过,在使用nmap时,需要注意权限问题。
如果没有 sudo,你甚至可能无法解析 localhost。
这点需要提醒新手。

归根结底,这三个命令各有千秋。
lsof 是最详细的,可以看到与进程相关的所有文件描述符; netstat历史最悠久,兼容性好,但结果有点冗长; nmap专门从事网络分析,在检查远程端口方面非常无情。
我一般先用lsof定位问题,然后用nmap确认影响程度,最后用netstat写脚本自动排查。
我记得的数据是lsof在性能上比netstat快3 0%左右,但具体数字取决于机器配置。
我个人并没有在这方面进行过大规模的对比测试。

linux下怎么查看哪些端口被占用

看看是什么占用了端口? Linux下有两个技巧。

第一步是使用netstat。
这是一个很长的时间。
您可以检查网络连接、路由表、接口统计信息等。
只需使用几个参数即可确定谁占用了端口:
-t:仅查看TCP端口
-u:仅查看UDP端口
-l:只查看处于监听状态的端口
-p:显示是什么进程和PID
-n:不分析域名,直接查看IP
常用组合命令:
查看所有TCP监听端口:netstat -ntlp
查看特定端口(如 8 0):netstat -ntulp |抢8 0
查看所有端口和进程:netstat -anp
如果想验证进程详细信息,可以通过PID进行过滤。
例如,如果发现8 08 0端口被PID为9 6 5 8 的Java进程占用,则运行ps -aux | grep 9 6 5 8 查看完整的进程信息。

第二个技巧是使用 lsof。
这个东西比较强大,可以直接显示打开文件的进程信息,包括网络端口。
您必须先安装它(例如,使用 yum install lsof)。
常用命令:
查看具体端口占用情况:lsof -i:8 08 0
显示所有网络连接:lsof -i
按协议或IP过滤:lsof -i TCP(仅见TCP)、lsof -i @1 9 2 .1 6 8 .1 .1 (指定IP)
lsof支持按文件、目录或进程ID过滤。
例如:
显示打开文件abc.txt的过程:lsof abc.txt
显示进程1 2 3 4 打开的文件:lsof -p 1 2 3 4
显示目录中占用的文件:lsof +d /usr/local/(非递归)或lsof +D /usr/local/(递归)
如果系统中没有netstat或lsof,还可以使用ss -tulnp快速查看端口和监听进程。

坦率地说,如果你想快速找到被占用的端口,你应该先使用netstat -ntlp或lsof -i:端口号。
如果想详细分析进程和文件之间的关系,lsof更灵活。
确认占用后,可以通过kill -9 终止进程(这样做时要小心)。