Linux通配符与环境变量

Linux通配符 (Wildcard)

用途:在查询,输入文件名时获得更高的效率

?字符

字符代表单个字符

# 已存文件:a.txt, b.txt
$ ls ?.txt
a.txt b.txt

可以看到 ?匹配了任何单个字符,所以a.txtb.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环境变量可以分为两类:

  • 永久环境变量:需要用户修改相关的配置文件,变量永久有效。
  • 临时环境变量:用户可以使用export命令,在当前终端下声明环境变量,当shell终端被关闭的时候就失效了。

按照作用域来分,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: 指当前用户用的是哪种Shell
  • LANG/LANGUGE: 和语言相关的环境变量,使用多种语言可以修改此环境变量
  • TZ: 用户所在的时区
  • MAIL: 指当前用户的邮件存放目录
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值