嵌入式入门学习系列笔记索引
目录
前言
shell中一些特殊字符平时很少用到,这里对常用命令做一个汇总,以便需要时查阅。
一、shell中的通配符
通配符:当需要用命令处理一组文件,例如file1.txt、file2.txt、file3.txt……,用户不必逐一输入文件名,可以使用shell通配符。shell命令的通配符如下表
通配符 | 含义 | 实例 |
星号(*) | 匹配任意长度的字符串 | 用file_*.txt,匹配file_wang.txt、file_Lee.txt、file3_Liu.txt |
问号(?) | 匹配一个长度的字符 | 用flie_?.txt,匹配file_1.txt、file1_2.txt、file_3.txt |
方括号([…]) | 匹配其中指定的一个字符 | 用file_[otr].txt,匹配file_o.txt、file_r.txt和file_t.txt |
方括号([ - ]) | 匹配指定的一个字符范围 | 用file_[a-z].txt,匹配file_a.txt、file_b.txt,直到file_z.txt |
方括号([^…]) | 除了其中指定的字符,均可匹配 | 用file_[^otr].txt,除了file_o.txt、file_r.txt和file_t.txt的其他文件 |
二、shell中的管道
管道:管道可以把一系列命令连接起来,意味着第一个命令的输出将作为第二个命令的输入,通过管道传递给第二个命令,第二个命令的输出又将作为第三个命令的输入,以此类推。就像通过使用“|”符连成了一个管道。
例如:
以上操作中,借助管道“|”,将ls的输出直接作为wc命令的输入。使用管道可以巧妙的将一些命令联合使用,得到单个命令所无法实现的效果。例如使用以上的命令组合,得到的是/dev/disk目录下文件的个数。
三、输入/输出重定向
- 输入/输出重定向是改变shell命令或程序默认的标准输入/输出目标,重新定向到新的目标。
- linux中默认的标准输入定义为键盘,标准输出定义为终端窗口。
- 用户可以为当前操作改变输入或输出,迫使某个特定命令的输入或输出来源为外部文件。
重定向符 | 含义 | 实例 |
>file | 将file文件重定向为输出源,新建模式 | ls /usr > Lsoutput.txt,将ls /usr的执行结果,写到Lsoutput.txt文件中,若有同名文件将被删除 |
>> file | 将file文件重定向为输出源,追加模式 | ls /usr >> Lsoutput.txt,将ls /usr的执行结果,追加到Lsoutput.txt文件已有内容后 |
< file | 将file文件重定向为输入源 | wc < file1,将file1中的内容作为输入传给wc命令 |
2> 或 &> | 将由命令产生的错误信息输入到文件中 | ls noexistingfile.txt 2> err.log,使用ls命令,查看一个不存在的文件时,将系统错误提示保存在err.log文件中 |
以cat命令为例,cat命令命令用于连接文件并打印到标准输出设备上,如果命令后面不跟参数,则会将用户使用标准输入设备(如:键盘)输入的内容显示在标准输出(如:显示器)上:
使用重定向符‘>’将输出定向到文件file1.txt:
此时,显示器不再显示输入的字符串,而是输出到了file1.txt文件中:
使用输入重定向符‘<’,将文件file1.txt中的内容作为输入,并在标准输出上显示:
四、命令置换
命令置换是将一个命令的输出作为另一个命令的参数。命令格式如下所示。
command1 `command2`
其中,命令command2的输出将作为命令command1的参数。需要注意,命令置换的单引号为ESC键下方的“`”键
pwd命令用于显示当前目录的绝对路径。在上面的命令行中,使用命令置换符,将pwd的运行结果作为ls命令的参数。最终,命令执行结果是显示当前目录的文件内容。
总结
本文介绍了shell中常见特殊字符的含义以及使用方法。欢迎补充与指正。