Linux体系结构之Shell(一)

Shell 中的特殊字符

1.    通配符

当我们需要使用Shell命令处理一组文件(例如file1.txt、file2.txt、file3.txt……),按个输入文件名会十分的麻烦。这时我们可以使用通配符。

Shell命令的通配符有以下几种:

       *(星号):匹配多个字符

       ?(问号):匹配一个字符

       [](方括号):匹配指定的字符

       [-](方括号内有-):匹配指定范围的字符

       [^](方括号内有^):匹配除了指定字符外的字符

例如,现在有以下几个文件:

       file1.txt

       file2.txt

       file3.txt

       file123.txt

       file124.txt

       file134.txt

       file125.txt

       file5.txt

则以下通配符表示:

       file?.txt:选中了文件file1.txt、file2.txt、file3.txt、file5.txt

       file1?4.txt:选中了文件file124.txt和file134.txt

       file*.txt:选中了所有文件

       file1*.txt:选中了文件file1.txt、file123.txt、file124.txt、file134.txt、file125.txt

       file[1-3].txt:选中了文件file1.txt、file2.txt、file3.txt

       file[135].txt:选中了文件file1.txt、file3.txt、file5.txt

       file[^135].txt:选中了文件file2.txt

 

2.    管道

管道符号"|"可以将一系列的Shell命令连接起来,将第一个命令的输出作为第二个命令的输入,而第二个命令的输出又将作为第三个命令的输入……以此类推。管道经常与cut命令、grep命令等命令一起出现。

例如,使用管道连接两个指令:

ls ~ | wc -w

wc 指令可以统计当前文档的相关信息,-w表示统计有多少词,-l表示有多少行,-m表示有多少字符。在这个用管道连接的命令中,ls ~的输出结果将作为wc -w的输入,wc命令统计ls ~命令输出的结果内有多少个单词。

通过管道符号"|"可以将多个Shell命令联合使用,可以实现单个指令中无法得到的效果。

示例:命令 cat hello.c | grep printf

cat命令的意思是在终端打印指定文档。该命令首先将hello.c的内容输出,然后使用grep命令查找所有带有“printf”字样的行。


 3.    输入输出重定向

在Linux中默认的输入是键盘,默认的输出是终端。若想改变输入/输出的目标,则需要使用输入输出重定向符号来改变输入输出目标重定向到新的目标。

输入输出重定向符号有以下几种:

       >文件名 或 1> 文件名:将该文件作为重定向的输出源,即将输出结果显示在该文件内。(采用w(新建)模式)

       >>文件名:将该文件作为重定向的输出源,即将输出结果显示在该文件内。(采用a(追加)模式)

       <文件名:将该文件作为重定向的输入源

       2>文件名 或 &> 文件名:将该文件作为重定向的输出错误源,即命令产生的错误信息会重定向到该文件中

示例1:ls -l >hello.txt 将ls -l的结果输出到文件hello.txt中

示例2:wc -l <hello.txt 将hello.txt作为输入内容传输给wc命令


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值