🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
# 大数据学习笔记第26天 - Linux第2天 # ## 01.回顾 递归创建文件夹 归档和压缩 **归档和压缩文档:** **tar:归档工具** ``` tar -cf aaa.tar aaa //将aaa文件夹归档为aaa.tar tar -tvf aaa.tar //列出归档文件中的所有内容 tar -xf aaa.tar //抽取归档文件中所有的数据 ``` **gzip:压缩工具 ** ``` gzip 1.txt //压缩 gunzip 1.txt.gz //解压 ``` ``` tar -cvzf aaa.tar.gz aaa //归档+压缩 tar -xzvf aaa.tar.gz //解档+解压 ``` ## 02.Linux环境变量 修改命令行格式 1、给name赋值 ``` name=tom ``` 2、打印出name变量 ``` echo $name ``` 3、获取系统环境变量 ``` echo $PATH ``` 4、修改环境变量 ``` export $PATH=tom //在当前会话有效 ``` 5、修改PS1变量,即控制台命令行格式 ``` echo $PS1 // [\u@\h \W]\$ export PS1='[\u@\h \w]\$' ``` ``` \u //用户名 @ //@ \h //主机名 \W //当前目录 \$ // \w //当前目录绝对路径 \d //时间 ``` 6、永久修改 1)修改环境变量文件 ``` sudo nano /etc/profile ``` 末尾添加一行 ``` export PS1='[\u@\h \w]\$ ' ``` 2)使环境变量生效 ``` source /etc/profile ``` ### **强制命令解析** ``` echo `pwd` ``` ## 03.centos下java环境变量配置 winscp 1、安装winscp 一路默认,不想安装在c盘可以选择自定义 2、使用winscp 新建站点,输入ip,用户名,密码 双击登陆 3、将jdk安装包传到Linux的家目录(/home/centos) 4、正式安装jdk 1) 在根目录下创建/soft文件夹 `sudo mkdir /soft` 2) 将/soft文件夹的权限改为 `centos:centos` `sudo chown centos:centos /soft` 3) 将jdk解压到/soft下 `tar -xzvf jdk-8u131-linux-x64.tar.gz -C /soft` 4) 配置环境变量 `sudo nano /etc/profile`,添加以下内容 ``` export JAVA_HOME=/soft/jdk1.8.0_65 export PATH=$PATH:$JAVA_HOME/bin ``` 5) 使环境变量生效 ``` source /etc/profile ``` 6) 测试jdk安装 ``` java -version ``` ## 04.硬链接 符号链接 修改环境变量 相当于快捷方式,指向某个文件或文件夹 ``` ln jdk1.8.0_131 jdk //硬链接,适用于文件 ln -s jdk1.8.0_131 jdk //符号链接 ``` 添加jdk安装目录的符号链接 `ln -s /soft/jdk1.8.0_131 /soft/jdk` 修改环境变量 `sudo nano /etc/profile`,修改以下内容: ``` export JAVA_HOME=/soft/jdk export PATH=$PATH:$JAVA_HOME/bin ``` 使环境变量生效 `source /etc/profile` 测试jdk安装 `java -version` 获取变量的方式: ``` echo $PATH √ echo ${PATH} √ echo "$PATH" √ echo '$PATH' x ``` ## 05.shell脚本介绍 for循环 修改前景色 ### **脚本:** 解释型语言:运行时候通过解释器进行翻译,成机器语言 脚本语言:python、js、perl、shell //所见即所得 编译型语言:通过编译器进行预编译,成机器语言,直接运行 如:C、C++、Java... **脚本的执行过程:** 1. 添加执行权限:chmod a+x 1.sh 2. 当前目录执行:./1.sh **脚本编写:** 1. 创建文件,添加执行权限 2. 编写脚本头,声明解释器 `#!/bin/bash` 3. 正常编写脚本 4. 注释的编写,以# 作为标识 **shell的循环:** for: //for ... in 语句 `for NAME [in WORDS ... ] ; do COMMANDS; done` **eg:** ``` for x in `cat 1.txt` ; do echo $x ; done //通过对1.txt中的单词进行分割,取出所有单词并进行打印 ``` for (( `for (( exp1; exp2; exp3 )); do COMMANDS; done` **eg:** `for (( i=0; i<10; i++ )); do echo $i ; done //循环打印1-9` **通过for循环,打印99乘法表** ``` 1 1x1=1 2 1x2=2 2x2=4 3 1x3=3 ... ... ``` ## 06.if条件语句 参数控制 if整数比较 ## 07.while循环 case语句 ## 08.while循环实现99乘法表