用途:在查询,输入文件名时获得更高的效率
?
字符代表单个字符
# 已存文件:a.txt, b.txt
$ ls ?.txt
a.txt b.txt
可以看到 ?
匹配了任何单个字符,所以a.txt
和b.txt
都在了?.txt
的匹配范围内。如果要匹配多个字符,连用多个 ?
即可:
# 已存文件 a.txt, b.txt, abc.txt, file1.txt, file2.txt
$ ls ???.txt
abc.txt
$ ls file?.txt
file1.txt file2.txt
注意:?
不能匹配空字符,它所占据的位置必须有字符存在。
*
代表任意数量的字符
# 已存文件 a.txt, b.txt, abc.txt, file1.txt, file2.txt, script1.py
$ ls *.txt
a.txt b.txt abc.txt file1.txt file2.txt
$ ls * # 输出所有文件
*
也是可以匹配空字符的
# 已存文件:a.txt, b.txt
$ ls a*.txt
a.txt
[…]
可以匹配括号中任意一个字符,比如匹配的是c
,o
,d
,e
四个字母
# 已存文件:a.txt, b.txt
$ ls [ab].txt
a.txt b.txt
[start-end]
表示一个连续的范围:
# 已存文件:file1.txt, file2.txt, file3.txt file4.txt
$ ls file[1-3].txt
file1.txt file2.txt file3.txt
{...}
表示匹配大括号中的所有模式,模式之间用逗号分隔:
$ echo {a, b, c, d}.txt
a.txt b.txt c.txt d.txt
$ echo {file1, script}.txt
file1.txt script.txt
环境变量是一个可变的系统数值,包含一个名字和对应的数值,它能被操作系统中的软件调用,并影响系统中软件的运行。通过环境变量直接替换路径,简化了设置依赖路径的繁琐
按照生命周期分类,Linux环境变量可以分为两类:
按照作用域来分,Linux环境变量可以分为:
环境变量设置方式
如果要查看具体环境变量的内容,我们可以使用echo指令,然后在变量前加上$
:
$ echo $PATH
PATH变量
指定了我们可运行软件的路径,如果一个软件没有被添加进PATH变量
,那么我们是无法直接在Shell
中运行此软件的。
如果要设定环境变量,我们可以使用以下的指令:
$ NEW_VARIABLE=new_value
$ echo $NEW_VARIABLE
new_value
加入一些其他的变量到PATH变量中,可以使用以下的指令:
$ PATH=$PATH:<PATH1>:<PATH2>:<PATH3>
$ export PATH
如果要清除环境变量,可以使用unset指令:
$ unset NEW_VARIABLE
$ echo $NEW_VARIABLE
以上的环境变量的生存周期只在当前shell
中,如果要添加一些永久性生效的环境变量,则需要将变量添加在 /etc/profile 文件中。比如我们要让系统可以运行java,那么当我们下载完java完之后,可以在/etc/profile中添加以下的环境变量:
export CLASSPATH=./JAVA_HOME/lib;$JAVA_HOME/jre/lib
如果只想为单一用户设置变量,那么只要修改 ~/.bash_profile 即可:
$ vim ~/.bash.profile
export CLASSPAHT=./JAVA_HOME/lib;$JAVA_HOME/jre/lib
修改文件后如果想要马上生效,就要运行$ source ~/.bach_profile 不然只能等待用户重新登入时才能生效。
USER
: 当前的用户名PWD
: 当前的工作文件夹HOME
: 指定用户的主工作目录(既目录登入到Linux系统中,默认的目录)HISTSIZE
: 指保存历史命令记录的条数LOGNAME
: 指当前用户的登录名HOSTNAME
: 指主机的名称,许多用户程序如果要用到主机名的话,通常是从这个环境变量中来取得的SHELL
: 指当前用户用的是哪种ShellLANG/LANGUGE
: 和语言相关的环境变量,使用多种语言可以修改此环境变量TZ
: 用户所在的时区MAIL
: 指当前用户的邮件存放目录