Linux运维常用命令

1、查找当前目录先所有以 .tar结尾的文件并移动到指定目录

find ./ -name "*.tar" | xargs -i mv {} ./mysql/
find ./ -name "*.tar" -exec mv {}./mysql/ ;#可能会有问题

-exec 、xargs可以来承接前面的结果,一般跟find再一起使用;

-mtime查找时间,-type指定类型,-size指定大小,

#查找当前目录30天以前大于100M的log文件,并删除
find  ./ -name "*.log" –mtime +30 –type f –size +100M |xargs rm –rf {};

#将大于100k的文件移动到特定目录
find . -size +100k -exec mv {} /tmp ;

#查找最后创建时间是3天前,后缀是*.log的文件并删除
find . -mtime +3  -name "*.log" |xargs rm -rf {} ;

2、批量解压当前目录下以 .zip结尾的压缩包到指定目录

for i  in  `find . –name "*.zip" –type f `
do
unzip –d $i /data/
done

3、sed常用命收集:

如何去掉行首的.字符:

sed -i 's/^.//g' test.txt

在行首添加一个a字符:

sed 's/^/a/g' test.txt

在行尾添加一个a字符:

sed 's/$/a/' tets.txt

在特定行下一行添加一个cbd字符: 

sed '/wuguangke/acbd' test.txt

在行特定行前一行加入一个cbd字符:

sed '/wuguangke/icbd' test.txt

 替换文件中指定字符串

find makefile | xargs sed -i "s:/Main/:${user_path}:g"

sed -i 's//usr/local//tmp/g' test.txt
sed 's:/user/local:/tmp:g' test.txt

#修改文本中以jk结尾的替换成yz
sed -e 's/jk$/yz/g' b.txt

4、如何判断某个目录是否存在,不存在则新建,存在则打印信息

if [! –d /data/backup/];then
    Mkdir –p /data/backup/
else
    echo  "The Directory alreadyexists,please exit"
fi

5、cat

#统计 访问日志,访问量排在前20 的 ip地址
cat access.log |awk '{print $1}'|sort|uniq -c |sort -nr |head -20 #sort排序、uniq(检查及删除文本文件中重复出现的行列 )

#打印出一个文件里面最大和最小值
cat a.txt |sort -nr|awk '{}END{print} NR==1'
cat a.txt |sort -nr |awk 'END{print} NR==1'

#显示最常用的20条命令
cat .bash_history |grep -v ^# |awk '{print $1}' |sort |uniq -c |sort -nr |head-20

6、防火墙配置脚本,只允许远程主机访问本机的80端口。

iptables -F
iptables -X
iptables -A INPUT -p tcp --dport 80 -j accept
iptables -A INPUT -p tcp -j REJECT
##或者
iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT

7、网络抓包

#抓取56.7通过80请求的数据包。
tcpdump -nn host 192.168.56.7 and port 80
#排除0.22 80端口!
tcpdump -nn host 192.168.56.7 or ! host 192.168.0.22 and port 80 

8、查询网路I/O

netstat -an | grep TIME_WAIT 或 netstat -antp 查找处于TIME_WAIT状态的连接,这可能是大量并发短连接导致的网络资源消耗。

netstat -i 或 netstat -s 显示网络接口统计信息,可以查看总的网络I/O错误和丢包情况。
ss -t state established '(recv-q|send-q) > 0' 可以找出TCP连接中有大量数据积压在接收或发送队列中的连接。
ss -u 可以查看UDP连接统计。
  1. iftop: 实时的网络带宽监视工具,可以直观地看到每个进程的网络流量。

  2. nethogs: 可以按进程查看网络流量,方便找到哪个进程占用了大量网络带宽。

  3. iptraf-ng 或 vnstat:

    这些工具提供实时和历史网络流量分析,有助于识别异常流量高峰。
  4. strace:

    对可疑进程执行 strace -p <PID>,可以追踪该进程的系统调用,包括网络相关的系统调用,以查看是否有阻塞在网络I/O上的迹象。
  5. lsof:

    lsof -i 或 lsof -i :<port> 可以列出所有打开网络套接字的进程及其相关的文件描述符,结合 -P 参数可以看到进程ID。
  6. pidstat (part of sysstat package):

    pidstat -t -u -n 可以显示每个进程的CPU、内存以及网络统计信息,其中包括发送和接收的数据量。
  7. iotop:

    虽然主要用于磁盘I/O监控,但如果网络I/O映射到了文件系统的缓存,也可能在此处体现出来

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值