TODO - 待整理
一些概念
bytes stream 字节流
linux 执行一个程序时会自动打开三个流:标准输入流、标准输出流、标准错误流
输出流用 “>” 或 “>>” 表示
输入流用 “<” 表示
错误流用 “>&” 表示
// 输出文本流到屏幕 $ echo '我是小赖' // echo 输出信息到 a.txt $ echo '我是小赖' > a.txt // 追加文本流到 a.txt $ echo '我才是小赖' >> a.txt // 输出命令执行结果文本流到屏幕 $ ls // 重新定向, 这样 ls 命令的输出文本流就会写到这个文件上 $ ls > a.txt // 若 a.txt 已存在,则将ls 命令的输出文本流追加到这个文件上 $ ls >> a.txt // 输入文本流 $ cat < a.txt // 复制 a.txt 到 b.txt $ cat < a.txt > b.txt // 输出错误,假定 wrongDir 是不存在的目录 $ cd void >& a.txt
pipe 管道
使用管道,可以将一个命令的输出流当做另一个命令的输入流
管道用 “|” 表示
// 输出 "cat > a.txt" 当做命令 "wc" 的输入 // wc 即 word count:输出文本的行、词和字符总数 $ cat < a.txt | wc