常用的shell命令(持续更新)

批量修改后缀名(例如把当前目录下的.cpp文件修改为.c文件)

ls *.cpp | awk -F'.' '{print $1}' | xargs -I {} mv {}.cpp {}.c

把指定的文件移动到指定的目录(例如把当前目录下的.java文件移动到/dir)

ls *.java | xargs -I {} mv {} /dir

统计当前处于TIME_WAIT状态下的TCP连接个数(腾讯面试题)

netstat -tan | awk '{print $6}' | grep "TIME_WAIT" | wc -l
netstat -ant |awk '{if(NR>1)++s[$NF]} END {for(k in s) print k,s[k]}'

 

统计当前目录下某个文件中出现频率最高的十个单词(假定文件名为file)

cat file | sort | uniq -c | sort -rn | head -10

统计当前目录下某个文件中单词个数

cat file | sort | uniq -c

删除文本中的空行 

cat file | sed '/^$/d'

grep -v "^$" file

提取本机的IP地址 

ifconfig eth0 |awk -F"[ ]+|[:]" 'NR==2 {print $4}'

ifconfig eth0 | awk 'NR==2{print $0}' | awk -F":" '{print $2}' | awk '{print $1}'

统计当前目录下.c文件的个数

ls *.c | wc -l
统计当前目录下.c文件的总行数

ls *.c | xargs wc -l
网络连接状态数目

netstat -ant |sed '1,2d' |awk '{print $6}' |sort |uniq -c |sort -n

如发现某个分区空间接近用尽,可以进入该分区的挂载点,用以下命令找出占用空间最多的文件或目录

du -cks * | sort -rn | head -n 10
查看内存的大小

free -m | grep "Mem" | awk '{print $2}'

查看与对端80端口的连接

 netstat -ant | grep ":80" | grep "ESTABLISHED"|awk '{print $4,$5}'

删除0字节文件

find . -type f -size 0 -exec rm -rf {} \;

网络抓包,直接输出摘要信息到文件

tcpdump -c 10000 -i eth0 -n dst port 80 > /root/pkts

查看cpu负载最高的10个进程

ps aux |awk '{if(NR!=1) print $11,$3}' |sort -k2 -rn | head -10

查看系统运行了多长时间

uptime | awk '{print $3}' | awk -F"," '{print $1}'

查询当前目录下的包含XXX字符串的文件

find . | xargs grep "XXX" -l

批量替换当前目录下文件内容(例如把void main替换成int main)

sed -i "s/void\ main/int\ main/" `grep "main" -rl *`

批量删除多级目录下同一格式的文件

find 目录名 -type f -name "*.java" -exec rm -f {} \;




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值