搭建Java-EE 环境
如果需要在Linux下进行JavaEE 的开发,我们需要安装如下软件
16.2 安装 JDK
16.2.1 安装步骤
1) mkdir /opt/jdk
2) 通过xftp6 上传到 /opt/jdk 下
3) cd/opt/jdk
4)解压 tar -zxvf jdk-8u261-1inux-x64.tar.gz
5)mkdir /usr/local/java
6) mv /opt/jdk/jdk1.8.0_261 /usr/local/java
7)配置环境变量的配置文件 vim /etc/profile
8)export JAVA_HOME=/usr/local/java/jdk1.8.0_261
9) export PATH=$JAVA_HOME/bin:$PATH
10) source /etc/profile[让新的环境变量生效]
17章 大数据-Shell 编程
17.2 Shell是一个命令行解释器,它为用户提供了一个向Linux内核发送请求以便运行程序的界面系统级程序,用户可以用Shell来启动、挂起、停止甚至是编写一些程序。
17.3.1 脚本格式要求
l)脚本以#!/bin/bash 开头
2)脚本需要有可执行权限
17.3.2 编写第一个Shell脚本
需求说明:创建一个 Shell 脚本,输出 hello world!
vim hello.sh
#!/bin/bash
echo "hello,world~"
17.3.3 脚本的常用执行方式
方式 1(输入脚本的绝对路径或相对路径)
说明: 首先要赋予 helloworld.sh脚本的+x权限,再执行脚本
比如 ./hello.sh 或者使用绝对路径 /root/shcode/hello.sh
方式2(sh+脚本)
说明:不用赋予脚本+x权限,直接执行即可。
比如 sh hello.sh,也可以使用绝对路径
17.4 Shell 的变量
17.4.1 Shell 变量介绍
1)Linux Shell 中的变量分为,系统变量和用户自定义变量。
2)系统变量:$HOME、$PWD、$SHELL、$USER 等等,比如:echo $HOME 等等.
3)显示当前 shell 中所有变量:set
17.4.2 shell 变量的定义
基本语法
1)定义变量: 变量名=值
2) 撤销变量:unset 变量
3) 声明静态变量: readonly 变量,注意:不能 unset
快速入门
#!/bin/bash
A=100
#输出变量需要加上$
echo A=$A
echo"A=$A"
2)案例 2:撤销变量A
unset A
echo "A=$A"
3) 案例 3:声明静态的变量 B=2,不能 unset
echo "B=$B"
#unset B
#将指令返回的结果赋给变量
:<<!
C=`date'
D=$(date)
echo "C=$C"
echo "D=$D"
!
#使用环境变量TOMCAT HOME
echo "tomcat_home=$TOMCAT_HOME"
17.4.3 shell 变量的定义
√ 定义变量的规则
1)变量名称可以由字母、数字和下划线组成,但是不能以数字开头。5A=200(×)
2)等号两侧不能有空格
3)变量名称一般习惯为大写,这是一个规范,我们遵守即可
√将命令的返回值赋给变量
1)A='date' 反引号,运行里面的命令.并把结果返回给变量A
2)A=$(date)等价于反引号
17.5 设置环境变量
17.5.1 基本语法
1) export 变量名=变量值 (功能描述:将 shell 变量输出为环境变量/全局变量)
2) source 配置文件 (功能描述:让修改后的配置信息立即生效)
3) echo $变量名 (功能描述:查询环境变量的值)
4)示意 i
17.5.2快速入门
1)在/etc/profile 文件中定义 TOMCAT_HOME 环境变量
2查看环境变量 TOMCAT HOME 的值
3)在另外一个 shell 程序中使用TOMCAT_HOME
注意:在输出 TOMCAT HOME 环境变量前,需要让其生效source /etc/profile
17.6 位置参数变量
17.6.1介绍
当我们执行一个 shell脚本时,如果希望获取到命令行的参数信息,就可以使用到位置参数变量
比如:/myshell.sh 100 200,这个就是一个执行 shell 的命令行,可以在 myshell脚本中获取到参数信息
17.6.2 基本语法
$n(功能描述:n为数字,$0代表命令本身,$1-$9代表第一到第九个参数,十以上的参数,十以上的参数需要用大括号包含,如${0} )
$* (功能描述:这个变量代表命令行中所有的参数,S*把所有的参数看成一个整体)
$@(功能描述:这个变量也代表命令行中所有的参数,不过$@把每个参数区分对待)
$#(功能描述:这个变量代表命令行中所有参数的个数)
***位置参数变量
案例:编写一个 shell 脚本 position.sh ,在脚本中获取到命令行的各个参数信息。
17.8 运算符
17.8.1 基本介绍
学习如何在 shell 中进行各种运算操作。
17.8.2 基本语法
1) “$((运算式))”或“$[运算式]”或者 expr m + n //expression 表达式
2)注意 expr 运算符间要有空格,如果希望将 expr 的结果赋给某个变量,使用 ``
3) expr m -n
4)expr \* / % 乘,除,取余
17.8.3 应用实例 oper.sh
案例1:计算(2+3)X4 的值
案例 2:请求出命令行的两个参数[整数]的和20 50
17.9 条件判断
17.9.1 判断语句
基本语法
[condition](注意 condition 前后要有空格)
#非空返回 true,可使用$?验证(0 为 true,>1 为 false)
应用实例
[hspEdu] 返回true
[] 返回false
[condition] && echo OK || echo notok 条件满足,执行后面的语句
判断语句
常用判断条件
1)=字符串比较
2)两个整数的比较
-It 小于
-le 小于等于
-eq 等于
-gt 大于
-ge 大于等于
-ne 不等于
3)按照文件权限进行判断
-r 有读的权限
-w 有写的权限
-x 有执行的权限
4)按照文件类型进行判断
-f 文件存在并且是一个常规的文件
-e 文件存在
-d 文件存在并是一个目录
4) 应用实例
案例2: 23是否大于等于 22
判断语句:使用-ge
案例 3: /root/shcode/aaa.txt 目录中的文件是否存在
判断语句:使用-f
17.10 流程控制
17.10.1
if 判断 的 基本语法
if[条件判断式]
then
代码
fi
或者,多分支
if[ 条件判断式 ]
then
代码
elif[ 条件判断式 ]
then
代码
fi
注意事项:[ 条件判断式 ],中括号和条件判断式之间必须有空格
应用实例 ifCase.sh
案例:请编写一个shelI 程序,如果输入的参数,大于等于60,则输出“及格了",如果小于60,则输出"不及格"
17. 10.2 case语句
基本语法
case $变量名 in
"值1")
如果变量的值等于值1.则执行程序1
;;
;值2;)
如果变量的值等于值2.则执行程序2
;;
...省略其他分支...
*)
如果变量的值都不是以上的值,则执行此程序
;;
esac
应用实例 testCast..sh
案例1: 当命令行参数是1时,输出"周一",是2时,就输出"周二",其他情况输出"other"
17.10.3 for循环
基本语法1
for 变量 in 值1 值2 值3...
do
程序/代码
done
应用实例 testFor1.sh
案例1: 打印命令行输入的参数[这里可以看出$* 和 $@的区别]
基本语法2
for((初始值;循环控制条件:变量变化))
do
程序/代码
done
应用实例 testFor2.sh
案例1: 从1加到100的值的输出显示
17.10.4 while循环
基本语法1
while[条件判断式]
do
程序/代码
done
注意: while和 [有空格,条件判断式和[也有空格
应用实例 testWhile.sh
案例1 : 从命令行输入一个数n, 统计从 1+..+n 的值是多少?
17.11 read读取控制台输入
17.11.1 基本语法
read(选项)(参数)
选项:
-p: 指定读取值时的提示符;
-t: 指定读取值时等待的时间(秒),如果没有在指定的时间内输入,就不再等待了
参数
变量: 指定读取值的变量名
17.11.2 应用实例 testRead.sh
案例1: 读取控制台输入一个NUM1值
案例2:读取控制台输入一个NUM2值, 在10秒内输入.
17.12 函数
17.12.1 函数介绍
shelI编程和其它编程语言一样,有系统函数,也可以自定义函数。
17.12.2 系统函数
basename 基本语法
功能:返回完整路径最后 / 的部分,常用于获取文件名
basename [pathname] [suffix]
bascnamc [string][suffix] (功能描述:bascname 命令会删掉所有的前缀包括最后一个('/')字符,然后将字符串显示出来.
选项:
suffix 为后缀,如果 suffix 被指定了,bascname 会将 pathname 或 string 中的 suffix 去掉。
应用实例
案例1 : 请返回 /home/aaa/test.txt 的 "test.txt' 部分
basename/ home/aaa/test.txt
dirname 基本语法
功能: 返回完整路径最后 / 的前面的部分, 常用于返回路径部分
dirname 文件绝对路径 (功能描述: 从给定的包含绝对路径的文件名中去除文件名 (非目录的部分),
然后返回剩下的路径(目录的部分) )
应用实例
案例1 : 请返回 /home/aaa/test.txt 的 /home/aaa
dirname /home/aaa/test.txt
17.12.3 自定义函数
基本语法
[ function ] funname[()]
{
Action;
[return int ;]
}
调用直接写函数名: funname [ 值 ]
应用实例
案例1: 计算输入两个参数的和(动态的获取), getSum
代码
Python 开发平台Ubuntu
18.3 设置Ubuntu支持中文
18.4 Ubuntu 的 root 用户
18.4.1 介绍
安装ubuntu 成功后,都是普通用户权限,并没有最高 root 权限,如果需要使用root 权限的时候,通常都会在命令前面加上sudo
我们一般使用 su 命令来直接切换到 root 用户的,但是如果没有给 root 设置初始密码,就会抛出 su:Authenticationfailure这样的问题。所以,我们只要给root 用户设置一个初始密码就好了
18.4.2给root 用户设置密码并使用
l)输入 sudo passwd 命令,设定 root 用户密码。
2)设定 root 密码成功后,输入su 命令,并输入刚才设定的 root密码,就可以切换成 root 了。提示符S代表一般用户,提示符#代表 root用户。
3)以后就可以使用root用户了
4)输入exit 命令,退出 root并返回一般用户
18.5 Ubuntu下开发Python
18.5.1说明
安装好 Ubuntu后,默认就已经安装好Python 的开发环境。
apt软件管理和远程登录
apt 是Advanced Packaging Tool 的简称,是一款安装包管理工具。在 Ubuntu 下,我们可以使用 apt 命令进行软件包的安装、删除、清理等,类似于Windows中的软件管理工具
unbuntu软件管理的原理示意图