一、环境变量
1、变量
预声明变量:例:declare temp
也可以不声明直接创建:例:temp=shiyanlou
读取变量的值:例:echo $temp
2、变量类型
a.当前Shell进程私有用户自定义变量,如temp
b.Shell本身内建的变量
c.从自定义变量导出的环境变量。
与变量相关的命令:
3、环境变量
在所有的UNIX和类UNIX系统中,每个进程都有其各自的环境变量设置,且默认情况下,当一个进程被创建时,除了创建过程中明确指定的话,它将继承其父进程的绝大部分环境设置。Shell程序也作为一个进程运行在操作系统之上,在Shell中运行的大部分命令都将以Shell的子进程的方式运行。
环境变量:在当前进程的子进程有效
命令:zsh
可以创建子shell
4、变量的生存周期
永久生效:修改配置文件。.profile
只对当前用户有效,/etc/profile
对所有用户有效。
临时的可以用export命令声明。
二、命令的查找路径与顺序
1、创建一个脚本文件
例:gedit hello.sh
在文本中的第一行应添加#!bin/bash
2、创建C语言程序
例:gedit hello.c
使用gcc生成可执行文件:gcc -o hello hello.c
3、添加自定义路径到PATH环境变量
若以:作为分隔符
例:$ PATH=$PATH:/home/shiyanlou/mybin
通过设置配置脚本,可以在每次打开shell时,自动执行添加自定义路径,一般修改用户目录下的配置文件。
例:$ echo "PATH=$PATH:/home/shiyanlou/mybin">>.zshrc
将标准输出以追加的方式重定向到一个文件:>>
以覆盖的方式重定向到一个文件:>
修改配置脚本后,为了让环境变量立即生效,可以使用命令:source .zshrc
三、修改和删除已有变量
1、修改
2、删除
命令:unset 变量名
四、搜索文件
1、whereis
只能搜索二进制文件(-b)、man帮助文件(-m)、和源代码文件(-s)
2、locate
使用locate命令之前,需要先更新。sudo apt-get install locate
例:查找/etc下所有以sh开头的文件:locate /etc/sh
find [path] [option] [action]`
3、which
用来确定是否安装了某个指定的软件,只从PATH环境变量指定的路径中去搜索。
4、find
不但可以通过文件类型、文件名进行查找而且可以根据文件的属性(如文件的时间戳、文件的权限等)进行搜索。
基本命令格式:
与时间相关的命令参数:
-mtime参数举例:
“数字雨”
$ sudo apt-get update;sudo apt-get install cmatrix
$ cmatrix