您的位置:首页 > 运维架构 > Shell

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

2016-05-01 22:19 465 查看
批量修改后缀名(例如把当前目录下的.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


统计当前目录下某个文件中出现频率最高的十个单词(假定文件名为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 '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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: