2.设计一个Shell程序,查看当前系统上资源使用情况,将CPU使用最高的三个进程的名字和相关用户输出到终端,同时也将这些信息保存到/tmp/top3.info文件
Linux查看系统资源占用情况博文 https://blog.csdn.net/hu2010shuai/article/details/53021495
Linux(CentOS) 如何查看当前占用CPU或内存最多的K个进程
#!/bin/bash
ps -aux | sort -k4nr | head -n 3 | tee /tmp/top3.info
3.设计一个Shell程序,首先判断当前环境是否安装了JDK环境,已安装则显示安装路径和版本信息,没有就安装JDK环境;然后判断当前环境是否安装了httpd服务,已安装则显示安装路径和版本信息并将服务启动,没有安装就安装httpd,并启动
官网下载JDK
http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
说说我自己的实验步骤:
首先,我把代码复制到test5.sh文件中,然后通过ssh上传至Linux云服务器中,运行的时候报了一个错误:permission denied
也就是请求不被允许,我百度了一下,发现是我权限的问题,输入命令 chmod +x test5.sh 即可解决。
接着 我敲入命令 ./test5.sh 顺利执行了
本来我以为一切都很顺利
JDK下载的也很快
各种包的下载也很流畅
我欣喜若狂,赶紧找命令来检查是否真的安装、环境变量配置等工作就执行到位了
但,所有的喜悦在我输入 java -version 试图查看安装的jdk版本的那一刻起就消散了
终端提示 bash: no command
于是我上网开始查找原因,判断应该是环境变量没有配置成功的问题
So 我就开始了与环境变量配置死磕到底的漫漫长路
尝试了各种方法
做的最多的就是修改 ~/.bashrc ~/.profile这些配置文件
但..都没有效果 而且我在编辑 ~./bachrc文件的时候 在博主没有说按i进入编辑模式之后需要把光标移到最后一行再开始敲代码的情况下 我就脑子都不动一下地在原始的光标位置开始敲.. 结果就是 保存了之后出现各种莫名其妙的报错 更诡异的是我再次进入编辑试图把我加进去的内容给删掉时 delete键似乎也在和我作对... 一个下午的时间,我感觉我头顶布满了阴沉沉的乌云啊
今天早上起来,我按照这篇博客 bashrc文件中环境变量配置错误,导致linux无法正常使用的解决方案 一步步操作
然后再把这篇博客当中提到的配置环境变量的代码输入 CentOS7 配置JDK环境变量
千万不能忘记 recource ~/.bashrc 保存操作
最后在命令行敲下
java -version
功夫不负有心人,终于配置好了啊啊啊
—————————————————————————————————————————————————————————
#!/bin/bash
java_file="/usr/local/java"
if [ ! -d "$java_file" ];
then
mkdir $java_file
fi
cd /usr/local/java
if [ ! -f "jdk-8u131-linux-x64.tar.gz" ];
then
wget --no-check-certificate --no-cookies --header "Cookie: oraclelicense=accept-securebackup-cookie" http://download.oracle.com/otn-pub/java/jdk/8u131-b11/d54c1d3a095b4ff2b6607d096fa80163/jdk-8u131-linux-x64.tar.gz
fi
if [ ! -d "jdk1.8.0_131" ];
then
tar -xvf jdk-8u131-linux-x64.tar.gz
fi
#set environment
####以下这段代码对我的CentOS环境是无效的,但是室友在她电脑上跑是完全没问题的
export JAVA_HOME="/usr/local/java/jdk1.8.0_131"if ! grep "JAVA_HOME=/usr/local/java/jdk1.8.0_131" /etc/environment
then
echo "JAVA_HOME=/usr/local/java/jdk1.8.0_131" | sudo tee -a /etc/environment
echo "export JAVA_HOME" | sudo tee -a /etc/environment
echo "PATH=$PATH:$JAVA_HOME/bin" | sudo tee -a /etc/environment
echo "export PATH" | sudo tee -a /etc/environment
echo "CLASSPATH=.:$JAVA_HOME/lib" | sudo tee -a /etc/environment
echo "export CLASSPATH" | sudo tee -a /etc/environment
fi
source /etc/environment
echo "Congraduation! jdk has been installed successfully !"
—————————————————————————————————————————————————————————
java -version 2>&1 | awk 'NR==1{gsub(/"/,"");print $3}'
用 Shell 脚本获取 jdk版本
JAVA_VERSION=$(java -version 2>&1 | awk 'NR==1{gsub(/"/,"");print $3}')
echo "版本号为:$JAVA_VERSION"
echo "JDK的安装路径为:$JAVA_HOME"
apache安装前错误
configure: error: pcre-config for libpcre not found. PCRE is required and available from http://pcre.org/
报错:
AH00558: httpd: Could not reliably determine the server's fully qualified domain name, using 172.18.98.21. Set the 'ServerName' directive globally to suppress this message
CentOS 7:/etc/init.d/iptables: No such file or directory 解决
防火墙问题和阿里云安全设置问题导致apache的测试页面无法访问