shell 学习积累1

1.获取系统一分钟的平均负载,只取整数部分

[root@linux-node1 ~]# uptime |awk '{print $(NF-2)}'|cut -d. -f1
0

2.获取本机IP地址

[root@linux-node1 ~]# ifconfig |head -n2 |grep Mask|awk '{print $2}'|awk -F ':' '{print $2}'
10.89.7.12

3.统计连接状态 ESTABLISHED 和 LISTEN 的数量

[root@linux-node1 ~]# netstat -an |awk '/^tcp/ {print $6}'| sort | uniq -c
1 ESTABLISHED
7 LISTEN

4.统计所有进程占用的内存大小,并计算总和。

[root@linux-node1 ~]# ps aux |awk '{(sum=sum+$6)}; END{print sum}'
142532

5.写一个shell脚本来看看你最喜欢敲的命令是哪个?然后列出你最喜欢敲的命令top10。

[root@linux-node1 ~]# cat ~/.bash_history | sort| uniq -c| sort -rn | head
55 ll
31 exit
15 /etc/init.d/iptables status
14 /etc/init.d/iptables stop
13 ls
10 sh backup.sh
9 ll /backup/
8 halt
7 rsync -avz /data1/ rsync_backup@10.89.1.10::troy --password-file=/etc/rsync.password
6 route -n

6.统计当前有多少ip 访问量,包括tcp和udp 协议

[root@linux-node1 ~]# netstat -anp |egrep 'tcp|ndp' | awk '{print $5}' | wc -l
8

7.统计当前通过 80 端口建立连接的进程数量

[root@linux-node1 ~]# netstat -an |grep :80 |grep -ic established
0

8.判断Linux服务器是否开启了 web 服务

[root@linux-node1 ~]# netstat -lnp |egrep ':80' | awk -F '/' '{print $2}'
httpd

9.查看本地网卡名称

[root@linux-node1 ~]# ls /etc/sysconfig/network-scripts/ifcfg-* |awk -F '-' '{print $3}'
eth0
eth1
lo

10.查找/etc/ 文件名称以 init* 开头的文件

[root@linux-node1 ~]# find /etc/ -name init* -type f -exec ls -l {} ;
-rw-r--r--. 1 root root 130 May 11 2016 /etc/init/init-system-dbus.conf
-rw-r--r--. 1 root root 884 Jul 13 2016 /etc/inittab
-rw-r--r--. 1 root root 1154 Jul 13 2016 /etc/sysconfig/init
-rwxr-xr-x. 1 root root 4623 Apr 12 2016 /etc/sysconfig/network-scripts/init.ipv6-global
-rwxr-xr-x. 1 root root 4781 Oct 29 2009 /etc/kdump-adv-conf/kdump_initscripts/init
-rw-r--r--. 1 root root 0 May 11 2016 /etc/init.conf
-rw-r--r--. 1 root root 30 May 11 2016 /etc/selinux/targeted/contexts/initrc_context

11.列出Apache访问日志中,访问量前十的IP地址

awk '{print $1}' www_access_2018_09_20.log |sort|uniq -c|sort -rn|head -10

 12.由服务名称查端口号,由端口号查服务名称

[root@linux-node1 ~]# netstat -lntup |grep httpd
tcp 0 0 :::80 :::* LISTEN 1425/httpd
[root@linux-node1 ~]# ps -ef |grep httpd
root 1425 1 0 Sep14 ? 00:02:06 /usr/sbin/httpd
root 45653 44870 0 15:44 pts/0 00:00:00 grep httpd
apache 114927 1425 0 Oct07 ? 00:00:00 /usr/sbin/httpd
apache 114928 1425 0 Oct07 ? 00:00:00 /usr/sbin/httpd
apache 114929 1425 0 Oct07 ? 00:00:00 /usr/sbin/httpd
apache 114930 1425 0 Oct07 ? 00:00:00 /usr/sbin/httpd
apache 114931 1425 0 Oct07 ? 00:00:00 /usr/sbin/httpd
apache 114932 1425 0 Oct07 ? 00:00:00 /usr/sbin/httpd
apache 114933 1425 0 Oct07 ? 00:00:00 /usr/sbin/httpd
apache 114934 1425 0 Oct07 ? 00:00:00 /usr/sbin/httpd
[root@linux-node1 ~]# lsof -i :80
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
httpd 1425 root 4u IPv6 11011 0t0 TCP *:http (LISTEN)
httpd 114927 apache 4u IPv6 11011 0t0 TCP *:http (LISTEN)
httpd 114928 apache 4u IPv6 11011 0t0 TCP *:http (LISTEN)
httpd 114929 apache 4u IPv6 11011 0t0 TCP *:http (LISTEN)
httpd 114930 apache 4u IPv6 11011 0t0 TCP *:http (LISTEN)
httpd 114931 apache 4u IPv6 11011 0t0 TCP *:http (LISTEN)
httpd 114932 apache 4u IPv6 11011 0t0 TCP *:http (LISTEN)
httpd 114933 apache 4u IPv6 11011 0t0 TCP *:http (LISTEN)
httpd 114934 apache 4u IPv6 11011 0t0 TCP *:http (LISTEN)

原文地址:https://www.cnblogs.com/ahtornado/p/9778386.html