1. 脚本
1.1 可执行脚本
脚本 Script , 一种解释执行的程序
Liuux 下常见的三种脚本程序
-Shell
脚本 *.sh
-Perl
脚本 *.pl
-Python
脚本 *.py
脚本程序,本质是一个文本文件
1、它是一个文本文件
2、它具有可执行权限
脚本程序都是由解释器来执行的
Shell 脚本解释器: /bin/sh
Perl 脚本解释器: /bin/perl
Python 脚本解释器: /bin/python3
执行一个脚本时,以下两种方式等效
./hello.py
/bin/python3 hello.py
1.2 Shell脚本
Shell
脚本,按Shell的语法写出来的脚本
是Linux自带的脚本语言
相当于Windows下的DOS
批处理脚本
Shell脚本的创建
1、编辑一个文本文件,保存为 hello.sh
#!/bin/sh
echo "hello,world"
2、添加可执行权限
chmod +x hello.sh
3、执行程序
./hello.sh
/home/ysa/MyFolder/hello.sh #绝对路径
要点:
1、第一行必须声明解释器
#!/bin/sh
2、必须有 x 权限,才能执行
比如,一个程序只有自己(作者)执行,别人不能执行
rwxr--r--
3、执行程序时,必须加上路径
./hello.sh
/home/ysa/MyFolder/hello.sh
1.3 Python脚本
Python脚本的创建
1、编辑一个文本文件,保存为 hello.py
2、添加可执行权限
chmod +x hello.py
3、执行程序
./hello.sh
/home/ysa/MyFolder/hello.py #绝对路径
2. 环境变量
2.1 SHELL中的变量
SHELL
,是一个脚本编程语言
1、定义变量
2、执行命令 echo ls cd cp
3、if 判断逻辑,while 循环逻辑
4、自定义的函数……
示例:
#!/bin/sh
# 定义变量
OUTDIR=/opt
# 使用变量
echo "output to : ${OUTDIR}"
ls ${OUTDIR}
要点:
1、定义一个变量
NAME=value
等号左右两侧不要多加空格
2、使用一个变量
${NAME}
如果已经有了定界符,则可以简写为$NAME
例如:echo $NAME/build/
2.2 环境变量
环境变量,就是存在当前环境中的变量
无论Linux,还是Windows,都有环境变量
比如,最常用的环境变量PATH,JAVA_HOME
定义环境变量
export OUTDIR=/opt/
显示环境变量
echo ${OUTDIR}
查看所有环境变量
printenv
环境变量的使用:
- 可以在当前终端中使用
- 可以在SHELL脚本中调用
在命令行中定义的环境变量,只对当前SHELL终端有效
当关闭终端后,重启后就消失了
2.3 用户环境变量
用户环境变量:定义在 ~/.profile
中
在主目录下
ls -a
其中,a 表示all ,显示所有文件
注:在Linux下,以 .
开头的文件为隐藏文件
1、用文本编辑器打开 ~/.profile
gedit ~/.profile
2、添加
export JAVA_HOME=/opt/jdk1.8
保存并关闭
3、注销,重新登录后生效
echo $JAVA_HOME
原理:当用户打开终端时,会自动运行 .profile , 将变量注入到当前环境中。
要点:
1、以点号 . 开头的文件为隐藏文件
ls -a
查看所有文件
2、此配置只对当前用户有效
因为每个用户都有自己的配置文件.profile
3、有的Linux系统上,使用.bash_profile
2.4 系统环境变量
系统环境变量:定义在 /etc/profile 中
此中的环境变量对所有用户有效
以 root身份运行
su root
gedit /etc/profile
但是,一般不直接修改 /etc/profile
而是在 /etc/profile.d/
创建一个自定义的脚本
演示:
1、用gedit创建一个脚本
gedit /etc/profile.d/myprofile.sh
2、定义环境变量
#!/bin/sh
export TOMCAT=/opt/tomcat
3、注销并重新登录
重新登录后,环境变量生效
2.5 PATH环境变量
PATH,最常见的一个环境变量
用于描述可执行程序的搜索路径
echo $PATH
多个路径之间以冒号分隔 usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin
默认地,系统从以下目录中搜索可执行程序
/usr/bin
——比如,/usr/bin/tar
/usr/sbin
——比如,/usr/sbin/useradd
usr/local/bin
/usr/local/sbin
其中,sbin为超级用户root才能执行的程序
/usr/下系统自带程序,/usr/local/是用户安装的程序
如何修改环境变量?
1、编辑 /etc/profie.d/myprofile.sh
设定PATH环境变量
export PATH=$PATH:opt/tomcat/bin
2、注销,重新登录后生效
3. 虚拟机网络
3.1 VMware网络环境
1、检查虚拟机网络编辑器
- 以管理员方式运行 VMware
- 打开虚拟网络编辑器
- 查看 NAT 方式下,虚拟子网德网段如192.168.184.0
2、检查虚拟网卡
控制面板,“网络与共享中心 | 更改适配器设置”
默认地,有VMnet1
和VMnet8
两个虚拟网卡如果没有找到VMnet1 / VMnet8,请卸载VMware重装
- 注意以管理员方式运行安装程序,会更好
3、检查虚拟机的网络配置:NAT模式
3.2 虚拟机联网
虚拟机联网设置:
1、检查虚拟机硬件是否为
NAT方式
2、登录Ubuntu系统,右上角设置
- 设置面板左侧,“网络”
- 检查IPv4 / DHCP 设置(默认设置即可,不需要更改)
3、检查IP地址
我的演示环境IP :192.168.184.128
4、访问外网测试ping www,baidu.com
按 CTRL+C 中断注意:宿主机本身必须已经连接外网
要点:
可以在图形界面下设置网络,也可以在终端里用命令行方式设置
3.3 与宿主机互联
检查IP地址
虚拟机:192.168.184.128
宿主机:192.168.184.1
如何检查宿主机的IP?
打开命令行终端:输入ipconfig
虚拟机与宿主机互联:
192.168.184.1 → 192.168.184.128
ping 192.168.184.128
192.168.184.128 → 192.168.184.1
ping 192.168.184.1
3.4 手动配置网络
在终端里,以命令行方式来配置网络
常用命令:ifconfig
,netstat
等
默认地,Ubuntu下面不带ifconfig命令
需要使用 apt 软件包管理器
apt install net-tools
安装一个软件包
apt remove net-tools
移除一个软件包
apt search xxx
搜索
apt list | grep xxx
列表
1、查看网络配置
ifconfig
其中,if表示interface网络接口
会列出所有的网络接口,及各个接口的状态
2、开启 / 禁用网络
sudo ifconfig xxx up
sudo ifconfig xxx down
4. 服务器
4.1 FTP服务器
怎样把文件传到Ubuntu主机上?
1、U盘拷贝
2、网络传输
- FTP
- SFTP
4.2 SSH服务器
使用SSH协议,可以实现:
- 1、远程终端
- 2、文件传输
5. 文本处理
5.1 vim文本编辑
vi / vim
,一个基于控制台的文本编辑器
gedit
,一个基于GUI的文本编辑器
其中,vim是vi的升级版,演示使用vim命令
如何打开文本编辑
1、打开文本编辑
vim abc.txt
如果目标文件存在,则打开编辑;如果不存在,会新建一个文件
如果系统上没有vim ,就安装一下:
sudo apt install vim
2、切换模式
编辑模式 Insert Mode:按 i 键
命令模式 Command Mode:按 ESC 键
3、退出编辑
(1) 按 ESC 键,进入命令模式
(2) 输入:wq
保存并退出
输入:q
退出
输入:q!
强制退出(放弃保存)
5.2 vim更多用法
vim
的完全用法非常复杂
花样繁多,几乎键盘上每一个键都是快捷键
不建议深入研究,vim本身是一个低效率的工具
Linux文本文件的编辑
- 桌面环境:
gedit
- 终端环境:
– 少量修改:vim
– 大量修改:在Windows上编辑,然后上传到Linux
5.3 文本文件的上传
推荐:在Windows上编辑,然后上传到Linux
使用 notepad++ 或者其他的专业编辑器
文本文件的换行符
Windows :
\r\n
Linux :\n
可以在Notepad++ 里观察到此区别
视图 | 显示符号 | 显示行尾符
换行符的转换:
编辑文档 | 格式转换 | 转换为 UNIX 格式
注意:只有在编辑 SHELL 脚本时,才需要转换
其他格式的文件一般都不需要转换,如 *.xml , *.java