通配符及输入输出重定向

通配符及输入输出重定向

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 为查看文本文档行数的命令,< 输入重定向的左边一定是一条命令,右边是文件。上图第二条命令里面,尝试左边为文件的时候,出现报错。
输入重定向做个了解即可,一般工作中用不到。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章