4.10、环境变量
学习目标:
- 理解环境变量的作用
- 掌握符号$的作用
- 掌握在Linux中配置环境变量
4.10.1、环境变量
1、在讲解which命令的时候,我们知道使用的一系列命令其实本质上就是一个个的可执行程序。
比如,cd命令的本体就是:/usr/bin/cd
这个程序文件。
我们是否会有疑问,为何无论当前工作目录在哪里,都能执行:
/usr/bin/cd
这个程序呢?–这就是环境变量的作用啦。
2、环境变量是操作系统(Windows、Mac、Linux)在运行的时候,记录的一些关键性信息,用以辅助系统运行。
在Linux系统中执行:env
命令即可查看当前系统中记录的环境变量
环境变量是一种KeyValue型结构,即名称和值,如下图:
3、环境变量:PATH
在前面提到的问题中,我们说无论当前工作目录是什么,都能执行:/usr/bin/cd
这个程序,这个就是借助环境变量中:PATH这个项目的值来做到的。
PATH记录了系统执行任何命令的搜索路径,如上图记录了(路径之间以:隔开)
/usr/local/bin
/usr/bin
/usr/local/sbin
/usr/sbin
/home/kx.local/bin
/home/kx/bin
当执行任何命令,都会按照顺序,从上述路径中搜索要执行的程序的主体。
比如执行cd命令,就从第二个目录/usr/bin
中搜索到了cd命令,并执行。
1、什么是环境变量?
环境变量是一组信息记录,类型是KeyValue型(名称=值),用于操作系统运行的时候记录关键信息。
2、什么是PATH,作用是?
环境变量PATH会记录一组目录,目录之间用:隔开。这里记录的是命令的搜索路径,当执行命令会从记录中记录的目录中挨个搜索要执行的命令并执行。
可以通过修改这个项目的值,加入自定义的命令搜索路径
如
export PATH=$PATH:自定义路径
4.10.2、$符号
1、在Linux系统中,$符号被用于取“变量”的值。
环境变量记录的信息,除了给操作系统自己使用外,如果我们想要取用,也可以使用。
取得环境变量的值就可以通过语法:$环境变量名
来取得
2、比如:echo $PATH
就可以获得PATH这个环境变量的值,并通过echo语句输出出来。
又或者:echo ${PATH}ABC
注意:当和其它内容混合在一起的时候,可以通过{}来标注取的变量是谁
4.10.3、自行设置环境变量
1、Linux环境变量可以用户自行设置,其中分为:
-
临时设置,语法:
export 变量名=变量值
-
永久生效
-
针对当前用户生效、配置在当前用户的:
~/bashrc
文件中 -
针对所有用户生效、配置在系统的:
/etc/profile
文件中 -
并通过语法:
source 配置文件
,进行立刻生效,或重新登录FinalShell生效
-
2、自定义环境变量PATH
环境变量PATH这个项目里面记录了系统执行命令的搜索路径。
这些搜索路径我们也可以自行添加到PATH中去。
测试:
- 在当前HOME目录内创建文件夹,myenv,在文件夹内创建文件mkhaha
- 通过vim编辑器,在mkhaha文件内填入:
echo hahaha
完成上述操作后,随意切换工作目录,执行mkhaha
命令尝试一下,会发现无法执行。
-
修改PATH的值
临时修改PATH:
export PATH=$PATH:/home/kx/myenv
,再次执行mkhaha
,无论在哪里都能执行了或将
export PATH=$PATH:/home/kx/myenv
填入用户环境变量文件或系统环境变量文件中去
4.11、上传、下载
1、我们可以通过FinalShell工具,方便的和虚拟机进行数据交换。
在FinalShell软件的下方窗体中,提供了Linux的文件系统视图,可以方便的:
- 浏览文件系统,找到合适的文件,右键点击下载,即可传输到本地电脑
- 浏览文件系统,找到合适的目录,将本地电脑的文件拓展进入,即可方便的上传数据到Linux中
2、rz、sz命令
当然,除了通过FinalShell的下方窗体进行文件的传输以外,也可以通过rz、sz命令进行文件传输。
rz、sz命令需要安装,可以通过:yum -y install lrzsz
,即可安装。
-
rz
命令,进行上传,语法:直接输入rz即可。 -
sz
命令,进行下载,语法:sz 要下载的文件
文件会自动下载到桌面的fsdownload文件夹中。
注意:rz、sz命令需要终端软件支持才可正常运行。
FinalShell、SecureCRT、XShell等常用终端软件均支持此操作。
4.12、压缩、解压
学习目标:
- 掌握使用tar命令压缩或解压tar或gzip文件
- 掌握使用zip、unzip命令压缩或解压zip文件
1、压缩格式
市面上有非常多的压缩格式:
- zip格式:Linux、Windows、MacOS系统常用
- 7zip格式:Windows系统常用
- rar格式:Windows系统常用
- tar格式:Linux、MacOS系统常用
- gzip格式:Linux、MacOS系统常用
在Windows系统中常用的软件如:winrar、bandizip等软件,都支持各类常见的压缩格式,这里不多做讨论。
我们现在要学习,如何在Linux系统中操作:tar、gzip、zip这三种压缩格式
完成文件的压缩、解压操作。
4.12.1、tar命令
1、Linux和Mac系统常用有2种压缩格式,后缀名分别是:
.tar
,称之为tarball,归档文件,即简单的将文件组装到一个.tar
的文件内,并没有太多文件体积的减少,仅仅是简单的封装。.gz
,也常见为.tar.gz
,gzip格式压缩文件,即使用gzip压缩算法将文件压缩到一个文件内,可以极大的减少压缩后的体积。
针对这两种格式,使用tar
命令均可以进行压缩和解压缩的操作。
语法:tar [-c -v -x -f -z -C] 参数1 参数2 ... 参数N
-c
,创建压缩文件,用于压缩模式-v
,显示压缩、解压过程,用于查看进度-x
,解压模式-f
,要创建的文件,或要解压的文件,-f选项必须在所有选项中位置处于最后一个-z
,gzip模式,不使用-z就是普通的tarball格式-C
,选择要解压的目的地,用于解压模式
2、tar命令压缩
tar的常用组合为:
-
tar -cvf test.tar 1.txt 2.txt 3.txt
将1.txt 2.txt 3.txt压缩到test.tar文件内
-
tar -zcvf test.tar.gz 1.txt 2.txt 3.txt
将1.txt 2.txt 3.txt压缩到test.tar.gz文件内,使用gzip模式
注意:
- -z选项如果使用的话,一般处于选项位第一个
- -f选项,必须在选项位最后一个
3、tar命令解压
常用的tar解压组合有:
-
tar -xvf test.tar
解压test.tar,将文件解压到当前目录
-
tar -xvf test.tar -C /home/kx
解压test.tar,将文件解压至指定目录(/home/kx)
-
tar -zxvf test.tar.gz -C /home/kx
以Gzip模式解压test.tar.gz,将文件解压至指定目录(/home/kx)
注意:
- -f选项,必须在选项组合体的最后一位
- -z选项,建议在开头位置
- -C选项单独使用,和解压所需的其它参数分开
4.12.2、zip、unzip命令
1、zip命令压缩文件
可以使用zip命令,压缩文件为zip压缩包
语法:zip [-r] 参数1 参数2 ... 参数N
-r
,被压缩的包含文件夹的时候,需要使用-r选项,和rm、cp等命令的-r效果一致
示例:
-
zip test.zip a.txt b.txt
将a.txt b.txt c.txt压缩到test.zip文件内
-
zip -r test.zip test itheima a.txt
将 test itheima两个文件夹和a.txt文件,压缩到test.zip文件内
2、unzip命令解压文件
使用unzip命令,可以方便的解压zip压缩包
语法:unzip [-d] 参数
-d
,指定要解压去的位置,同tar的-C选项- 参数,被解压的zip压缩包文件
示例:
-
unzip test.zip
将test.zip解压到当前目录
-
unzip test.zip -d /home/kx
将test.zip解压到指定文件夹内(/home/kx)