linux转义字符大全(linux中4种常用的转义符)


一:扩展

其实每次你按下回车键时,bahs都会在执行命令前对文本进行多重的处理。举个简单的例子,*作为通配符的意思匹配任意多个字符,那么当命令行中有通配符*时,在执行命令之前,bash会把*进行扩展

echo命令用于显示文本,也就是将文本参数内容打印到标准输出,如下echo ls

《Linux命令行大全》:1-7-透过shell看世界


那么echo *.txt,就会把当前目录下所有以.txt结尾的文件名显示出来

(1)路径名扩展

像刚才这种echo *.txt,使用通配符实现扩展的机制称为路径名扩展,这种功能非常灵活,可以配合通配符实现很多需求
比如找出当前目录下所有以大写字母开头的文件或文件夹

《Linux命令行大全》:1-7-透过shell看世界


查看usr目录下,众多目录里含有share目录的路径

《Linux命令行大全》:1-7-透过shell看世界

(2)波浪线扩展

其实这个大家也都知道,cd ~是回到用户目录,而echo ~是显示用户目录

《Linux命令行大全》:1-7-透过shell看世界

(3)算数扩展

shell可以当作计算器使用。使用算数扩展要尊重这样的格式:$((expression))

《Linux命令行大全》:1-7-透过shell看世界


算数扩展支持的算数运算符如下

《Linux命令行大全》:1-7-透过shell看世界


这里算数扩展仅了解,更多要在后续介绍

(4)花括号扩展

用过花括号扩展的人不得不说它的强大
使用花括号扩展时,花括号内的以逗号分隔的字符会进行分别处理
比如说我要一次性创建5个文件夹分别为test_1_test,test_3_test,test_5_test,test_7_test,test_9_test,一个一个创建太过麻烦,所以可以使用花括号扩展

《Linux命令行大全》:1-7-透过shell看世界


还有更神奇的用法,如果花括号中左右两边中间是..,那么他就会按照左右两边的规律进行处理
比如说创建26个文件夹,文件夹名字分别是26个大写字母

《Linux命令行大全》:1-7-透过shell看世界


还比如生成1-10000的一万个数,则可写作echo {1..10000} > test.txt

《Linux命令行大全》:1-7-透过shell看世界

(5)参数扩展

其实参数扩展,我在另外一篇文章中就讲到过了,就是如何显示环境变量,使用到的就是ech $PATH

《Linux命令行大全》:1-7-透过shell看世界

二:引用

第一部分我们讲了,$命令作为扩展的关键字,对命令进行扩展,但是有时会产生一些问题,比如说下图我的目的是在屏幕上显示 I have $5.00,但是$遇见了5,于是开始了参数扩展,但是没有这样类型的环境变量,所以它被替换为了空字符串,于是输出了I have .00

《Linux命令行大全》:1-7-透过shell看世界


所以为了解决这样的问题,shell提供了引用

(1)双引号

双引号是第一种引用,主要用来处理空格问题,只要文本在双引号之中,Linux中除了$,/外,其余特殊符号将失去意义,也就是说除了参数扩展,算数扩展外其他扩展将失效。

空格在命令行中具有很特殊的意义,空格空开的两个字符很可能被当做为两个参数。如果必须要创建一个名字叫做Hello World.txt的文件夹,要是按照之前的方式创建,就会创建出两个文件夹

《Linux命令行大全》:1-7-透过shell看世界


如果把文件夹名字放在双引号之内,将会忽略掉空格

《Linux命令行大全》:1-7-透过shell看世界


但是注意双引号对参数扩展和算数扩展无效

《Linux命令行大全》:1-7-透过shell看世界

(2)单引号

如果要使得所有扩展都不生效,那么就是用单引号

《Linux命令行大全》:1-7-透过shell看世界

(3)转义字符

我相信在这里,转义字符就不需要我多说了吧,能看这种类型文章人,还会不知道转义字符的作用吗

《Linux命令行大全》:1-7-透过shell看世界

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发表评论

登录后才能评论