环境变量与文件查找


-----------------------------------------------------------------Sun-------------------------------------------------------------------



1.环境变量

 ①变量

          何为变量?        变量就是计算机中用于记录一个值/字符/字符串 的符号。

          变量名               英文字母数字下划线,不能以数字开头!

          变量的作用域     一个函数中,源文件中,全局范围中,在这些范围中只允许有一个同名变量。

            用 declare 创建一个 tmp 变量,然后赋值。

                也可以不用 declare 声明变量。直接创建也可。

             echo $tmp  读取 tmp 变量的值


②环境变量

  • 前 Shell 进程私有用户自定义变量,如上面我们创建的 temp 变量,只在当前 Shell 中有效。
  • Shell 本身内建的变量。
  • 从自定义变量导出的环境变量。
      也有三个与上述三种环境变量相关的命令,setenvexport。区别在于是不同范围的环境变量。


 

命令说明
set显示当前 Shell 所有环境变量,包括其内建环境变量(与 Shell 外观等相关),用户自定义变量及导出的环境变量
env显示与当前用户相关的环境变量,还可以让命令在指定环境中运行
export显示从 Shell 中导出成环境变量的变量,也能通过它将自定义变量导出为环境变量


 


分别通过管道 用 sort 排序,重定向到 txt 文件中。 再用 vimdiff 比较文件内容



  可以简单理解成  环境变量在当前子进程有效。

 例: 用 export 将Shell 中的变量导出为环境变量,此时子Shell 中可查看到变量的值。

 


  ③ 命令的查找路径与顺序

      Shell 中输入一个命令是通过环境变量 PATH 来进行搜索的。即就是 PATH 中保存了Shell中执行命令的搜索路径。

       echo $PATH   查看PATH内容

        这一类目录下放的都是可执行文件,当我们在 Shell 中执行一个命令时,系统就会按照 PATH 中设定的路径按照顺序依次到目录中去查找,如果存在同名的命令,则执行先找到的那个。



④ 修改和删除已有变量


变量的修改有以下几种方式:

变量设置方式说明
${变量名#匹配字串}从头向后开始匹配,删除符合匹配字串的最短数据
${变量名##匹配字串}从头向后开始匹配,删除符合匹配字串的最长数据
${变量名%匹配字串}从尾向前开始匹配,删除符合匹配字串的最短数据
${变量名%%匹配字串}从尾向前开始匹配,删除符合匹配字串的最长数据
${变量名/旧的字串/新的字串}将符合旧字串的第一个字串替换为新的字串
${变量名//旧的字串/新的字串}将符合旧字串的全部字串替换为新的字串


unset 变量名    删除一个环境变量


2.搜索文件


whereis简单快速,直接在数据库中查找

  whereis只能搜索二进制文件(-b),man帮助文件(-m)和源代码文件(-s)。如果想要获得更全面的搜索结果可以使用locate命令。

which 小而精

which本身是 Shell 内建的一个命令,我们通常使用which来确定是否安装了某个指定的软件,因为它只从PATH环境变量指定的路

径中去搜索命令。


find 精而细

不但可以通过文件类型、文件名进行查找而且可以根据文件的属性(如文件的时间戳,文件的权限等)进行搜索

find [path] [option] [action]

与时间相关的命令参数:

参数说明
-atime最后访问时间
-ctime创建时间
-mtime最后修改时间

下面以-mtime参数举例:

  • -mtime n: n 为数字,表示为在n天之前的”一天之内“修改过的文件
  • -mtime +n: 列出在n天之前(不包含n天本身)被修改过的文件
  • -mtime -n: 列出在n天之前(包含n天本身)被修改过的文件
  • newer file: file为一个已存在的文件,列出比file还要新的文件名


locate 快而全

通过"/var/lib/mlocate/mlocate.db"数据库查找,不过这个数据库也不是实时更新的,系统会使用定时任务每天自动执行updatedb

命令更新一次,所以有时候你刚添加的文件,它可能会找不到,需要手动执行一次updatedb命令(在我们的环境中必须先执行一次该

命令)。它可以用来查找指定目录下的不同文件类型!

 


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值