Linux 系统问题排查常用命令

立刻关机

halt

centos安装yum

apt-get install yum

查找文件夹

find / - name 需要查找文件名称

vi里面 查找字符串

“/”,后面跟要查找的字符串,再按回车。vi将光标定位在该串下一次出现的地方上。键入n跳到该串的下一个出现处,键入N跳到该串的上一个出现处。
要查找一个以search为行首的行,则键入/^search ,要查找一个以search为行尾的行,则键入/search$。

解压

tar -zxvf archive_name.tar.gz
unzip elasticsearch-head-master.zip
unzip -oq elastic-job-lite-console.war -d elastic-job-lite-console

//unzip 命令详解
http://www.2cto.com/os/201308/239355.html

压缩

tar czvf robot4.tar robot4

查看文件修改时间

stat 555.txt

查看当前目录下所有文件夹及文件

tree

如果想把内容输出到文本

tree > file.txt

读取标准输入的数据,并将其内容输出成文件

tee

例如:

bin/logstash -f config/logstash-hdy.conf  --debug | tee debug.log

将调试日志输入到文本中

显示当前所有Java进程pid的命令

jps

查看文件大小(后缀是m)

du -sh  alarm.log | sort -rn

linux 端口占用

netstat -anp | grep 80
lsof -i:17428

Ubuntu内存cpu监控

sudo apt-get install htop

安装完成后执行命令:htop即可

远程拷贝文件

scp monitor-kafka-consumer-0.0.1-SNAPSHOT.jar root@10.119.37.115:/usr/local// 目录拷贝 -r
scp -r ./elasticsearch-7.6.2 root@10.10.11.235:/home/es

放开所有端口

iptables -I IN_public_allow 1 -j ACCEPT

java后台启动jar包 后台启动,并且不记录日志输出

nohup java -jar jarfilename.jar >/dev/null &
nohup java -jar jarfilename.jar >log.txt &

操作系统版本查看

// Centos
cat /etc/redhat-release
// 所有
cat /proc/version
cat /etc/os-release

移除当前目录下非war结尾的文件

find . ! -name "*.war"  -exec rm -rf {} \;

war 解压

//解压 到activiti-app文件夹中(没有会自动创建)
unzip activiti-app.war -d activiti-app

linux java安装路径查看

http://www.cnblogs.com/kerrycode/p/4762921.html

查看文件的第5行到第10行

sed -n '5,10p' /etc/passwd

查找过滤文本文件内容

//查看cockpit-schedule-task.log日志中包含CustomDayCounterThread关键字
//忽略大小写,可以用-i参数
grep -i CustomDayCounterThread cockpit-schedule-task.log

根据进程号 查找程序所在文件夹

ll /proc/PID
比如:ll /proc/12132

更改用户的密码过期时间

比如:给jiankunking延期3000天

sudo chage -M 3000 jiankunking

查看jiankunking过期时间信息

chage -l jiankunking

查询当前文件夹下文件数量

ls -l | grep "^-" | wc -l

查询某个文件夹下所有文件(包含文件夹中的文件)

find ./monitor-cockpit -type f | wc -l

wc是(Word Count)的缩写,即统计单词数。 -l 统计行数

xargs用作替换工具,读取输入数据重新格式化后输出

查找某个文件夹下 包含error的内容

find ./monitor-cockpit -type f | xargs cat | grep -i error

ssh登陆

ssh jiankunking@10.138.40.221

回到你操作过的上一个目录去

只需敲入 cd – 就会返回到你操作过的上一个目录中去。

kill -HUP pid

pid 是进程标识。如果想要更改配置而不需停止并重新启动服务,请使用该命令。在对配置文件作必要的更改后,发出该命令以动态更新服务配置。

tcpdump

tcpdump -i ens160 host 10.119.37.147 and port 17428
//-X表示解码
tcpdump -i ens160 host 10.119.37.147 -X

判断当前主机是物理机还是虚拟机

dmidecode -s system-product-name

通过命令(nc)监听端口

nc -l 1211

Linux快速查询到历史输入命令

ctrl+r

