Linux环境变量与文件查找

1. 环境变量

变量

shell中可以利用declare声明一个变量并进行赋值

declare name #声明一个叫name的变量
name=hello   #给name变量赋值
echo $name   #读取name变量的值

1.1 环境变量

通常为了与普通变量区分,环境变量为大写。

永久生效

按变量的生存周期来划分,Linux 变量可分为两类:

  1. 永久的:需要修改配置文件,变量永久生效;
  2. 临时的:使用 export 命令行声明即可,变量在关闭 shell 时失效。

这里介绍两个重要文件 /etc/bashrc(有的 Linux 没有这个文件) 和 /etc/profile ,它们分别存放的是 shell 变量和环境变量。

.profile 可以利用ls -a命令来查看,这个.profile只对当前用户生效,如果想永久生效,则只需要打开/etc/profile文件添加变量即可

1.2 命令的查找路径与顺序

shell中的PATH环境变量保存了搜索路径

echo $PATH #查看环境变量的值

1.3 添加自定义变量到“PATH”环境变量

(1)PATH里面的路径是以:为分割符的,可以这样添加环境变量

PATH=$PATH:/home/name/bin  #注意必须是绝对路径

这样也只是在当前shell有效退出终端再打开后就失效了。

(2)自动执行:

在每个用户的 home 目录中有一个 Shell 每次启动时会默认执行一个配置脚本,以初始化环境,包括添加一些用户自定义环境变量等等。zsh 的配置文件是 .zshrc,相应 Bash 的配置文件为 .bashrc 。它们在 etc 下还都有一个或多个全局的配置文件,不过我们一般只修改用户目录下的配置文件。

echo "PATH=$PATH:/home/name/mybin" >> .zshrc
# >> 表示将标准输出以追加的方式重定向到一个文件中,注意 > 是以覆盖的方式重定向到一个文件中,使用的时候一定要注意分辨。在指定文件不存在的情况下都会创建新的文件。

1.4 修改和删除已有变量

变量修改

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

Linux环境变量与文件查找

变量删除

unset可以删除一个环境变量

1.5 如何立刻让环境变量生效

我们在 Shell 中修改了一个配置脚本文件之后(比如 zsh 的配置文件 home 目录下的 .zshrc),每次都要退出终端重新打开甚至重启主机之后其才能生效,很是麻烦,我们可以使用 source 命令来让其立即生效。

cd /home/name
source .zshrc

source还有个别名.,上面的命令替换成.即为

. ./.zshrc

2. 搜素文件

常用命令有whereis、which、find和locate。

  • whereis 简单快速
  • locate快而全
  • which小而精
  • find精而细

find是这几个里面最强大的命令。简单使用:

sudo find /etc/ -name interface
#表示去/etc/目录下面,搜索名字叫interface的目录或文件