Linux初入8 通配符,转义字符,环境变量,命令解释过程

通配符

1.什么时候需要通配符?
我们如何表示一个文件或一个目录(实际上目录就是一种特殊文件,它包含着其他文件的索引)?直接写出文件名不就好了吗?
当然,直接写出文件名就好。但是我们如果不知道文件的具体名字,只知道其中的一些字符,或者说我们想要找到名字符合一定特点的文件,这时候就要使用通配符了。
2.了解linux文件的命名规则。
(1)只要没有/的名字都符合规则。
(2)有些字符最好不用,如空格符、制表符、退格符和字符@#¥()- 等。
(3)避免使用 ▪ 作为普通文件名的第一个字符。
(4)大小写敏感。
3.通配符
在当前目录下创建test1 test2 test3 test4 test11

[a-z]表示ASCII码在a-z的某一个字符

查看test1,test2,test3的详细信息。

[huang@localhost ~]$ ls -l test[1-3]
-rw-rw-r--. 1 huang huang 0 Jan 22 15:20 test1
-rw-rw-r--. 1 huang huang 0 Jan 22 15:20 test2
-rw-rw-r--. 1 huang huang 0 Jan 22 15:20 test3

?表示一个任意的字符。

查看test1,test2,test3,test4的详细信息

[huang@localhost ~]$ ls -l test?
-rw-rw-r--. 1 huang huang 0 Jan 22 15:20 test1
-rw-rw-r--. 1 huang huang 0 Jan 22 15:20 test2
-rw-rw-r--. 1 huang huang 0 Jan 22 15:20 test3
-rw-rw-r--. 1 huang huang 0 Jan 22 15:20 test4

* 表示0或者多个任意的字符。

查看test1,test2,test3,test4,test12的详细信息。

[huang@localhost ~]$ ls -l test*
-rw-rw-r--. 1 huang huang 0 Jan 22 15:20 test1
-rw-rw-r--. 1 huang huang 0 Jan 22 15:20 test11
-rw-rw-r--. 1 huang huang 0 Jan 22 15:20 test2
-rw-rw-r--. 1 huang huang 0 Jan 22 15:20 test3
-rw-rw-r--. 1 huang huang 0 Jan 22 15:20 test4

转义字符

1.Shell解释器还提供了特别丰富的转义字符来处理输入的特殊数据
调用变量,$变量名

[huang@localhost ~]$ price=5
[huang@localhost ~]$ echo price is $price
price is 5

⚫反斜杠(\):使反斜杠后面的一个变量变为单纯的字符串。

[huang@localhost ~]$ echo price is \$price
price is $price

⚫单引号(’’):转义其中所有的变量为单纯的字符串。

[huang@localhost ~]$ echo 'price is $price'
price is $price

⚫双引号(""):和没加没有区别。

[huang@localhost ~]$ echo "price is $price"
price is 5

⚫反引号(``):把其中的命令执行后返回结果。

[huang@localhost ~]$ echo `ls`
test1 test11 test2 test3 test4

2.区分强引用‘’和弱引用“”,都表示字符串,关于他的嵌套,简单来说就是外面的引号覆盖里面的引号的共呢个。
https://blog.csdn.net/wocjj/article/details/7440537
强引用’'字符串中字符原样输出,像python中的原生字符串概念。
弱引用""里面加可以用转义字符,就是python中的普通字符串,可以在其中进行转义。

环境变量

1.什么是环境变量?在系统任何位置都可以访问的变量,可以访问并且获取它的值。可以通过env命令查看各种环境变量对应的值。export也可以http://www.runoob.com/linux/linux-comm-export.html

[huang@localhost ~]$ env

2.最常用的一个环境变量。PATH
(1)我们知道,linux中所有的命令都是以可执行文件的方式存在于某个目录下的,使用命令就是调用了目录下的可执行文件。
(2)为什么我们写的可执行文件就不能当作命令。因为在系统内置的命令,他们的可执行文件路径都存储在PATH环境变量里。其他目录下,输入我们自己写的程序的文件名不能知道他就是一个可执行文件。
(3)因此我们只要把可执行文件的路径存储在PATH中就可以像命令一样调用它了。
(4)windows下的环境变量同理,我们进行一些操作,在cmd中输入qq就可以直接打开QQ。
<1>首先找到QQ的执行位置,复制它的路径。在这里插入图片描述
<2>设置环境变量,打开我的电脑,右键->属性->高级系统设置->环境变量->找到PATH->新建->粘贴上刚才的路径。在这里插入图片描述
<3>win+R输入QQ就可以直接打开QQ了。

3.设置各种环境变量。
(1)添加环境变量,可以随时获得这个变量的值。其实就是简单的赋值。
<1>临时设置,直接添加就好了,开另一个shell或者重启的话就找不到了。

[huang@localhost ~]$ USER_OCCUPATION=student
[huang@localhost ~]$ echo $USER_OCCUPATION
student

<2>永久的用户环境变量设置,进入家目录下的.bashrc或者。bashprofile,vim在末尾添加

[huang@localhost ~]$ vim ~/.bash_profile 

export USER_OCCUPATION=sutdent

没有export(导出)外界无法认为他是一个环境变量,只是一个文件中的普通变量。

<3>永久的系统环境变量设置,同样的方法修改全局配置文件

[huang@localhost ~]$ vim /etc/profile
[huang@localhost ~]$ vim /etc/environment 

(2)修改环境变量,一般不推荐修改环境变量,可能会影响系统的正常使用。同样的方法修改,后导出

4.重要的内置的环境变量。

EDITOR 用户默认的文本编辑器

变量名称作用
HOME用户的主目录(即家目录)
SHELL用户在使用的Shell解释器名称
HISTSIZE输出的历史命令记录条数
HISTFILESIZE保存的历史命令记录条数
MAIL邮件保存路径
LANG系统语言、语系名称
RANDOM生成一个随机数字
PATH定义解释器搜索用户执行命令的路径
EDITOR用户默认的文本编辑器

命令解释过程

我们已经知道了命令都是以文件的方式存在于系统中的,那么命令仅仅只是查找PATH中文件这么简单吗?并不是
1.第1步:判断用户是否以绝对路径或相对路径的方式输入命令(如/bin/ls),如果是的话则直接执行。
2.Linux系统检查用户输入的命令是否为“别名命令”,即用一个自定义的命令名称来替换原本的命令名称。可以用alias命令来创建一个属于自己的命令别名,格式为“alias 别名=命令”。若要取消一个命令别名,则是用unalias命令,
格式为“unalias 别名”。
[root@localhost ~]# alias ll
alias ll=‘ls -l --color=auto’
3.第3步:Bash解释器判断用户输入的是内部命令还是外部命令。内部命令是解释器内部的指令,会被直接执行;而用户在绝大部分时间输入的是外部命令,这些命令交由步骤4继续处理。可以使用“type命令名称”来判断用户输入的命令是内部命令还是外部命令。
[root@localhost ~]# type ls
ls 是 `ls --color=auto’ 的别名
[root@localhost ~]# type reboot
reboot 是 /usr/sbin/reboot
4.第4步:
系统在多个路径中查找用户输入的命令文件,而定义这些路径的变量叫作PATH,可以简单地把它理解成是“解释器的小助手”,作用是告诉Bash解释器待执行的命令可能存放的位置,然后Bash解释器就会乖乖地在这些位置中逐个查找。
PATH是由多个路径值组成的变量,每个路径值之间用冒号间隔,对这
些路径的增加和删除操作将影响到Bash解释器对Linux命令的查找

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值