Linux实验2

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



配置JDK环境 CentOS   

Shell脚本在CentOS环境下自动安装JDK 

说说我自己的实验步骤:

首先,我把代码复制到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 !"  

—————————————————————————————————————————————————————————

Linux 中 Shell 判断环境变量是否存在

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编译安装与简易配置

解决编译apache出现的问题:configure: error: APR not found . Please read the documentation


shell脚本:一键安装LAMP、LNMP脚本

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的测试页面无法访问

CentOS7 检查 Apache是否正常运行

CentOS7 apache源码安装详细过程


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
一、 实验目的 1、 通过实验了解和熟悉Linux文件系统 2、 掌握文件操作命令 3、 了解文件与目录的默认权限,掌握文件权限的设置 4、 掌握文件的链接 二、 开发工具和运行环境 1、虚拟机VMware 2、Linux操作系统 三、 实验内容 1、了解和熟悉Linux文件系统 了解Linux文件系统、文件命名、文件类型和常见目录:根目录(/)、 .bin、boot、dev、etc、home、Lib、lost+found、 opt、root、 usr、mnt、proc、sbin、 tmp、 var. 2、文件操作命令: (文件和目录名自拟、自行设计实验步骤) (1) 1s: 显示目录内容 -a显示指定目录下所有的目录与文件 -1以 长格式显示文件的详细信息。 -d显示目录本身信息 i显示索引号 (2) cd:改变当前工作目录 格式: cd [目录名] cd .. 上移- -层目录(注意,需要有空格) cd 移到自己的主目录 (3) cat: 查看文件信息命令 显示文件信息:格式: cat [选项]文件名 -n输出编号 建立文件: cat>新文件名ctrl+d 合并文件: cat 文件1文件2>新文件 (4) more: 逐屏显示文件内容 格式: more 文件名 (5) cp:复制命令 格式: cp [选项] 源文件或目录目标文件或目录 同时可以复制多个文件 -f 出现覆盖情况不提示 -p复制后,保持原有属性。目标文件保持原有的生成日期和inode编号 -r 复制目录及目录下的文件 普通用户并不能进行这样的操作,只能切换到root用户然后进行-r的递归复制。 (6) rm: 删除文件与目录 格式: mv [选项] 文件名或目录名 -f删除时不提示 -r 删除目录及目录下的文件(常用: -rf ) (7) mv: 文件移动及改名命令 格式: mv [选项]源文件或目录 目 标文件或目录 -f覆盖文件时 不提示 (8) grep: 文件信息检索命令 格式: grep [选项]字符串 [文件 ... ] -i 不区分大小写 (9) sort: 排序命令 格式: sort [选项][文件列表] (10) mkdir 创建目录命令 格式: mkdir [选项] [目录名] 可以同时创建多个目录 p :递归创建目录 -m:创建目录的时候赋予权限 (11) rmdir删除“空”目录命令 格式: rmdir [选项] [目录名] 注意:目录为空才能删除;否则需采用rm - r来删除。 p :递归删除目录,删除子目录,其父目录为空时,也同时删除3、文件权限的设置: (文件和目录名自拟、自行设计实验步骤) 文件的属主与属组 (1) chown [选项] [所有者][:[组]] 文件列表 更改每个文件的所有者和/或所属组。 字母模式形式即“用户对象操作符号操作权限”,其命令格式为:(2) chmod [选项]模式[,模式]文件名 +:添加-:取消=:赋予并取消其他所有 数字形式即由三位八进制数字组成,其命令格式为: chmod八进制模式 文件名 文件的特殊权限: SUID、 SGID 和Sticky 4、文件的链接: (文件和目录名自拟、自行设计实验步骤) (1)硬链接:不带选项,ln命令创建硬链接。在另外的目录或本目录中增加目标文件的一个目录项,一个文件就登记在多个目录中 1n源文件目标文件 (2)软链接(符号链接):用“1n -s”命令建立符号链接时,最好源文件用绝对路径名,这样可以在任何工作目录下进行符号链接。类似于Windows系统中的快捷方式。 In -s源文件目标文件

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值