个人学习笔记,如有错误,欢迎大家指出!
一. 文件读写操作有关的重定向技术的5种模式
标准覆盖输出重定向、标准追加输出重定向、错误覆盖输出重定向、错误追加输出重定向以及输入重定向
1. 输入重定向
把文件导入到命令中
表3-1 输入重定向中用到的符号及其作用
符号 | 作用 |
---|---|
命令 < 文件 | 将文件作为命令的标准输入 |
命令 << 分界符 | 从标准输入中读入,直到遇见分界符才停止 |
命令 < 文件1 > 文件2 | 将文件1作为命令的标准输入并将标准输出到文件2 |
**示例:**使用输入重定向把readme.txt文件导入给wc -l命令,统计一下文件中的内容行数。
[root@linuxprobe ~]# wc -l < readme.txt
2
2. 输出重定向
把原本要输出到屏幕的数据信息写入到指定文件中
表3-2 输出重定向中用到的符号及其作用
符号 | 作用 |
---|---|
命令 > 文件 | 将标准输出重定向到一个文件中(清空原有文件的数据) |
命令 2> 文件 | 将错误输出重定向到一个文件中(清空原有文件的数据) |
命令 >> 文件 | 将标准输出重定向到一个文件中(追加到原有内容的后面) |
命令 2>> 文件 | 将错误输出重定向到一个文件中(追加到原有内容的后面) |
命令 >> 文件 2>&1 或 命令 &>> 文件 | 将标准输出与错误输出共同写入到文件中(追加到原有内容的后面) |
示例:(存储man bash
的命令到readme.txt文件中)
[root@linuxprobe ~]# man bash > readme.txt
[root@linuxprobe ~]# cat readme.txt
BASH(1) General Commands Manual BASH(1)
NAME
bash - GNU Bourne-Again SHell
SYNOPSIS
bash [options] [file]
COPYRIGHT
Bash is Copyright (C) 1989-2011 by the Free Software Foundation, Inc.
………………省略部分输出信息………………
二. 细说输出重定向
分为了标准输出重定向和错误输出重定向两种不同的技术,以及清空写入与追加写入两种模式。
1. 两种不同模式的区分标识
(就是上面表格那些1,2)(其中,标准输出的1可省略)
-
标准输出模式用1标识
-
错误输出模式用2标识。
2. 标准输出模式
简单来说就是存储使用命令后所产生的日志的。
3. 错误输出模式
简单理解就是输出发生错误时打印的报错信息,就是存储保存信息用的。
- 使用输出模式使用
>
输出内容至文件,这个操作会抹掉文件原本有的内容。 - 使用
>>
会将输入内容放到最后,则不会覆盖