为了账号安全,请及时绑定邮箱和手机立即绑定
  • #OS type 操作系统类型(GNU/Linux) os=$(umame -o) #OS version 操作系统版本(Red Hat Enterprise Linux Server release 6.5 (Santiago)) version=$(cat /etc/issue|grep -e "Server") #OS architecture 硬件运行系统的机器 ID 号(x86_64) architecture=$(uname -m) #Kernel Release 操作系统的发行版号(3.2.35) kernelrelease=$(uname -r) #hostname 节点名称(xulianzhen) hostname=$(uname -n) #Internal IP 内网ip(192.168.15.128) internalip=$(hostname -I) #External IP 出口ip(123.58.141.68) externalip=$(curl -s http://ipecho.net/plain) #DNS(192.168.130.32) nameservers=$(cat /etc/resolv.conf | grep -E "\<nameserver[ ]+" | awk '{print $NF}') #check connected to Internet 查询是否连接互联网(Internet:Connected) ping -c 2 imooc.com &>/dev/null && echo "Internet:Connected" || echo "Internet:Disconnected" #check Logged In Users(查看当前登录用户) who>/tmp/who
    查看全部
  • free -m #查看当前系统内存使用情况,读取的是/proc/meminfo 里面的信息 #total : 代表全部的内存 #used : 已经使用的内存 #free : 剩余的内存 #shared : 共享内存 #buffers 和 cached : 代表文件打开的缓存 #-/+ buffers/cache : 代表应用占用内存使用情况 cache : 主要用于文件打开的缓存,使用最少使用原则(LRU) buffer: 分缓存主要用于目录项,inode节点等文件系 ,使用先进先出原则(FIFO) (cache过大,代表打开的文件数量多,打开文件较频繁;buffer过大代表inode节点过大) 系统使用内存 = total -free 应用使用内存 = total - free - cached - buffers 即 used - cached -buffers awk '/^MemTotal.*$/{total=$2}/^MemFree.*$/{free=$2}END{print (total-free)/1024}' /proc/meminfo awk '//{}' #//代表了,正则表达式在awk中如何使用 #awk{}中变量引用时不用加$符号,而且四则运算不用(())双括号
    查看全部
  • #OS type os=$(umame -o) #OS version version=$(cat /etc/issue|grep -e "Server") #OS architecture architecture=$(uname -m) #Kernel Release kernelrelease=$(uname -r) #hostname hostname=$(uname -n) #Internal IP #External IP
    查看全部
  • hao
    查看全部
    1 采集 收起 来源:[Linux]脚本优化

    2015-11-25

  • 1. cat /proc/meminfo 目录下可以看系统监控信息 2. awk执行中不能用echo,要用print 3. awk中的变量数值可以直接计算,不需要加$(),而且计算准确到浮点型 4. awk '/abc/{执行动作一}' 文件名: 指提取含有abc字符串的行,然后执行后面的动作 5. 注意在/proc/meminfo下截取"cached"发现结果有两个,要注意筛选
    查看全部
  • 抄的: #!/bin/bash clear if [[ $# -eq 0 ]] #判断位置参数的个数是否为0 then reset_terminal=$(tput sgr0) #设置变量,每次调用它都会使屏幕的输出恢复正常 #Check OS Type os=$(uname -o) echo -e '\E[36m'"Operating System Type: " $reset_terminal $os #Check OS Release Version and Name os_name=$(cat /etc/issue) echo -e '\E[36m'"Check OS Release Version and Name: " $reset_terminal $os_name #Check Architecture architecture=$(uname -m) echo -e '\E[36m'"Check Architecture: " $reset_terminal $architecture #Check Kernel Release kernerrelease=$(uname -r) echo -e '\E[36m'"Check Kernel Release: " $reset_terminal $kernerrelease #Check Hostname hostname=$(uname -n) echo -e '\E[36m'"Check Hostname: " $reset_terminal $hostname #或者 echo $(HOSTNAME)
    查看全部
    1 采集 收起 来源:[Linux]脚本优化

    2018-03-22

  • #!/bin/bash #系统内存分析脚本 clear if [[ $# -eq 0 ]] then #Define Variable reset terminal reset_terminal=$(tput sgr0) system_mem_usages=$(awk '/MemTotal/{total=$2}/MemFree/{free=$2}END{print (total-free)/1024}' /proc/meminfo) app_mem_usages=$(awk '/MemTotal/{total=$2}/MemFree/{free=$2}/^Cached/{cached=$2}/Buffers/{buffers=$2}END{print (total-free-cached-buffers)/1024}' /proc/meminfo) echo -e '\E[32m'"Operating System Memuserages :" $reset_terminal $system_mem_usages echo -e '\E[32m'"Operating System App Memuserages :" $reset_terminal $app_mem_usages fi
    查看全部
  • if [ $# -eq 0 ]; then #$1,$2等等分别表示第一个、第二个参数 #$@, $*表示所有的参数 #$#表示位置参数的数目(对脚本来说,是运行脚本时所带的参数;对函数来说,是函数调用时传入的参数)。数值的比较用 -eq ,字符串的比较才用 = #脚本的意思就是判断是否有参数,如果没有的话执行then后面的命令
    查看全部
    1 采集 收起 来源:概述

    2016-10-08

  • shell典型应用之系统信息及运行状态获取 脚本:system_monitor.sh 功能:提取操作系统信息(内核、系统版本、网络地址等),分析系统的运行状态(cpu负载、内存及磁盘使用率等) 1.脚本内容: #!/bin/bash clear if [[ $# -eq 0 ]] #判断位置参数的个数是否为0 then reset_terminal=$(tput sgr0) #设置变量,每次调用它都会使屏幕的输出恢复正常 #Check OS Type os=$(uname -o) echo -e '\E[36m'"Operating System Type: " $reset_terminal $os #Check OS Release Version and Name os_name=$(cat /etc/issue) echo -e '\E[36m'"Check OS Release Version and Name: " $reset_terminal $os_name #Check Architecture architecture=$(uname -m) echo -e '\E[36m'"Check Architecture: " $reset_terminal $architecture #Check Kernel Release kernerrelease=$(uname -r) echo -e '\E[36m'"Check Kernel Release: " $reset_terminal $kernerrelease #Check Hostname hostname=$(uname -n) echo -e '\E[36m'"Check Hostname: " $reset_terminal $hostname #或者 echo $(HOSTNAME)
    查看全部
    1 采集 收起 来源:[Linux]脚本优化

    2018-03-22

  • #Check Internal IP internalip=$(hostname -I) echo -e '\E[36m'"Check Internal IP: " $reset_terminal $internalip #Check External IP externalip=$(curl -s http://ipecho.net/plain) echo -e '\E[36m'"Check External IP: " $reset_terminal $externalip #通过curl命令发出网络请求,返回自己的公网IP #Check DNS nameservers=$( cat /etc/resolv.conf grep -E "\<nameserver[ ]+" awk '{print $NF}') echo -e '\E[36m'"Check DNS: " $reset_terminal $nameservers #grep -E 相当于egrep,扩展正则;匹配以nameserver开头后面为空的字符串,打印$NF(空格)后面的字符串 #Check if connected to Internet or not ping -c 2 baidu.com &>/dev/null && echo "Internet:Connected" echo "Internet:Disconnected" #输出到空设备回收站中,不显示任何输出 #Check Logged In Users who>/tmp/who echo -e '\E[36m' "Logged In Users" $reset_terminal && cat /tmp/who rm -f /tmp/who fi
    查看全部
    1 采集 收起 来源:[Linux]脚本优化

    2018-03-22

  • 接下面笔记的代码 #Check Internal IP internalip=$(hostname -I) echo -e '\E[36m'"Check Internal IP: " $reset_terminal $internalip #Check External IP externalip=$(curl -s http://ipecho.net/plain) echo -e '\E[36m'"Check External IP: " $reset_terminal $externalip #通过curl命令发出网络请求,返回自己的公网IP #Check DNS nameservers=$( cat /etc/resolv.conf grep -E "\<nameserver[ ]+" awk '{print $NF}') echo -e '\E[36m'"Check DNS: " $reset_terminal $nameservers #grep -E 相当于egrep,扩展正则;匹配以nameserver开头后面为空的字符串,打印$NF(空格)后面的字符串 #Check if connected to Internet or not ping -c 2 baidu.com &>/dev/null && echo "Internet:Connected" echo "Internet:Disconnected" #输出到空设备回收站中,不显示任何输出 #Check Logged In Users who>/tmp/who echo -e '\E[36m' "Logged In Users" $reset_terminal && cat /tmp/who rm -f /tmp/who fi
    查看全部
    1 采集 收起 来源:[Linux]脚本优化

    2018-03-22

  • shell典型应用之系统信息及运行状态获取 脚本:system_monitor.sh 功能:提取操作系统信息(内核、系统版本、网络地址等),分析系统的运行状态(cpu负载、内存及磁盘使用率等) 1.脚本内容: #!/bin/bash clear if [[ $# -eq 0 ]] #判断位置参数的个数是否为0 then reset_terminal=$(tput sgr0) #设置变量,每次调用它都会使屏幕的输出恢复正常 #Check OS Type os=$(uname -o) echo -e '\E[36m'"Operating System Type: " $reset_terminal $os #Check OS Release Version and Name os_name=$(cat /etc/issue) echo -e '\E[36m'"Check OS Release Version and Name: " $reset_terminal $os_name #Check Architecture architecture=$(uname -m) echo -e '\E[36m'"Check Architecture: " $reset_terminal $architecture #Check Kernel Release kernerrelease=$(uname -r) echo -e '\E[36m'"Check Kernel Release: " $reset_terminal $kernerrelease #Check Hostname hostname=$(uname -n) echo -e '\E[36m'"Check Hostname: " $reset_terminal $hostname #或者 echo $(HOSTNAME)
    查看全部
    1 采集 收起 来源:[Linux]脚本优化

    2018-03-22

  • /dev/null 2>&1这条命令的意思是将标准输出和错误输出全部重定向到/dev/null中,即将产生的所有信息丢弃. command > file 2>file VS command > file 2>&1 首先 command > file 2>file 的意思是将命令所产生的标准输出信息,和错误的输出信息送到file中 command > file 2>file 这样的写法,stdout和stderr都直接送到file中, file会被打开两次,这样stdout和stderr会互相覆盖,这样写相当使用了FD1和FD2两个同时去抢占file 的管道.而command >file 2>&1 这条命令就将stdout直接送向file, stderr 继承了FD1管道后,再被送往file,此时,file 只被打开了一次,也只使用了一个管道FD1,它包括了stdout和stderr的内容.从IO效率上,前一条命令的效率要比后面一条的命令效率要低 关于shell中:>/dev/null 2>&1 详解 1:> 代表重定向到哪里,例如:echo "123" > /home/123.txt 2:/dev/null 代表空设备文件 3:2> 表示stderr标准错误 4:& 表示等同于的意思,2>&1,表示2的输出重定向等同于1 5:1 表示stdout标准输出,系统默认值是1,所以">/dev/null"等同于 "1>/dev/null" 因此,>/dev/null 2>&1也可以写成“1> /dev/null 2> &1” PS:Command >/dev/null 2>&1 相当于stdout="/dev/null" stderr="$stdout" 这时,stderr也等于"/dev/null"了 结果是标准输出和标准错误都指向了/dev/null, 也就是所有的输出都被我们丢弃 Command 2>&1 >/dev/null 相当于stderr="$stdout" stderr指向了屏幕,因为stdout这时还是指向屏幕!stdout="/dev/null" stdout指向了/dev/null,但不会影响到 stderr的指向 结果是标准错误仍然被打印到屏幕上, 而标准输出被丢弃A=100; B=A和 B=A, A=100
    查看全部
    1 采集 收起 来源:概述

    2018-03-22

  • 内存中cache和buffer的区别
    查看全部
  • 系统使用的内存和应用使用的内存的区别
    查看全部
首页上一页1234567下一页尾页

举报

0/150
提交
取消
课程须知
学习本课程前需要熟悉Linux的基础知识,熟练使用VIM文本编辑器,并对shell基础有所了解。作为《shell典型应用》系列的第二门课程,请先学习《Shell典型应用之主控脚本实现》。
老师告诉你能学到什么?
1、能够进一步了解shell基础。 2、能够使用shell脚本提取Linux操作系统信息。 3、能够使用shell脚本分析系统的运行状态。

微信扫码,参与3人拼团

意见反馈 帮助中心 APP下载
官方微信
友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!