主要内容:环境变量的设置和文件搜索操作
上一篇:[Linux]Linux系统基础入门学习(二)-----用户及文件权限管理 和 Linux目录结构及文件基本操作
目录
一、环境变量的设置
1.1、变量定义
1.2、常涉及到的环境变量集操作
1.3、修改PATH
1.4、变量修改与删除
二、搜索文件
三、放松小命令
一、环境变量的设置
1.1、变量定义
declare $变量名 #定义变量
变量名=值 #或者直接赋值也自动定义变量,注意变量之前不带"$"
echo $变量名 #打印变量的值,"$"代表引用变量的值
1.2、常涉及到的环境变量集操作
- 通常我们会涉及到的环境变量有三种:
- 当前 Shell 进程私有用户自定义变量,如上面我们创建的 temp 变量,只在当前 Shell 中有效。
- Shell 本身内建的变量。
- 从自定义变量导出的环境变量。
2.相关命令
命令 | 作用 |
---|---|
set |
显示当前 Shell 所有环境变量,包括其内建环境变量(与 Shell 外观等相关) |
- | 用户自定义变量及导出的环境变量 |
env |
显示与当前用户相关的环境变量,还可以让命令在指定环境中运行 |
export |
显示从 Shell 中导出成环境变量的变量 |
- | 也可以将自定义变量输出为环境变量,能被子进程继承 |
echo $变量名 |
显示变量内容 |
echo $PATH |
输出当前命令搜索路径的设置 |
1.3、修改PATH
- 临时添加
PATH=$PATH:/home/abc
$
:绝对路径符号,表明是要在已有的PATH的基础上追加后面的内容.
:
: 一定要有这个冒号.
临时添加的变量,当关闭这个terminal的时候就会自动失效. - 永久添加
如果永久添加需要修改配置文件,如果是使用zsh是.zshrc, bash是.bashrc文件.
使用命令\$ echo "PATH=$PATH:/home /shiyanlou /mybin" >> .zshrc
(>>
:表示将标准输出以追加的方式重定向到这个文件中)
重启生效(或使用source命令直接生效)
注意
:/etc 目录下有一个或多个配置文件,我们最好只修改用户目录的.
1.4、变量修改与删除
变量设置方式 | 说明 |
---|---|
${变量名#匹配字串} | 从头向后开始匹配,删除符合匹配字串的最短数据 |
${变量名##匹配字串} | 从头向后开始匹配,删除符合匹配字串的最长数据 |
${变量名%匹配字串} | 从尾向前开始匹配,删除符合匹配字串的最短数据 |
${变量名%%匹配字串} | 从尾向前开始匹配,删除符合匹配字串的最长数据 |
${变量名/旧的字串/新的字串} | 将符合旧字串的第一个字串替换为新的字串 |
${变量名//旧的字串/新的字串} | 将符合旧字串的全部字串替换为新的字串 |
$ unset <variable> | 删除一个环境变量 |
$ source .zshrc 或 $ . ./.zshrc | 修改PATH文件后,让环境变量立即生效. |
注意
: 命令\$../.zshrc
必须指定完整的绝对或相对路径
二、搜索文件
与搜索相关的命令常用的有如下几个whereis
,which
,find
,locate
。
-
whereis
简单快速
whereis搜索很快,因为它并没有从硬盘中依次查找,而是直接从数据库中查询。whereis只能搜索二进制文件(-b),man帮助文件(-m)和源代码文件(-s)。 -
locate
快而全
通过"/var/lib/mlocate/mlocate.db"数据库查找,系统会使用定时任务每天自动执行updatedb命令更新一次该数据库,有时需要手动执行一次updatedb命令将新的文件数据添加进数据库,它可以用来查找指定目录下的不同文件类型,可以递归子目录进行查找,
如查找 /etc 下所有以 sh 开头的文件:(注意转义符号的运用)$ locate /etc/sh $ locate /home/shiyanlou/Code/\*.txt
参数:-c 是仅统计数目 -i 是不区分大小写
-
which
小而精
which只能用来确定是否安装了某个软件,因为它只从PATH
环境变量指定的路径中去搜索命令 -
find
精而细
find 命令非常强大,最好看专门的资料 推荐链接
#查找系统中所有文件名中含D且在第三位的.txt文件
find path -option [ -print ] [ -exec -ok command ]
find / -name \?\?D\*.txt #显示结果含有权限不够的信息,可以如下屏蔽
find / -name \?\?D\*.txt 2>/dev/null
#还可以加sudo执行
#另外,文件名加引号,可以直接用?或*,不用转义
find / -name '*.txt' -size +10k -size -20k #查找大小在10k-20k之间的*.txt
find . -empty #查找空目录和空文件
find . -group shiyanlou #查找实验楼组的文件
find /tmp -size +10000000c -and -mtime +2
#在/tmp目录中查找大于100000000字节并且在48小时内修改的某个文件
find /tmp ! -user panda #在/tmp目录中查找所有不属于panda的文件
find . -user shiyanlou -ls #查找属于shiyanlou用户的文件并显示文件信息
find . -name '*.txt' -exec rm {} \; #删除找到的*.txt (\是为了转义)
三、放松小命令
-
使用
cmatrix
可以让桌面下起数字雨,像黑客一样,当然使用之前需要安装$ sudo apt-get install cmatrix $ cmatrix
写在后面的话:之前都是记在纸上,发现很不方便,所以转移在网上,可以随时查阅,有时间会把它补全。有问题可以留言在下面。
作者主页:GG_band。