通配符及输入输出重定向

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了通配符及输入输出重定向相关的知识,希望对你有一定的参考价值。

技术分享图片

1、通配符 *

”表示通配,见下图,
技术分享图片
当前目录下有5个 txt 文件。也有其他写法,结果也是不一样,见下图,
技术分享图片
以上就是
,和 * 有对比的字符是 ? 。见下图,
技术分享图片
?表示一个任意的字符,数字和英文字母都可以。接着做对比,见下图,
技术分享图片
还有一种用法是使用中括号,见下图,
技术分享图片

还有花括号的用法,见下图,
技术分享图片
与中括号不同的是,花括号里面的字符需要用“,”号隔开。

2、输入输出重定向

“>” 表示输入输出重定向,举个例子,见下图,
技术分享图片
查看 1.txt 和 2.txt 文件,里面没有内容,使用 vi 命令在里面写上一串数字。从上图中可以看出, cat 1.txt > 2.txt 这个命令表示将 1.txt 的内容重定向到 2.txt ,就是将 2.txt 的内容删除掉,将 1.txt 的内容重写到 2.txt 。

“>>” 表示追加内容,举个例子,见下图,
技术分享图片
为了将 1.txt 和 2.txt 文件区别开,编辑更改一下 2.txt 里面的内容,然后输入命令 cat 1.txt >> 2.txt ,可以看到,1.txt 里的内容追加到 2.txt 上了。

2> 会把这个命令产生的错误信息,指定输入到一个文件里,表示错误的输出。举个例子,见下图,
技术分享图片
运行一个有问题的命令 lsaaa ,提示未找到命令。这时候可以把这个错误信息定向到文件 a.txt 里去。然后用命令 cat a.txt 查看,里面的文件内容就是刚才的错误信息“-bash: lsaaa: 未找到命令”。上图中的 2>> 表示追加重定向。

总结一下:
“>” 表示输出,输出到指定的文件
“>>” 表示追加重定向
“2>” 表示错误的重定向
“2>>” 表示错误的追加重定向

那么,我们也可以把 > 和 2> 结合起来,写成 &> ,表示正确和错误的输出信息全部定向到一个文件里去。举个例子,见下图,
技术分享图片
同样也支持追加,表示为 &>> ,见下图,
技术分享图片
还有一种方法,把正确和错误的输出区分开,见下图,
技术分享图片
表示正确的输出到 1.txt 文件,错误的输出到 a.txt 文件。这个以后写 shell 脚本的时候,用的比较多。

“<” 表示为输入重定向。举个例子,见下图,
技术分享图片
wc -l 为查看文本文档行数的命令,< 输入重定向的左边一定是一条命令,右边是文件。上图第二条命令里面,尝试左边为文件的时候,出现报错。
输入重定向做个了解即可,一般工作中用不到。

以上是关于通配符及输入输出重定向的主要内容,如果未能解决你的问题,请参考以下文章

26期20180628 shell 命令操作 通配符 输出输入重定向

26期20180628 shell 命令操作 通配符 输出输入重定向

26期20180628 shell 命令操作 通配符 输出输入重定向

26期20180628 shell 命令操作 通配符 输出输入重定向

26期20180628 shell 命令操作 通配符 输出输入重定向

26期20180628 shell 命令操作 通配符 输出输入重定向