Linux环境变量以及文件查找

1 环境变量  

  环境变量有时也被称为系统变量。比如shell的环境变量作用域自身以及它的子进程。在所有的UNIX以及类UNIX系统中,每个进程都有自己的环境变量设置,且默认情况下,当一个进城被创建时,处理过程中明确指定的话,它将继承其父进程的绝大部分环境设置。shell程序作为一个进程运行在操作系统之上,而我们在shell中运行的大部分命令都将以shell的子进程的方式运行。


  通常我们会设计的环境变量有三种:

1 当前shell进程私有用户定义变量,如用declare命令在当前shell声明的变量

2 shell本身内置的变量

3 从自定义导出的环境变量

下面分别介绍与上述三种变量相关的命令,set, env, export,它们都可以打印相关环境变量,区别只是在于涉及的是不同范围内的环境变量,详见下表:

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



  具体区别你可以将三者的输出结果重定向到文本里面,然后使用vimdiff命令比较它们之间的区别。

  shell命令,是通过查找$PATH这个变量,寻找命令所在的路径。如果shell中找不到某个命令,比如java,你可以将这个命令加入到PATH中。不过为了在下次进入shell中可以正常使用,可以将PATH的设置重定向到对应shell的配置文件中,如果你使用的是bash(echo $SHELL就可以看到你的shell类型),就重定向到.bashrc,然后source .bashrc使其立即生效。

2 文件查找

   与搜索相关的命令有如下几个whereis, which, find, locate
   1 whereis 是从数据中查找,只能搜索二进制文件(-b), man帮助文件(-m)和源码文件(-s),如果想使用locate进行查询。
  2 locate通过通过"/var/lib/mlocate/mlocate.db"数据库查找,不过每次使用它之前,最好执行updatedb命令一次,防止最新添加的东西找不到(类似apt-get update)。它也可以查找在特定目录下进行查找,具体大家可以自行尝试。
  3 which是shell内置的一个命令,主要查找软件的安装路径
  4 find命令最为强大,因为它的查找条件也是最多的。文件类型, 文件名称,文件的元数据(文件权限,文件的修改时间等等blabla),下次有机会可以探讨一下这个命令。

   linux是一个有趣的世界,让我们一起探索吧,希望大牛多多指点,感谢某在线教育提供的实验环境,share your knowledge with world!!!

  感谢实验楼提供的在线实验环境。以后妈妈说,再也不用安装虚拟机了。


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值