重定向

重定向顾名思义就是将命令输出的内容定向输出到您指定路径下的文件中。

例子1:
image.png
将ifconfig输出的内容写入当前路径下的text.txt文件中,如text.txt文件不存在则创建并写入。另外,如下次再次使用 > 写入text.txt的话,系统会直接覆盖原有内容,这样会导致原有内容丢失的情况发生。

例子2:
image.png
在例子1的基础上,如需追加内容则使用>>即可。

例子3:
有时候错误的命令会导致错误的输入,这种情况如果使用上述的重定向的话,你会发现并没有将输出写入你希望的文件中而直接输出。此时你就可以使用 2> 或者 2>> 重定向错误的内容,如下:
image.png
但是此时你会发现通过2>>却不能将正确的命令输出重定向到你要的文件中去了。那么会不会存在一种方式可以将正确或者错误的命令输出都重定向到你要的文件中去呢?答案是存在的,如下:
image.png

总结:

语法 说明
Command > File 将命令输出至文件中,如文件不存在则新建
Command >> File 将命令输出追加至文件中
Command 2> File 如命令为错误命令,则输出至文件中,如命令为正确的话则直接输出显示
Command 2>> File 如命令为错误命令,则输出追加至文件中,如命令为正确的话则直接输出显示
Command &> File 将命令输出至文件中,如文件不存在则新建。无论命令是否有效,都会重定向。
Command &>> File 将命令输出追加至文件中。无论命令是否有效,都会重定向。

管道符

语法:
Command 1 | Command 2 ,将命令1的输出内容当成参数输入给命令2。

例子1:
image.png
如配合grep使用就可以实现输出内容查找效果。

例子2:
image.png
上述命令则是在text.txt文件中查找含有ens160的行内容。

grep常用参数:

语法 说明
grep key_word 查找key_word
grep -i key_word 无视key_word大小写
grep -n key_word 显示行数
grep -v key_word 反向过滤
grep -A5 key_word 显示关键字及后面5行
grep -B5 key_word 显示关键字及前面5行
grep -C5 key_word 显示关键字及前后5行