Shell重定向:
标准输入:从键盘读取用户输入的数据
标准输出:shell程序产生的数据,这些数据一般都是呈现到显示器上供用户浏览查看。
默认输入输出文件
stdin 标准输入文件 0(文件描述符) 获取键盘的输入数据
stdout 标准输出文件 1(文件描述符) 将正确数据输出到显示器上
stderr 标准错误输出文件 2(文件描述符) 将错误信息输出到显示器上
输入重定向:数据从其他地方流入
输出重定向:数据流向其他地方
重定向作用:可以将命令结果输出到文件中,可以随时查阅
语法:
1.命令>file (覆盖输出) 2.命令>>file( 追加)
3.命令<file(读取文件数据)
4.命令<file1>file2(file1数据传给命令,命令结果传给file2)
5.命令 fd>file 根据文件描述符将数据重定向输出到file文件中(覆盖)
6.命令 fd>>file 根据文件描述符将数据重定向输出到file文件中(追加)
7.命令>file fd1>&fd2 将fd1和fd2文件描述符合并输出到文件
8.fd1<&fd2 将fd1和fd2文件描述符合并从文件读取
9.<<tag 读取终端数据输入,将开始标记tag和结束标记tag之间的内容作为输入,标记名tag可以任意
输出重定向:
//默认只会把正确的消息输出
ll asssssss >> log.txt
//输出错误信息
ll asssssss 2>> log.txt
//无论对错都输出(2要写在前面)
ll asssssss >> log.txt 2>&1
输入重定向:
wc:对文本进行统计
统计字节数:-c 统计单词数:-w 统计行数:-l
//获取该文件有几行
wc -l < log.txt
//处理每行数据
rowno=1;while read str;do echo "第${rowno}行$str";let rowno++;done < log.txt
//读取终端多行输入
wc -l << EOF
>aa
>bb
>cc
>EOF
结果:3