按下这个快捷键后,进入了反向搜索状态,这时你输入一个字符,系统会找到最近一个包含这个字符的命令,如果不是你想要的命令,你可以继续输入,系统继续查找最近一个包含你所输入的字符串的命令,直到找到你要的命令。
找到你想要的命令后,你可以按回车执行这条命令,还可以按上下键查找该命令前后的命令,按左右键移动光标并修改这条命令。
为了提高查找效率,你应该输入该条命令中最特别的字符(别的命令不包含的字符)

ssh 调试模式

ssh -v  jiankunking@10.119.37.199

linux查询某个关键字附近几行

grep -C 40 AlarmThread_run_error cockpit-schedule-task-2017-11-17.3.log

杀掉所有含有关键字"ansible"的进程

ps -ef|grep ansible|grep -v grep|cut -c 9-15|xargs kill -9

https://www.cnblogs.com/lichkingct/archive/2010/08/27/1810463.html

linux时间排序

//按照时间升序
ls -lrt
//按照时间降序(最新修改的排在前面)
ls -lt

临时配置java环境

export JAVA_HOME=/usr/local/java/jdk1.7.0_79
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$JAVA_HOME/bin:$PATH

将当前时间以Unix时间戳表示

date +%s

Ubuntu /etc/hosts 生效

sudo /etc/init.d/networking restart

~

当前用户的根目录
比如:jiankunking用户 ~代表:/home/jiankunking
比如:root用户 ~代表:/root

查找当前目录下所有包含sshd_config字符串的文件

find .|xargs grep -ri "sshd_config"

使用env命令显示所有的环境变量

env

linux命令查看开放哪些端口

netstat -nupl (UDP类型的端口)
netstat -ntpl (TCP类型的端口)

su sudo

su - root(或者其他用户名)这里加了"-"后表示也切换的当前的环境变量到新用户的环境变量,
su root(或者其他用户名)表示不切换环境变量到当前用户下。

查看IP连接数状况

netstat -nat|grep ":80"|awk '{print $5}' |awk -F: '{print $1}' | sort| uniq -c|sort -n

查看连接的各种状态

netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'

Linux 快速清空文件内容

> test.txt(文件大小被截为0字节)//文件内容清空
echo > filebeat.yml

https://my.oschina.net/open1900/blog/99061

文件赋予执行权限

u:表示文件所有者
g:表示同组用户
o:表示其它用户
a:表示所有用户

opt则是代表操作,可以为:
+:添加某个权限
-:取消某个权限
=:赋予给定的权限,并取消原有的权限

将/data/hlht/data/elasticsearch赋给elsearch用户组中的elsearch用户

chown -R elsearch:elsearch  /data/hlht/data/elasticsearch
chmod 777 /data/hlht/data/elasticsearch

查看当前用户所属组:groups

查看进程启动及运行时间

# ps -eo lstart 启动时间
# ps -eo etime   运行多长时间ps -eo pid,lstart,etime | grep 5176

查看某个目录下文件资源占用大小

