linux03
解包
tar -zxvf + 文件名
z:是否同时使用gzip压缩的
x:解包或者解压缩
v:可视化
f:后面跟文件名
打包
tar -cvf + 文件名(打包后的名字) + *.txt(格式名)
打包并压缩
tar -czf + 文件名(txt1.tar。gz)(打包后的名字) + *.txt(格式名)
c:简历tar包或者压缩包
配置linux环境变量
yum install vim 下载安装vim
vim + 文件名 创建并编辑文件
pwd 查看路径
/usr/java/jdk1.8.0_251
vim /etc/profile 在linux中进入环境变量
i 进入下一行
export JAVA_HOME=/usr/java/jdk1.8.0_251
export JRE_HOME=${JAVA_HOME}/jre
export CLASS_PATH=.:{JAVA_HOME}/lib:{JRE_HOME}/lib
export PATH = {JAVA_HOME}/bin:PATH
esc退出:wq
source /etc/profile
java 查看
shell脚本
新建并编辑hello-world.sh
[root@localhost ~]# vim hello-world.sh
- #! 是一个约定的标记,它告诉系统这个脚本需要什么解释器来执行,即使用哪一种Shell,这里指定bash
- echo 是Shell的一个内部指令,用于在屏幕上打印出指定的字符串
赋予当前用户helloworld.sh的执行权限(刚创建的文件没有执行权限)
[root@localhost ~]# chmod 777 helloworld.sh
执行hellowo.sh脚本方式一
“./”后不要加空格
[root@localhost ~]# ./helloworld.sh
helloworld
shell变量定义的严格语法限制:
- 变量名和等号之间不能有空格
- 变量名首个字符必须为英文字母
- 不能包含标点符号但能够使用下划线(_)
- 不能使用空格
- 不能使用 bash 里的关键字
定义变量
name=“zaomianbao”
引用变量
name=“zaomianbao”
echo ${name}
echo $name
引用一个定义过的变量,只要在变量名前面加$即可,变量名外面的花括号是可选的,加不加都行,加花括号是为了帮助解释器识别变量的边界。
只读变量
使用readonly命令可以将变量定义为只读变量,只读变量的值不能被改变
name=“zaomianbao”
readonly name
name=“tiechui”
删除变量
unset
name=“zaomianbao”
unset name
echo $name
./名称 输出
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Bd8kOlSu-1606715769759)(D:\java\学习笔记\linux\linux03\文件权限输出.jpg)]
参数传递
输入 #!/bin/bash
echo $1
echo $2
echo $3执行携带参数
[root@localhost ~]# ./helloworld.sh haha wowow nini
haha
wowow
nini
[root@localhost ~]#
Shell字符串
单引号
name=‘my name is zaomianbao’
- 单引号字符串中不支持引用变量,任何字符都会原样输出
- 单引号字串中不能出现单引号(对单引号使用转义符后也不行)
双引号
name=‘my name is zaomianbao’
name_again=""${name}""
- 双引号里可以引有变量
- 双引号里支持转义字符
字符串长度
name=‘my name is zaomianbao’
echo ${#name} //执行输出为21
截取字符串
name=‘my name is zaomianbao’
echo ${name:11:20} //执行输出zaomianbao
shell数组
- bash支持一维数组(不支持多维数组),并且没有限定数组的大小。在Shell中,用括号来表示数组,数组元素用“空格”符号分割开。定义数组的一般形式为:
array_name=(value1 … valuen)
某字符在第几个
echo ` expr index "$string" b`
lis (0011225588)(有序且不唯一)
set (1432879)(无序且唯一)
arrs=(v0 v1 v2 v3)
echo ${arrs[@]} 取数组中所有元素
echo ${#arrs[@]} 去所有数组中的所有元素长度
注释
单行注释 # xxx
多行注释
:<<’ xxx ’ :<<EOF xxx EOF :<<! xxx !
计算
val=`expr 2 + 2`
判断
if [ $a == $b ]
then
echo “xxx”
else
echo “xxx”
fi(函数结束)
特殊符号
与-a 或-o 非!
小于-lt 大于-gt