环境变量和文件查找
介绍环境变量的作用与用法 及几种搜索文件的方法 学会这些技巧可以高效地使用 Linux 知识点:环境变量的设置 环境变量的修改
环境变量
要解释环境变量,得先明白变量是什么,准确的说应该是 Shell 变量,所谓变量就是计算机中用于记录一个值(不一定是数值,也可以是字符或字符串)的符号,而这些符号将用于不同的运算处理中,通常变量与值是一对一的关系,可以通过表达式读取它的值并赋值给其它变量,也可以直接指定数值赋值给任意变量。为了便于运算和处理,大部分的编程语言会区分变量的类型,用于分别记录数值、字符或者字符串等等数据类型。Shell 中的变量也基本如此,有不同类型(但不用专门指定类型名),可以参与运算,有作用域限定。
简单理解了变量的概念,就很容易理解环境变量了。环境变量的作用域比自定义变量的要大,如 Shell 的环境变量作用于自身和它的子进程。在所有的 UNIX 和类 UNIX 系统中,每个进程都有其各自的环境变量设置,且默认情况下,当一个进程被创建时,除了创建过程中明确指定的话,它将继承其父进程的绝大部分环境设置。Shell 程序也作为一个进程运行在操作系统之上,而我们在 Shell 中运行的大部分命令都将以 Shell 的子进程的方式运行。
declare 命令创建一个变量名为 tmp 的变量
使用 = 号赋值运算符,将变量 tmp 赋值
读取变量的值,使用 echo 命令和 $ 符号 ($ 符号用于表示引用一个变量的值, 初学者经常忘记输入):
注意:并不是任何形式的变量名都是可用的, 变量名只能是英文字母、数字或者下划线, 且不能以数字作为开头。
通常我们会涉及到的变量类型有三种:
1,当前 Shell 进程私有用户自定义变量, 如上面我们创建的 tmp 变量,只在当前 Shell 中有效。
2,Shell 本身内建的变量。
3,从自定义变量导出的环境变量。
set 显示当前 Shell 所有变量,包括其内建
环境变量(与 Shell 外观等相关),
用户自定义变量及导出的环境变量。
env 显示与当前用户相关的环境变量,
还可以让命令在指定环境中运行。
export 显示从 Shell 中导出成环境变量的变量,
也能通过它将自定义变量导出为环境变量。
注意:为了与普通变量区分,通常我们习惯将环境变量名设为大写。
$ temp=shiyanlou
$ export temp_env=shiyanlou
$ env|sort>env.txt
$ export|sort>export.txt
$ set|sort>set.txt
$ vimdiff env.txt export.txt set.txt
搜索文件
文件打包与解压缩
介绍 Linux 上常用的压缩/解压工具,主要讲解 zip,tar 的使用。 知识点zip 命令tar 命令压缩与解压常用组合
概念讲解
在讲 Linux 上的压缩工具之前,有必要先了解一下常见常用的压缩包文件格式。在 Windows 上最常见的不外乎这两种 .zip,.7z 后缀的压缩文件。而在 Linux 上面常见的格式除了以上两种外,还有 .rar,.gz,.xz,.bz2,.tar,.tar.gz,.tar.xz,*.tar.bz2,简单介绍如下:
文件后缀名 说明
*.zip zip 程序打包压缩的文件
*.rar rar 程序压缩的文件
*.7z 7zip 程序压缩的文件
*.tar tar 程序打包,未压缩的文件
*.gz gzip 程序(GNU zip)压缩的文件
*.xz xz 程序压缩的文件
*.bz2 bzip2 程序压缩的文件
*.tar.gz tar 打包,gzip 程序压缩的文件
*.tar.xz tar 打包,xz 程序压缩的文件
*tar.bz2 tar 打包,bzip2 程序压缩的文件
*.tar.7z tar 打包,7z 程序压缩的文件