1. 环境变量
变量
shell中可以利用declare声明一个变量并进行赋值
declare name #声明一个叫name的变量
name=hello #给name变量赋值
echo $name #读取name变量的值
1.1 环境变量
通常为了与普通变量区分,环境变量为大写。
永久生效
按变量的生存周期来划分,Linux 变量可分为两类:
- 永久的:需要修改配置文件,变量永久生效;
- 临时的:使用 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 修改和删除已有变量
变量修改
变量修改方式有以下几种:
变量删除
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的目录或文件