软件安装和管理

软件包

1、bin文件.bin bin直接运行就是安装

2、rpm包 已经编译之后的应用程序。

3、源码压缩包

安装软件的步骤:

1、检查是否已经安装

rpm -qa | grep jdk

2、下载软件包

3、安装

依赖 rpm不能解决安装过程中的依赖问题, yum可以解决

解决依赖问题

java中通过maven解决

linux中通过yum解决

yum在下载目标程序的同时,会将依赖程序一起下载

rpm安装:1、安装

rpm -i /PATH/TO/PACKAGE_FILE

-h: 以#显示进度;每个#表示2%;

-v: 显示详细过程

-vv: 更详细的过程

rpm -ivh /PATH/TO/PACKAGE_FILE

--nodeps: 忽略依赖关系;

shell编程:脚本编程

脚本:命令的堆砌。

shell :弱类型、 解释型语言

解释器:bash

脚本的执行

方法一 ./filename

方法二 bash

bash -n shell文件 :检查文件是否有语法错误。

bash –x shell 文件 :debug 执行文件

变量

bash的变量类型:

环境变量

本地变量(局部变量)

位置变量

特殊变量:bash内置的用来保存某些特殊数据的变量。(也叫系统变量)

本地变量:只属于某一个bash的变量。

var_name=值

作用域:整个bash进程

局部变量:

local var_name =值,

作用域:当前代码段。

环境变量:

export 名字=值

作用域:当前的shell和其shell。

注意:脚本在执行时都会启动一个子shell进程:

命令行中启动的脚本会继承当前shell环境变量。

系统自动启动脚本(非命令行启动):则需要自我定义环境变量。

位置变量: 用于 脚本执行的参数,$1 表示第一个参数,以此类推

$1,$2….

特殊变量:

$? :上一个命令的执行状态返回值。 0表示成功 非0表示不成功

$# 传递到脚本的参数个数

$* 传递到脚本的参数,与位置变量不同,此选项参数可超过9个

$$ 脚本运行时当前进程的ID号,常用作临时变量的后缀,如 haison.$$

$! 后台运行的(&)最后一个进程的ID号

$@ 与$#相同,使用时加引号,并在引号中返回参数个数

$- 上一个命令的最后一个参数

$? 最后命令的退出状态,0表示没有错误,其他任何值表明有错误

撤销变量:

unset 变量名

查看变量

查看shell中变量:

set 命令

查看shell中的环境变量

printenv

env

export

引用变量:

${变量名},一般可以省略{} echo "${AA}s" 加了{}可以在后面加东西

单引号:强引用,不作变量替换

双引号:弱引用,做变量替换

反引号:``命令替换 echo "dir is `pwd`"

程序返回值:

执行结果

执行状态,$? : 0:表示正确,1-255:错误

输出重定向:

>覆盖重定向

>> 追加重定向

2> 错误覆盖重定向

2>>错误追加重定向

&> 全部重定向

条件判断:

条件表达式:

1. [ expression ]

1. test expression

整数比较:字符串的比较用==

-eq : 比如:[ $A –eq $B ]

不等于 -ne ,大于 -gt , 小于 -lt, 大于等于 -ge, 小于等于-le

命令的逻辑关系:

在linux 中 命令执行状态:0 为真,其他为假

逻辑与: && 前面一个成立才执行后面一个

第一个条件为假时,第二条件不用再判断,最终结果已经有;

第一个条件为真时,第二条件必须得判断;

逻辑或: || 前面一个不成立才执行后面一个

逻辑非: !

命令执行的状态 的逻辑关系

实例:

新增用户并且设置用户密码,密码和用户名一致

shell编程工具完整免费版(119软件安装)(1)

两层逻辑判断

求三个数的最大值

控制结构:

If 条件 ;then

语句

elif 条件 ; then

语句

else

语句

fi

-a : 逻辑与,并且 : if [ $# -gt 1 –a $# -lt 3 –o $# -eq 2 ] ; then

-o :或者

根据输入的用户名判断是管理员还是普通用户

根据历史记录数提示:

算术运算

1. let 算术运算表达式

let C=$A $B

2、$[算术表达式]

C = $[$A $B]

3、$((算术表达式))

C=$(($A $B))

1. expr 算术表达式 ,注意:表达式中各操作数及运算符之间要有空格。而且要使用命令引用

C=`expr $A $B`

练习:给定一个用户,获取其密码警告期限,然后判断用户密码使用期限是否已经小于警告期限,如果小于,则是显示"WARN" ,否则显示密码还有多少天到期。

shell编程工具完整免费版(119软件安装)(2)

测试方法:

[ 表达式 ]

[[ 表达式 ]]

test 表达式

INT1=33

INT2=32

[ $INT1 -eq $INT2 ]

[[ $INT1 -eq $INT2 ]]

test $INT1 -eq $INT2

测试文件:

[ ] 需要中括号

-e FILE :测试文件是否存在

-f FILE :测试文件是否为普通文件

-d FILE :测试文件是否为目录

-r 读权限

-w 写权限

-x 可执行权限

字符串测试:

== 等号两端需要空格

!=

-n string : 判断字符串是否为空

-s string : 判断字符串是否不空

练习: 判断当前主机的CPU生产商,(其信息保存在/proc/cupinfo文件中)。

shell编程工具完整免费版(119软件安装)(3)

shell编程工具完整免费版(119软件安装)(4)

循环:for循环

进入条件,退出条件

for 变量 in 列表 ; do

语句

done

比如: for I in 1 2 3 4 5 ;do

语句

done、

如何生成列表:

1、{1..100}

2、seq [起始数] [跨度数] 结束数

3、ls /etc 文件列表

练习:给定三个用户名,将此些用户的帐号信息提取出来,后放入/tmp/test.txt文件中,并给定行号。在行首。

shell编程工具完整免费版(119软件安装)(5)

练习:依次向/etc/passwd中的每个用户问好:hello 用户名,并显示用户的shell:

shell编程工具完整免费版(119软件安装)(6)

while 循环

格式一

while 条件;do

语句

[break]

done

格式二 死循环

while true

do

语句

done

格式三 死循环

while :

do

语句

done

格式四 死循环

while [ 1 ]

do

语句

done

格式五 死循环

while [ 0 ]

do

语句

done

case 语句

case 变量 in

value1)

语句

;;

value2)

语句

;;

*)

语句

;;

esac

change –m 10 root

找出最大文件

shell编程工具完整免费版(119软件安装)(7)

ping

shell编程工具完整免费版(119软件安装)(8)

shell编程工具完整免费版(119软件安装)(9)

,