1.标准输入输出

设备 设备文件名 文件描述符 类型
键盘 /dev/stdin 0(在shell中) 标准输入
显示器 /dev/stdout 1 标准输出
显示器 /dev/stderr 2 标准错误输出

2.输出重定向

  1. 所有的标准输出文件描述符1均可以不写,但标准错误输出2一定要写,也就是说>文件与1>文件效果一样
类型 符号 作用
标准输出重定向1 >文件 覆盖到文件或设备
标准输出重定向2 >>文件 追加到文件或设备
标准错误输出重定向1 2>文件 覆盖到文件或设备
标准错误输出重定向2 2>>文件 追加到文件或设备
正确输出和错误输出同时保存1 >文件 2>&1 以覆盖的方式将两者保存同一文件
正确输出和错误输出同时保存2 >>文件 2>>&1 以追加的方式将两者保存同一文件
正确输出和错误输出同时保存3 &>文件 以覆盖的方式将两者保存同一文件
正确输出和错误输出同时保存4 &>>文件 以追加的方式将两者保存同一文件
正确输出和错误输出同时保存5 >>文件1 2>>&1 正确追加文件1,错误追加文件2

3.Linux黑洞

  1. # /dev/null是Linux的默认给的文件,将信息重定向这里会导致所有信息被吞噬,类似于垃圾站
  2. # 所以ls &>/dev/null(这里连在一起,不要有空格)定向到这里将会无显示(正确输出和错误输出都会),一般用于当我不想看到某条命令的输出结果时

4.输入重定向

  1. 1.<和<<
  2. 2.一般来说,输入wc回车后,启用键盘作为输入源,输入后按ctrl+d结束会自动统计
  3. 3.wc < access.log会改变输入源为文件(其实直接wc access.log也行,这是这条命令的标准用法)
  4. 4.文本块做为输入源(ddy为标记,可任意命名)
  5. wc << ddy
  6. sdfsf
  7. sfddf
  8. sdfdf
  9. ddy
  10. # 再次碰到标记时代表结束,自动进行统计(但基本不用)