一.实验名称
环境变量与文件查找
二.实验过程
1.变量的定义
使用命令declare $定义一个新变量,例如declare $test 定义了一个名为test的变量。或者直接通过赋值的形式定义新变量,例如test = 1 定义了一个新变量test并赋值为1。
打印变量的值可以使用echo命令,例如echo $test
通常情况下涉及的环境变量有三种:一是当前Shell进程私有用户自定义变量;二是Shell本身内建的变量;三是从自定义变量导出的环境变量。
相关命令及其说明:
set|命令显示当前Shell所有环境变量,包括其内建环境变量(与Shell外观等有关),用户自定义的变量及导出的环境变量。
env|显示与当前用户相关的环境变量,还可以让命令在指定环境下运行。
export|命令显示从Shell中导出的环境变量的变量,也可以通过该命令将自定义变量导出为环境变量。
输出环境变量可以使用export test命令。
比较文件的命令:vimdiff test1.txt test2.txt test3.txt
(1)命令的查找路径与顺序
$PATH环境变量设置命令搜索路径
echo $PATH命令可以输出当前命令搜索路径的设置
$PATH中临时添加自定义路径,用冒号连接路径:PATH=$PATH:/home/shiyanlou/code
(2).变量修改
1.${变量名#匹配字符串}:从头往后匹配,删除符合匹配字符串的最短数据。
2.${变量名##匹配字符串}:从头往后匹配,删除符合匹配字符串的最长数据。
3.${变量名%匹配字符串}:从后往前匹配,删除符合匹配字符串的最短数据。
4.${变量名%%匹配字符串}:从后往前匹配,删除符合匹配字符串的最长数据。
5.${变量名/旧的字符串/新的字符串}:将旧的字符串的第一个字符串替换为新的字符串。
6.${变量名//旧的字符串/新的字符串}:将旧的字符串的全部字符串替换为新的字符串。
(3).变量删除
使用unset命令删除一个环境变量。例如$unset test。
使用source命令使环境变量立即生效。例如$source .zshrc或者$. ./. zshrc
其中,第二种方式必须完整的绝对路径或相对路径
2.搜索文件
(1)whereis简单快捷
whereis直接从数据库中查询,并不是从硬盘中依次查找。whereis只能搜索二进制文件(-b),man帮助文件(-m)和源代码文件(-s)。
(2).locate快而全
通过"/var/lib/mlocate/mlocate.db"数据库查找,系统会使用定时任务每天自动执行updatedb命令更新一次该数据库,有时需要手动执行一次updatedb命令将新文件添加进数据库。find命令可以用来查找指定目录下的不同文件类型,可以通过递归子目录进行查找。例如查找/etc下的所有以sh开头的文件。例如 locate /etc/sh locate /home/shiyanlou/Code/\ *.txt
(3).which小而精
which命令只能PATH环境变量指定的路径中去搜索命令。例如which man
(4)find精而细
find命令的使用详情见以下链接
www.cnblogs.com/wanqieddy/archive/2011/06/09/2076785.html http://www.jz123.cn/text/1720453.html