目录
环境变量
使用的一系列命令其实本质上就是一个个的可执行程序。
比如,cd命令的本体就是:/usr/bin/cd这个程序文件。
是否会有疑问,为何无论当前工作目录在哪里,都能执行:/usr/bin/cd这个程序呢?
这就是环境变量的作用啦!
环境变量是一组信息记录,类型是KeyValue型(名称=值),用于操作系统运行的时候记录关键信息。
env
在Linux系统中执行:
env
命令即可查看当前系统中记录的环境变量。环境变量是一种KeyValue型结构,即名称和值。
在前面提出的问题中,我们说无论当前工作目录是什么,都能执行/usr/bin/cd这个程序,这个就是借助环境变量中:
PATH
这个项目的值来做到的。
语言上面定义变量的本质是在内存中开辟空间。
环境变量本质是OS在内存/磁盘文件中开辟的空间,用来保存系统相关的数据
$符号
在Linux系统中,$
符号被用于取“变量”的值。
环境变量记录的信息,除了给操作系统自己使用外,如果我们想要取用,也可以使用。取得环境变量的值就可以通过命令:$环境变量名
来取得
比如: echo $PATH
(echo命令)
就可以取得PATH
这个环境变量的值,并通过echo语句输出出来。
又或者:echo ${PATH}ABC
当和其他内容混合在一起的时候,可以通过{}来标注取的变量是谁
自行设置环境变量
Linux环境变量可以用户自行设置,其中分为:
- 临时设置,命令:
export 变量名=变量值
- 永久生效
- 针对当前用户生效,配置在当前用户的:~/.bashrc文件中
- 针对所有用户生效,配置在系统的:etc/profile文件中
- 并通过命令︰
source 配置文件
,进行立刻生效,或重新登录Shell生效
自定义环境变量PATH
环境变量PATH这个项目里面记录了系统执行命令的搜索路径。
这些搜索路径我们也可以自行添加到PATH中去。
测试:
- 在当前HOME目录内创建文件夹, myenv,在文件夹内创建文件mkhaha
- 通过vim编辑器,在mkhaha文件内填入: echo 哈哈哈哈哈
完成上述操作后,随意切换工作目录,执行mkhaha命令尝试一下,会发现无法执行
-
修改PATH的值
临时修改PATH:
export PATH=$PATH:/home/lxt/myenv
,再次执行mkhaha,无论在哪里都能执行了或将export PATH=$PATH:/home/lxt/myenv
,填入用户环境变量文件或系统环境变量文件中去。
本地变量
系统上还存在一种变量,是与本次登录(session)有关的变量,只在本次登录有效,叫做本地变量。
命令行参数
指令有很多选项,用来完成同一个命令的不同子功能。选项底层使用的就是我们的命令行参数!
运行结果:
获取环境变量的三种方式
环境变量通常具有全局属性,可以被子进程继承下去。
rz、sz命令 文件的上传与下载
除了shell自带的文件上传、下载功能以外,可以通过rz、sz命令分别进行文件的上传和下载。
-
rz
+回车,弹出框可选择主机上的文件进行上传。 -
sz 要下载的文件
将Linux上的文件下载到主机。
压缩格式
市面上有非常多的压缩格式
- zip格式: Linux、Windows、MacOS,常用
- 7zip:Windows系统常用
- rar: Windows系统常用
- tar: Linux、 MacOS常用
- gzip: Linux、MacOS常用
tar命令
Linux和Mac系统常用有2种压缩格式,后缀名分别是:
.tar
,称之为tarball,归档文件,即简单的将文件组装到一个.tar
的文件内,并没有太多文件体积的减少,仅仅是简单的封装。.gz
也常见为.tar.gz
,gzip格式压缩文件,即使用gzip压缩算法将文件压缩到一个文件内,可以极大的减少压缩后的体积。
针对这两种格式,使用tar
命令均可以进行压缩和解压缩的操作。
命令:
tar [-c -v -x -z -C -f] 参数1 参数2 … 参数N
- -c,创建压缩文件,用于压缩模式
- -v,显示压缩、解压过程,用于查看进度
- -x,解压模式
- -z, gzip模式,不使用-z就是普通的tarball格式
- -C,选择解压的目的地,用于解压模式
- -f,要创建的文件,或要解压的文件, -f选项必须在所有选项中位置处于最后一个。
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选项,必须在选项位最后一个
tar解压
常用的tar解压组合:
tar -xvf test.tar
解压test.tar,将文件解压至当前目录
tar -xvf test.tar -C /home/lxt
解压test.tar,将文件解压至指定目录(/home/lxt)
tar -zxvf test.tar.gz -C /home/lxt
以Gzip模式解压test.tar.gz,将文件解压至指定目录(/home/lxt)
注意:
- -f选项,必须在选项组合体的最后一位
- -z选项,建议在开头位置
- -C选项单独使用,和解压所需的其他参数分开
zip命令压缩文件
可以使用zip命令,压缩文件为zip压缩包。
命令:zip [-r] 参数1 参数2 … 参数N
- -r,被压缩的包含文件夹的时候,需要使用-r选项,和rm、cp等命令的-r效果一致
示例:
zip test.zip a.txt b.txt c.txt
将a.txt b.txt c.txt 压缩到test.zip文件内
zip -r test.zip test lxt a.txt
将test、lxt两个文件夹和a.txt文件,压缩到test.zip文件内
unzip命令解压文件
使用uzip命令,可以方便的解压zip压缩包
命令:unzip [-d] 参数
- -d,指定要解压去的位置,同tar的-C选项
- 参数,被解压的zip压缩包文件
示例:
unzip test.zip
,将test.zip解压到当前目录unzip test.zip -d /home/lxt
,将test.zip解压到指定文件夹内(/home/lxt)
令:unzip [-d] 参数
- -d,指定要解压去的位置,同tar的-C选项
- 参数,被解压的zip压缩包文件
示例:
unzip test.zip
,将test.zip解压到当前目录unzip test.zip -d /home/lxt
,将test.zip解压到指定文件夹内(/home/lxt)
要稳住哦!