常用命令

脚本杀进程 ps -ef | grep zabbix | awk '{print $2}' | xargs kill

获取进程的启动时间  ps  -p  <pid>  -o  lstart

获取连接状态及连接数  netstat -ant|awk '/^tcp/ {++S[$NF]} END {for(a in S) print (a,S[a])}'

CLOSED:无连接是活动的或正在进行
LISTEN:服务器在等待进入呼叫
SYN_RECV:一个连接请求已经到达,等待确认
SYN_SENT:应用已经开始,打开一个连接
ESTABLISHED:正常数据传输状态
FIN_WAIT1:应用说它已经完成
FIN_WAIT2:另一边已同意释放
ITMED_WAIT:等待所有分组死掉
CLOSING:两边同时尝试关闭
TIME_WAIT:另一边已初始化一个释放
LAST_ACK:等待所有分组死掉

编辑内核文件/etc/sysctl.conf,加入以下内容:

net.ipv4.tcp_syncookies = 1 表示开启SYN Cookies。当出现SYN等待队列溢出时,启用cookies来处理,可防范少量SYN攻击,默认为0,表示关闭;
net.ipv4.tcp_tw_reuse = 1 表示开启重用。允许将TIME-WAIT sockets重新用于新的TCP连接,默认为0,表示关闭;
net.ipv4.tcp_tw_recycle = 1 表示开启TCP连接中TIME-WAIT sockets的快速回收,默认为0,表示关闭。
net.ipv4.tcp_fin_timeout = 30 修改系默认的 TIMEOUT 时间
简单来说,就是打开系统的TIMEWAIT重用和快速回收。

其他参数:
net.ipv4.tcp_keepalive_time = 1200
#表示当keepalive起用的时候,TCP发送keepalive消息的频度。缺省是2小时,改为20分钟。
net.ipv4.ip_local_port_range = 1024 65000
#表示用于向外连接的端口范围。缺省情况下很小:32768到61000,改为1024到65000。
net.ipv4.tcp_max_syn_backlog = 8192
#表示SYN队列的长度,默认为1024,加大队列长度为8192,可以容纳更多等待连接的网络连接数。
net.ipv4.tcp_max_tw_buckets = 5000
#表示系统同时保持TIME_WAIT套接字的最大数量,如果超过这个数字,TIME_WAIT套接字将立刻被清除并打印警告信息。
默认为180000,改为5000。对于Apache、Nginx等服务器,上几行的参数可以很好地减少TIME_WAIT套接字数量,但是对于 Squid,效果却不大。此项参数可以控制TIME_WAIT套接字的最大数量,避免Squid服务器被大量的TIME_WAIT套接字拖死。

查看最大文件描述符ulimit -n 

如何修改 vim /etc/security/limits.conf

* soft nofile 10240
* hard nofile 10240

重启生效。

 生成32位随机数并写入pass文件

cat /dev/urandom | head -1|md5sum | head -c 32 >> pass && echo >> pass

/dev/urandom是系统默认生成随机数的文件。

 清除缓存

 sync && echo 3 > /proc/sys/vm/drop_caches && swapoff -a && swapon -a

1:清除页面缓存;2:清除目录项和inode;3:清除页面缓存、目录项和inode节点。

 查看系统是运行在物理机上还是虚拟机上

Windows:
在CMD里输入:Systeminfo | findstr /i "System Model"
如果System Model:后面含有Virutal就是虚拟机,其他都是物理机
或者用powershell命令:get-wmiobject win32_computersystem | fl model

Linux:

在bash里输入:dmidecode -s system-product-name
或者lshw -class system
或者dmesg | grep -i virtual



sed详解 https://wiki.jikexueyuan.com/project/unix/regular-expressions.html 

原文地址:https://www.cnblogs.com/lingshu/p/11254466.html