du -sh /var/log/*

查看文件夹下文件排序并显示

du -sh ./*| sort -k1 -n

某个进程内存占用

top -p 进程号
显示内存单位是K

CentOS7使用firewalld打开关闭防火墙与端口

https://www.cnblogs.com/moxiaoan/p/5683743.html

添加具有root权限用户

useradd es
vi /etc/sudoers
es ALL=(ALL)  NOPASSWD:ALL

测试

su es -
sudo su -

查看磁盘空间大小命令(linux系统以磁盘分区为单位查看文件系统)

df -hl

查看已经挂载的分区和文件系统类型

df -T

0.0.0.0

一个非常特殊的IP:0.0.0.0
这个IP相当于java中的this,代表当前设备的IP。

服务重新加载

systemctl daemon-reload

Linux下 查看哪些进程占用的CPU内存资源最多

linux下获取占用内存资源最多的10个进程,可以使用如下命令组合:

ps aux|head -1;ps aux|grep -v PID|sort -rn -k +4|head

linux下获取占用CPU资源最多的10个进程,可以使用如下命令组合:

ps aux|head -1;ps aux|grep -v PID|sort -rn -k +3|head

或者
在命令行提示符执行top命令
输入大写P,则结果按CPU占用降序排序。输入大写M,结果按内存占用降序排序。(注:大写P可以在capslock状态输入p,或者按Shift+p)

磁盘io利用率

iostat -xdm 1

%util 代表磁盘繁忙程度。100% 表示磁盘繁忙, 0%表示磁盘空闲。但是注意,磁盘繁忙不代表磁盘(带宽)利用率高
https://www.cnblogs.com/quixotic/p/3258730.html

进程级IO监控 iotop
iotop 顾名思义, io版的top

多U多核CPU监控

在top基本视图中,按键盘数字“1”,可监控每个逻辑CPU的状况
第三行:cpu状态
6.7% us — 用户空间占用CPU的百分比。
0.4% sy — 内核空间占用CPU的百分比。
0.0% ni — 改变过优先级的进程占用CPU的百分比
92.9% id — 空闲CPU百分比
0.0% wa — IO等待占用CPU的百分比
0.0% hi — 硬中断(Hardware IRQ)占用CPU的百分比
0.0% si — 软中断(Software Interrupts)占用CPU的百分比

centos查看安装了某个包

yum方法安装的,可以用yum list installed查找,如果是查找指定包,命令后加 | grep “软件名或者包名”;

swap

关闭

swapoff -a

在关闭的时候,可以通过free -mh查看swap内存占用,swapoff -a会逐渐将swap内存转移到内存中
打开

swapon -a
echo "vm.swappiness = 1">> /etc/sysctl.conf 
sysctl -p  (执行这个使其生效,不用重启)

软连接

将/data/blog/wordpress/nginx_conf/2_jiankunking.com.key(真实存在) 软连接到/etc/nginx/目录下

ln -s /data/blog/wordpress/nginx_conf/2_jiankunking.com.key  /etc/nginx/

移动到文件末尾

可以按 shift+g 即可跳到文件底部
要返回文件顶部的时候 按 gg即可
shift+$是移动到行尾,0是移动到行首

字符替换

86替换成 214

sed -i "s/10.133.0.86/10.138.25.214/g"  lishan.txt

粗暴安装openjdk

yum install java-1.8.0-openjdk* -y
sudo apt-get install default-jdk -y

CentOS7 查看开机启动项和程序服务

systemctl list-unit-files  (查看开机启动项)systemctl list-unit-files  |  grep 程序名称   (查看某些服务开机启动状态)systemctl  list-unit-files |  grep enable (查看哪些为开机启动服务)

ldd

ldd命令 用于打印程序或者库文件所依赖的共享库列表。
可以用来查看golang编译的二进制程序的依赖。

Golang 在编译的时候,可以关闭CGO(CGO_ENABLED=0),从而移除依赖。

iptables 放开某个端口

/sbin/iptables -I INPUT -p tcp --dport 3306 -j ACCEPT

pmap

pmap命令用于显示一个或多个进程的内存状态。其报告进程的地址空间和内存状态信息。
语法或用法:

pmap PID 
pmap [options] PID

在输出中它显示全部的地址,kbytes,mode还有mapping。

选项

  • -x extended显示扩展格式
  • -d device显示设备格式
  • -q quiet不显示header/footer行
  • -V 显示版本信息

扩展进程内存

[root@info ~]# pmap -x 1013 
1013: /usr/sbin/sshd 
Address Kbytes RSS Dirty Mode Mapping 
00110000 1480 92 0 r-x- libcrypto.so.1.0.0 
00282000 80 80 80 rw-- libcrypto.so.1.0.0 
00296000 12 8 4 rw-- [ anon ] 
00299000 36 0 0 r-x- libkrb5support.so.0.1 
002a2000 4 4 4 rw-- libkrb5support.so.0.1 
002a3000 16 0 0 r-x- libplc4.so 
002a7000 4 4 4 rw-- libplc4.so 
002ab000 88 4 0 r-x- libaudit.so.1.0.0 
002c1000 4 4 4 r--- libaudit.so.1.0.0 
002c2000 4 4 4 rw-- libaudit.so.1.0.0 
002c3000 216 4 0 r-x- libgssapi_krb5.so.2.2 
002f9000 4 4 4 rw-- libgssapi_krb5.so.2.2 
002fa000 808 4 0 r-x- libkrb5.so.3.3 
003c4000 24 24 24 rw-- libkrb5.so.3.3 
003ca000 152 4 0 r-x- libk5crypto.so.3.1 
003f0000 4 4 4 rw-- libk5crypto.so.3.1 
003f1000 92 0 0 r-x- libnssutil3.so 
00408000 12 12 12 rw-- libnssutil3.so 
0040b000 12 0 0 r-x- libplds4.so 
0040e000 4 4 4 rw-- libplds4.so --- --- --- --- --- 
total kB 8232 - - - 

这里的Address,Kbyte,Dirty,RSS,mode还有mapping的说明如下

扩展和设备格式区域

  • Address: 内存开始地址
  • Kbytes: 占用内存的字节数(KB)
  • RSS: 保留内存的字节数(KB)
  • Dirty: 脏页的字节数(包括共享和私有的)(KB)
  • Mode: 内存的权限:read、write、execute、shared、private (写时复制)
  • Mapping: 占用内存的文件、或[anon](分配的内存)、或[stack](堆栈)
  • Offset: 文件偏移
  • Device: 设备名 (major:minor)

lsof

lsof(list open files)是一个列出当前系统打开文件的工具。在linux环境下,任何事物都以文件的形式存在,通过文件不仅仅可以访问常规数据,还可以访问网络连接和硬件。所以如传输控制协议 (TCP) 和用户数据报协议 (UDP) 套接字等,系统在后台都为该应用程序分配了一个文件描述符,无论这个文件的本质如何,该文件描述符为应用程序与基础操作系统之间的交互提供了通用接口。

在终端下输入lsof即可显示系统打开的文件,因为 lsof 需要访问核心内存和各种文件,所以必须以 root 用户的身份运行它才能够充分地发挥其功能。

直接输入lsof部分输出为:
在这里插入图片描述
每行显示一个打开的文件,若不指定条件默认将显示所有进程打开的所有文件。

lsof输出各列信息的意义如下:

  • COMMAND:进程的名称 PID:进程标识符
  • USER:进程所有者
  • FD:文件描述符,应用程序通过文件描述符识别该文件。如cwd、txt等 TYPE:文件类型,如DIR、REG等
  • DEVICE:指定磁盘的名称
  • SIZE:文件的大小
  • NODE:索引节点(文件在磁盘上的标识)
  • NAME:打开文件的确切名称

FD 列中的文件描述符cwd 值表示应用程序的当前工作目录,这是该应用程序启动的目录,除非它本身对这个目录进行更改,txt 类型的文件是程序代码,如应用程序二进制文件本身或共享库,如上列表中显示的 /sbin/init 程序。

其次数值表示应用程序的文件描述符,这是打开该文件时返回的一个整数。如上的最后一行文件/dev/initctl,其文件描述符为 10。u 表示该文件被打开并处于读取/写入模式,而不是只读 ® 或只写 (w) 模式。同时还有大写 的W 表示该应用程序具有对整个文件的写锁。该文件描述符用于确保每次只能打开一个应用程序实例。初始打开每个应用程序时,都具有三个文件描述符,从 0 到 2,分别表示标准输入、输出和错误流。所以大多数应用程序所打开的文件的 FD 都是从 3 开始。

与 FD 列相比,Type 列则比较直观。文件和目录分别称为 REG 和 DIR。而CHR 和 BLK,分别表示字符和块设备;或者 UNIX、FIFO 和 IPv4,分别表示 UNIX 域套接字、先进先出 (FIFO) 队列和网际协议 (IP) 套接字。

在这里插入图片描述

根据进程号查看某个进程文件的启动位置

ls -al /proc/进程id

输出
在这里插入图片描述

注意:

  • cwd符号链接的是进程运行目录;
  • exe符号连接就是执行程序的绝对路径;
  • cmdline就是程序运行时输入的命令行命令;
  • environ记录了进程运行时的环境变量;
  • fd目录下是进程打开或使用的文件的符号连接。

linux 查看进程启动命令

先通过ps找到进程pid,再在/proc/进程pid/cmdline查看启动命令

cat /proc/进程pid/cmdline

可使用 tr 或者 strings命令将命令分割成可读方式(推荐第二种)

cat /proc/进程pid/cmdline | tr "\0" " "
或者
cat /proc/进程pid/cmdline | strings -1

查看系统进程中的线程

 ps -xH

在这里插入图片描述

在宿主机上根据进程PID查找归属容器ID

for i in  `docker ps |grep Up|awk '{print $1}'`;do echo \ &&docker top $i &&echo ID=$i; done |grep -A 10 27888

在这里插入图片描述

查看网络状态

netstat -s

结果如下:

[jiankunking@7b76fa ~]# netstat -s 
Ip:274142020723 total packets received7 with invalid headers78827273118 forwarded36 with unknown protocol0 incoming packets discarded195314721724 incoming packets delivered263133635745 requests sent out8 dropped because of missing route14 reassemblies required7 packets reassembled ok
Icmp:31269654 ICMP messages received163 input ICMP message failed.ICMP input histogram:destination unreachable: 12385timeout in transit: 7echo requests: 31256550echo replies: 519timestamp request: 38timestamp reply: 4address mask request: 8731274363 ICMP messages sent0 ICMP messages failedICMP output histogram:destination unreachable: 17235time exceeded: 6echo request: 584echo replies: 31256496timestamp requests: 4timestamp replies: 38
IcmpMsg:InType0: 519InType3: 12385InType8: 31256550InType11: 7InType13: 38InType14: 4InType15: 18InType17: 87InType37: 23InType165: 23OutType0: 31256496OutType3: 17235OutType8: 584OutType11: 6OutType13: 4OutType14: 38
Tcp:83061084 active connections openings228457168 passive connection openings10120176 failed connection attempts66634474 connection resets received1032 connections established194719468285 segments received303802796563 segments send out393689996 segments retransmited126107 bad segments received.2611637745 resets sentInCsumErrors: 60267
Udp:524696654 packets received6207 packets to unknown port received.0 packet receive errors532508922 packets sent0 receive buffer errors0 send buffer errors
UdpLite:
TcpExt:53308 invalid SYN cookies received9941962 resets received for embryonic SYN_RECV sockets51 packets pruned from receive queue because of socket buffer overrun8514 ICMP packets dropped because they were out-of-window3486343 TCP sockets finished time wait in fast timer39519279 TCP sockets finished time wait in slow timer10913 passive connections rejected because of time stamp1765 packets rejects in established connections because of timestamp3469035831 delayed acks sent1166770 delayed acks further delayed because of locked socketQuick ack mode was activated 20460837 times21159 times the listen queue of a socket overflowed32135 SYNs to LISTEN sockets dropped264888 packets directly queued to recvmsg prequeue.45574288 bytes directly in process context from backlog444237272 bytes directly received in process context from prequeue106173559010 packet headers predicted118340 packets header predicted and directly queued to user8022602149 acknowledgments not containing data payload received88651458774 predicted acknowledgments24287671 times recovered from packet loss by selective acknowledgements1 bad SACK blocks receivedDetected reordering 7554 times using FACKDetected reordering 4775 times using SACKDetected reordering 3228 times using time stamp5436 congestion windows fully recovered without slow start6007 congestion windows partially recovered using Hoe heuristic2656395 congestion windows recovered without slow start by DSACK730936 congestion windows recovered without slow start after partial ackTCPLostRetransmit: 11413154972076 timeouts after SACK recovery11391 timeouts in loss state245558666 fast retransmits8591359 forward retransmits21274413 retransmits in slow start4923871 other TCP timeoutsTCPLossProbes: 112468779TCPLossProbeRecovery: 946472822301617 SACK retransmits failed1 times receiver scheduled too late for direct processing1596 packets collapsed in receive queue due to low socket buffer20477405 DSACKs sent for old packets37717 DSACKs sent for out of order packets93676458 DSACKs received10583 DSACKs for out of order packets received64236162 connections reset due to unexpected data65947 connections reset due to early user close6268 connections aborted due to timeoutTCPSACKDiscard: 1TCPDSACKIgnoredOld: 12821TCPDSACKIgnoredNoUndo: 62129283TCPSpuriousRTOs: 612581TCPSackShifted: 308947475TCPSackMerged: 410173050TCPSackShiftFallback: 191165233TCPDeferAcceptDrop: 34467IPReversePathFilter: 25380TCPRetransFail: 30045TCPRcvCoalesce: 6992560873TCPOFOQueue: 654814955TCPOFOMerge: 38603TCPChallengeACK: 660379TCPSYNChallenge: 66622TCPSpuriousRtxHostQueues: 72550TCPAutoCorking: 31101563246TCPFromZeroWindowAdv: 879TCPToZeroWindowAdv: 884TCPWantZeroWindowAdv: 10290TCPSynRetrans: 17888328TCPOrigDataSent: 230944418777TCPHystartTrainDetect: 5900185TCPHystartTrainCwnd: 171155215TCPHystartDelayDetect: 21081TCPHystartDelayCwnd: 3272500TCPACKSkippedSynRecv: 12TCPACKSkippedPAWS: 85TCPACKSkippedSeq: 21918TCPACKSkippedTimeWait: 35TCPACKSkippedChallenge: 156
IpExt:InMcastPkts: 198449OutMcastPkts: 201InBcastPkts: 39281084InOctets: 337132214927778OutOctets: 445692198946724InMcastOctets: 61908851OutMcastOctets: 31553InBcastOctets: 3190817867InNoECTPkts: 418945982547InECT0Pkts: 517992

你可能会问:这些不是静态值吗,我想知道当前情况啊?这个也很好解决,你可以这样做:

watch --diff netstat -s

这个命令会把发生变化的数值进行高亮,方便我们查看:
在这里插入图片描述

如果想看被拒绝的

 [jiankunking@7b76fa ~]# netstat -s |grep reject10913 passive connections rejected because of time stamp1765 packets rejects in established connections because of timestamp

这个错误信息就是服务器tcp_tw_recycle参数引起的
https://blog.csdn.net/zhuyiquan/article/details/68925707?spm=1001.2014.3001.5506

Linux 开机自启配置文件位置

/usr/lib/systemd/system/
/etc/systemd/system/

80、linux 下查看硬盘型号、大小等信息

[jiankunking@hddxps8156 ~]# smartctl --all /dev/sda
smartctl 7.0 2018-12-30 r4883 [x86_64-linux-3.10.0-1160.el7.x86_64] (local build)
Copyright (C) 2002-18, Bruce Allen, Christian Franke, www.smartmontools.org=== START OF INFORMATION SECTION ===
Vendor:               INSPUR
Product:              LOGICAL VOLUME
Revision:             5.00
Compliance:           SPC-3
User Capacity:        5,761,048,862,720 bytes [5.76 TB]
Logical block size:   512 bytes
Physical block size:  4096 bytes
Rotation Rate:        Solid State Device
Logical Unit id:      0x600508b1001c19b6fe897d643b229c7a
Serial number:        RANA18EC0649A10
Device type:          disk
Local Time is:        Thu Aug  3 16:42:10 2023 CST
SMART support is:     Available - device has SMART capability.
SMART support is:     Enabled
Temperature Warning:  Disabled or Not Supported=== START OF READ SMART DATA SECTION ===
SMART Health Status: OK
Current Drive Temperature:     0 C
Drive Trip Temperature:        0 CError Counter logging not supportedDevice does not support Self Test logging

Smartctl安装命令

yum install smartmontools -y

tcpdump保存到pcap文件

tcpdump -i eth0 host 10.201.36.156 -w /tmp/10.201.36.156.cap

tcpdump 安装命令集锦

if command -v apt >/dev/null 2>&1; thenecho 'Dectect apt,running...'apt-get -y --allow-releaseinfo-change update// 或者 apt-get update apt-get -y install tcpdumpelif command -v yum >/dev/null 2>&1; thenecho 'Dectect yum,running...'yum -y install tcpdumpelif command -v apk >/dev/null 2>&1;thenecho 'Dectect apk,running...'apk -y updateapk -y add tcpdumpelseecho "Err: no path to apt-get or yum or apk" >&2;fi

–allow-releaseinfo-change

允许update命令继续从更改了发行信息存储库中下载数据,这些信息指示了一个新的主要版本。对于这种存储库,APT将在update时失败,直到确认了更改,以确保用户为更改做好了准备。另请参阅 apt-secure(8) 了解有关概念和配置。

阿里云 ECS Docker、Docker Compose安装

https://blog.csdn.net/jiankunking/article/details/135203144?spm=1001.2014.3001.5501

netstat分组统计源ip连接数量

netstat -ant |awk '{print $5}'|cut -d ":" -f1|sort |uniq -c |sort -nr |head -10

解释如下:
netstat -ant 获取网络连接
netstat -ant |awk ‘{print $5}’ 获取第五列,也就是源ip:端口
netstat -ant |awk ‘{print $5}’|cut -d “:” -f1 切割第5列,等同于split,获取切割后的第一个字段,也就是源ip
netstat -ant |awk ‘{print $5}’|cut -d “:” -f1|sort |uniq -c 排序加统计
netstat -ant |awk ‘{print $5}’|cut -d “:” -f1|sort |uniq -c |sort -nr |head -10 再排序取前十

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/815138.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

正则表达式 速成

正则表达式的作用 正则表达式,又称规则表达式,(Regular Expression,在代码中常简写为regex、regexp或RE),是一种文本模式,包括普通字符(例如,a 到 z 之间的字母)和特殊字…

c语言中<string.h>的strstr与strtok函数

c语言中string.h的strstr与strtok函数 代码运行结果 代码 #include <stdio.h> #include <string.h>///1.在字符串str1里面,查找第一次出现str2的位置 //char * strstr(const char * str1,const char * str2)///2.sep为分割符,根据分割符来对str进行分割 //char * …

解决Django中的UnicodeDecodeError问题

在使用Django进行Web开发时&#xff0c;有时会遇到一些由于编码不一致引起的问题&#xff0c;特别是在处理文件读写操作时。一个常见的错误是UnicodeDecodeError&#xff0c;其表现为gbk codec cant decode byte 0xa6 in position 9737: illegal multibyte sequence。这个问题通…

【设计模式学习】单例模式和工厂模式

꒵˂͈꒱ write in front ꒰˃͈꒵˂͈꒱ ʕ̯•͡˔•̯᷅ʔ大家好&#xff0c;我是xiaoxie.希望你看完之后,有不足之处请多多谅解&#xff0c;让我们一起共同进步૮₍❀ᴗ͈ . ᴗ͈ აxiaoxieʕ̯•͡˔•̯᷅ʔ—CSDN博客 本文由xiaoxieʕ̯•͡˔•̯᷅ʔ 原创 CSDN 如需转…

【SpringBoot:详解Bean装配】

&#x1f3e1;Java码农探花&#xff1a; &#x1f525; 推荐专栏&#xff1a;<springboot学习> &#x1f6f8;学无止境&#xff0c;不骄不躁&#xff0c;知行合一 文章目录 前言一、IoC容器的简介BeanFactory接口源码二、Bean装配扫描装配探索启动类条件装配自定义Bean总…

版本管理|Git -目前最好的版本管理工具

文章目录 什么是版本为什么需要版本管理Git -目前最好的版本管理工具Git的关键特点和概念初始化Git保存代码改变git addgit commit -m ""git statusgit log branch分支管理git branch & git chekoutHEAD的本质git merge 合并fast forward merge 本地与远程如何解…

【一刷《剑指Offer》】面试题 3:二维数组中的查找

力扣对应题目链接&#xff1a;240. 搜索二维矩阵 II - 力扣&#xff08;LeetCode&#xff09; 核心考点&#xff1a;数组相关&#xff0c;特性观察&#xff0c;时间复杂度把握。 一、《剑指Offer》对应内容 二、分析题目 正常查找的过程本质就是排除的过程&#xff0c;谁排除…

【YOLOv9】完胜V8的SOTA模型Yolov9(论文阅读笔记)

官方论文地址&#xff1a; 论文地址点击即可跳转 官方代码地址&#xff1a; GitCode - 开发者的代码家园 官方代码地址点击即可跳转 1 总述 当输入数据经过各层的特征提取和变换的时候&#xff0c;都会丢失一定的信息。针对这一问题&#xff1a; 论文中提出的可编程梯度信息…

免费的 ChatGPT 网站(六个)

&#x1f525;博客主页&#xff1a; 小羊失眠啦. &#x1f3a5;系列专栏&#xff1a;《C语言》 《数据结构》 《C》 《Linux》 《Cpolar》 ❤️感谢大家点赞&#x1f44d;收藏⭐评论✍️ 文章目录 一、insCode二、讯飞星火三、豆包四、文心一言五、通义千问六、360智脑 现在智能…

【漏洞复现】WordPress LayerSlider插件SQL注入漏洞复现

声明&#xff1a;亲爱的读者&#xff0c;我们诚挚地提醒您&#xff0c;Aniya网络安全的技术文章仅供个人研究学习参考。任何因传播或利用本实验室提供的信息而造成的直接或间接后果及损失&#xff0c;均由使用者自行承担责任。Aniya网络安全及作者对此概不负责。如有侵权&#…

C数据结构:双向链表(带头循环)

前言 链表分多种&#xff0c;分别为 不带头不循环单向链表、不带头循环单向链表、带头循环单向链表、带头不循环单向链表 不带头不循环双向链表、不带头循环双向链表、带头循环双向链表、带头不循环双向链表 一共八种 在前一篇博客中完成的单链表即为不带头不循环单向链表…

杰发科技AC7840——CAN通信简介(5)_可变波特率设置

0. 简介 设置可变波特率时候&#xff0c;遇到2个坑&#xff0c;在此记录下来 使用该函数即可 can_time_segment_t bitrate2 s_canBitrate[CAN_BITRATE_250K]; CAN_DRV_SetBitrate(instance, &bitrate2); 1. 波特率指针注意不要空 查看设置波特率的接口&#xff0c;发现…

吉他弹唱谱怎么制作 Guitar Pro 怎么写弹简谱 Guitar Pro8.02简谱

学习如何制作吉他弹唱谱是提升音乐创作和表现能力的重要一环。借助专业的软件工具如Guitar Pro&#xff0c;可以轻松地将音乐创意转化为可视化的乐谱&#xff0c;使演奏和分享变得更加便捷和高效。下面我们来看看吉他弹唱谱怎么制作&#xff0c;Guitar Pro 怎么写弹简谱的相关内…

Llama 3下月正式发布,继续开源!

4月10日&#xff0c;Techcrunch消息&#xff0c;Meta在本周伦敦举办的一场活动中确定&#xff0c;下个月将正式发布Llama 3并且继续开源。 Meta全球事务总裁Nick Clegg表示&#xff0c;我们希望在下个月&#xff0c;甚至更短的时间内&#xff0c;正式推出新一代基础模型Llama …

机器学习和深度学习--李宏毅(笔记与个人理解)Day9

Day9 Logistic Regression&#xff08;内涵&#xff0c;熵和交叉熵的详解&#xff09; 中间打了一天的gta5&#xff0c;图书馆闭馆正好npy 不舒服那天天气不好&#xff0c;哈哈哈哈哈总之各种理由吧&#xff0c;导致昨天没弄起来&#xff0c;今天补更&#xff01; 这里重点注意…

面试官:实战中用过CountDownLatch吗?详细说一说,我:啊这...

写在开头 在很多的面经中都看到过提问 CountDownLatch 的问题&#xff0c;正好我们最近也在梳理学习AQS&#xff08;抽象队列同步器&#xff09;&#xff0c;而CountDownLatch又是其中典型的代表&#xff0c;我们今天就继续来学一下这个同步工具类&#xff01; CountDownLatc…

机器学习第34周周报VBAED

文章目录 week34 VBAED摘要Abstract一、文献阅读1. 题目2. abstract3. 网络架构3.1 序列问题阐述3.2 变分模态分解3.3 具有 BiLSTM 和双向输入注意力的编码器3.4 具有 BiLSTM 和双向时间注意力的解码器 4. 文献解读4.1 Introduction4.2 创新点4.3 实验过程4.3.1 数据集数据预处…

Redis为什么会变慢

链接: https://pan.baidu.com/s/1PNzhDMqkFBdKUu9_FxA5zw 提取码: euvk

以太网数据量大小字符串生成方法(可变单位)

0 前言 当我们想显示以太网数据量大小时&#xff0c;往往有个头疼的单位需要处理&#xff0c;单位取小了不一目了然&#xff0c;单位取大了精度太低。本例设计一个函数&#xff0c;将根据以太网数据量大小自动生成单位可变的字符串&#xff08;KB、MB、GB、TB、PB&#xff09;…

雷军 30 年前的病毒论文,结语最后一句是亮点

在 2023 雷军年度「成长」主题演讲中&#xff0c;他分享了自己在武汉大学设立的三个目标&#xff1a; 两年修完大学所有学分成为优秀的程序员在学报上发论文 对于彼时的在校生来说&#xff0c;在一级学报上发表论文是十分困难的事情&#xff0c;但雷军并没有因困难而畏惧、放…