linux命令之输入输出重定向
2018-07-18 本文已影响0人
陆_志东
首先看看文件描述符
标准输入重定向(STDIN,文件描述符为0):默认从键盘输入,也可以从其他文件或命令输入
标准输出重定向(STDOUT,文件描述符为1):默认输出到屏幕
错误输出重定向(STDERR,文件描述符为2):默认输出到屏幕
输入重定向:
命令 < 文件 将文件作为命令的标准输入
命令 << 分界符 从标准输入中读入,直到遇见分界符才停止 , 分界符是自己定义的字符,
命令 < 文件1 > 文件2 将文件1 作为命令的标准输入,并将命令的标准输出 输出到文件2
输出重定向:
命令>文件 将标准输出重定向一个文件中(清空原来内容)
命令 2> 文件 将错误输出重定向一个文件中(清空原来内容)
命令>>文件 将标准输出重定向一个文件中(追加数据)
命令 2>> 文件 将错误输出重定向一个文件中(追加数据)
命令 >> 文件 2>&1
或者 命令 & >> 文件 将错误输出和标准输出共同写入到文件中(追加数据)
什么是错误输出和标准输出
标准输出:比如查看一个存在的文件
ll a.txt 会输出文件a 的详细信息(所属组,创建/更新时间)这就是标准输出
错误输出:查看一个不存在的文件
ls xxx.txt 这个文件并不存在,会输出 no such file or directry 这个就是错误输出,归属文件描述符2
输入重定向例子
wc -l < readme.txt 统计readme文件的行数