第五节 实验报告
实验名称:实验变量与文件查找
实验内容:
1 了解什么是环境变量及环境变量的类型
2 在Shell中如何创建变量
(注意:变量名只能是英文字母、数字或者下划线,且不能以数字作为开头。)
实验总结:
1 变量的定义
变量就是计算机中用于记录一个值(不一定是数值,也可以是字符或字符串)的符号,而这些符号将用于不同的运算处理中
通常所说的环境变量是指Shell变量
2 在shell中创建变量的方法:首先用declare预声明一个变量 如: declare tmp
再使用 "=" 赋值运算符,将变量 tmp 赋值为 shiyanlou: tmp=shiyanlou
3 读取变量的值,使用 echo 命令和 $ 符号($ 符号用于表示引用一个变量的值):echo $tmp
![图片描述](https://dn-simplecloud.shiyanlou.com/uid/428545/1495249167243.png-wm)
4 在所有的 UNIX 和类 UNIX 系统中,每个进程都有各自的环境变量设置。默认情况下,当一个进程被创建时,处理创建过程中明确指定的话,它将继承其父进程的绝大部分环境设置。Shell 程序也作为一个进程运行在操作系统之上,而在 Shell 中运行的大部分命令都将以 Shell 的子进程的方式运行。
5 通常我们会涉及到的变量类型有三种:
(1)当前 Shell 进程私有用户自定义的变量,只在当前 Shell 中有效。
(2)Shell 本身内建的变量。
(3)从自定义变量导出的环境变量。
另外三个与上面三种环境变量相关的命令:set,env和export。这三个命令都是用于打印环境变量信息的,区别在于涉及的变量范围不同。
也可以使用 vimdiff 工具比较它们之间的差别:
![图片描述](https://dn-simplecloud.shiyanlou.com/uid/428545/1495249539656.png-wm)
6 按变量的生存周期来划分,Linux 变量可分为两类:
(1) 永久变量:需要修改配置文件,变量永久生效;
(2) 临时变量:使用 export 命令行声明,变量在关闭 shell 时失效
另有两个重要文件 /etc/bashrc和 /etc/profile ,它们分别存放 shell 变量和环境变量.写在 /etc/profile 里面的是对所有用户永久生效。
注意:每个用户目录下都有一个隐藏文件:
.profile 可以用 ls -a 查看 .profile 只对当前用户永久生效
cd /home/shiyanlou
ls -a
如果想要添加一个永久生效的环境变量,只需要打开 /etc/profile,在最后加上环境变量即可
8 命令的查找路径与顺序
创建一个 Shell 脚本文件:
9 添加自定义路径到“ PATH ”环境变量
添加自定义路径的方法:PATH=$PATH:/home/shiyanlou/mybin
10 修改和删除已有变量
(1)变量修改的方式
(2)变量删除的方式:使用 unset 命令删除一个环境变量:$ unset temp
11. 如何让环境变量立即生效
(1)使用 source 命令让其立即生效,如:source .zshrc
source 命令还有一个别名就是 .,注意与表示当前路径的那个点区分开,虽然形式一样,但作用和使用方式一样,上面的命令如果替换成 . 的方式就该是:$ . ./.zshrc
注意第一个点后面有一个空格,而且后面的文件必须指定完整的绝对或相对路径名,source 则不需要。
二、搜索文件
与搜索相关的命令常用的有 whereis,which,find 和 locate
whereis 简单快速 $whereis who
这条命令表示去 /etc/ 目录下面 ,搜索名字叫做 interfaces 的文件或者目录。这是 find 命令最常见的格式,find 的第一个参数是要搜索的地方:$ sudo find /etc/ -name interfaces
注意 find 命令的路径是作为第一个参数的, 基本命令格式为 find [path] [option] [action]