Linux系统有哪些常用的组合命令
命令是Linux系统的根基,而有时候单个命令不能实现复杂功能时候,我们可以用组合命令实现。下面由学习啦小编为大家整理了Linux系统组合命令的常见使用方式,希望对大家有帮助!
Linux系统常用的组合命令说明
Linux组合命令使用
1,杀死某个执行某个程序的进程
ps -ef | grep MultiThreadPrint.bin | awk '{ print $2; }' | xargs kill -9
2,找出文本文件的记录中主键不重复的条数
awk -F'|' '{print $1}' | sort | uniq | wc -l
3,压缩文件时排除某些目录
tar -czvf test.tar.gz test--exclude=test/data --exclude=test/dir
4,定时全库导出Oracle的脚本,一度在oracle下创建定时任务,不能搞定环境变量的问题,后来在root用户下创建定时任务,再
su - oracle -c “export outfile=`date +%Y%m%d_%H%M`;exp system/manager@testdb full=y file=wostore.db${outfile}.dmp;gzip *.dmp;",搞定问题
5,HP-UX下计算Oracle链接数
netstat -na | grep .1521 | wc -l
6,给网卡增加绑定的IP
ifconfig bond0:0 10.95.98.45 netmask 255.255.255.128 up
7,服务器抓包
tcpdump -i bond0 -s 0 port 9999 -w test.cap
8,查询cpu占用率最高的Java线程
a,设置环境变量允许产生core文件,ulimited -c 2048000000
b,在日志文件中打印堆栈信息,kill -3 pid
c,查询cpu占用率最高的线程ps h -eo user,pid,ppid,tid,time,%cpu,cmd --sort=%cpu
d,将线程号转成16进制,在日志文件的堆栈信息中找到对应的线程的堆栈信息。
8,查找CPU占用率最高的线程
ps -eLf | sort -k 9,9
9,从文件夹中找含有指定字符串的文件
find ./ -name *.log | xargs grep "ERROR"
10,查找文件大于10M的文件,并显示其文件大小
find ./ -size +10240k -exec ls -l {} /;
11,从文件某行截取到末尾
awk 'n==1{print} $0~/-------------/{n=1}' yourfile
grep -A 100 "\------" yourfile | grep -v "\-----"
sed -n '/-------------/,$ p' yourfile
Linux系统里常用的组合命令
任务
命令组合
1
删除0字节文件
find . -type f -size 0 -exec rm -rf {} \;
find . type f -size 0 -delete
2
查看进程,按内存从大到小排列
ps -e -o "%C : %p : %z : %a"|sort -k5 -nr
3
按cpu利用率从大到小排列
ps -e -o "%C : %p : %z : %a"|sort -nr
4
打印说cache里的URL
grep -r -a jpg /data/cache/* | strings | grep "http:" | awk -F'http:' '{print "http:"$2;}'
5
查看http的并发请求数及其TCP连接状态
netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'
6
sed在这个文里Root的一行,匹配Root一行,将no替换成yes。
sed -i '/Root/s/no/yes/' /etc/ssh/sshd_config
7
如何杀掉mysql进程
ps aux |grep mysql |grep -v grep |awk '{print $2}' |xargs kill -9
killall -TERM mysqld
kill -9 `cat /usr/local/apache2/logs/httpd.pid`
8
显示运行3级别开启的服务(从中了解到cut的用途,截取数据)
ls /etc/rc3.d/S* |cut -c 15-
9
如何在编写SHELL显示多个信息,用EOF
cat << EOF
+--------------------------------------------------------------+
| === Welcome to Tunoff services === |
+--------------------------------------------------------------+
EOF
10
for的用法(如给mysql建软链接)
cd /usr/local/mysql/bin
for i in *
do ln /usr/local/mysql/bin/$i /usr/bin/$i
done
11
取IP地址
ifconfig eth0 |grep "inet addr:" |awk '{print $2}'|cut -c 6-
ifconfig | grep 'inet addr:'| grep -v '127.0.0.1' |cut -d: -f2 | awk '{ print $1}'
12
内存的大小
free -m |grep "Mem" | awk '{print $2}'
13
查看80端口的连接,并排序
netstat -an -t | grep ":80" | grep ESTABLISHED | awk '{printf "%s %s\n",$5,$6}' | sort
14
查看Apache的并发请求数及其TCP连接状态
netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'
15
统计一下服务器下面所有的jpg的文件的大小
find / -name *.jpg -exec wc -c {} \;|awk '{print $1}'|awk '{a+=$1}END{print a}'
16
CPU的数量
cat /proc/cpuinfo |grep -c processor
17
CPU负载
cat /proc/loadavg
18
CPU负载
mpstat 1 1
19
内存空间
free
20
磁盘空间
df -h
21
如发现某个分区空间接近用尽,可以进入该分区的挂载点,用以下命令找出占用空间最多的文件或目录
du -cks * | sort -rn | head -n 10
22
磁盘I/O负载
iostat -x 1 2
23
网络负载
sar -n DEV
24
网络错误
netstat -i
cat /proc/net/dev
25
网络连接数目
netstat -an | grep -E “^(tcp)” | cut -c 68- | sort | uniq -c | sort -n
26
进程总数
ps aux | wc -l
27
查看进程树
ps aufx
28
可运行进程数目
vmwtat 1 5
29
检查DNS Server工作是否正常,这里以61.139.2.69为例
dig www.baidu.com @61.139.2.69
30
检查当前登录的用户个数
who | wc -l
31
日志查看、搜索
cat /var/log/rflogview/*errors
grep -i error /var/log/messages
grep -i fail /var/log/messages
tail -f -n 2000 /var/log/messages
32
内核日志
dmesg
33
时间
date
34
已经打开的句柄数
lsof | wc -l
35
网络抓包,直接输出摘要信息到文件。
tcpdump -c 10000 -i eth0 -n dst port 80 > /root/pkts
36
然后检查IP的重复数 并从小到大排序 注意 "-t\ +0" 中间是两个空格,less命令的用法。
less pkts | awk {'printf $3"\n"'} | cut -d. -f 1-4 | sort | uniq -c | awk {'printf $1" "$2"\n"'} | sort -n -t\ +0
37
kudzu查看网卡型号
kudzu --probe --class=network