1. 河豚号 > 生活百科 >

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看世界

 

本文由网上采集发布,不代表我们立场,转载联系作者并注明出处:http://www.yujujie.cn/shbk/39466.html

联系我们

在线咨询:点击这里给我发消息

微信号:15705946153

工作日:9:30-18:30,节假日休息