linux中文件输出管理
1.输入输出的定义 1.输入 就是我们的键盘,鼠标和我们用这些硬件在系统中录入的字符 2.输入 就是系统接收到我们想要实现的功能字符后,经过进程的处理产生字符 输入会有两种出现 编号1为正确输出 编号2为错误输出 默认这两种输出都会被系统定向到字符设备中 2.如何管理输出 1.非交互式多行录入 vim C_pass.sh passwd sh C_pass.sh 是不能自动运行的 passwd <<END lee lee END sh C_pass.sh 可以自动运行避免交互 可以看到密码直接修改成功 2.如何管理输出 1.重定向 > 重定向正确输出 2> 重定向错误输出 &> 重定向所有输出 2>&1 把错误输出的编号由2转换为1 下面我用student用户做以下实验 find /etc/ -name passwd > file.out shell里面出现错误输出,正确输出被放到file.outlimian find /etc/ -name passwd 2> file.out 通过cat可以看到:文件的错误输出被放入file.out,shell上显示正确输出 find /etc/ -name passwd &> file.all 通过cat可以看到:文件的所有输出被放入file.out,shell上不显示输出 "注意:从定向是会覆盖原文件内容的!!!" vim westos hello westos find /etc/ -name passwd > westos cat westos 原文件内容不见了 2.追加 保持原文件内容不变的情况下把输出追加到文件之后 >> 追加正确输出 2>> 追加错误输出 &>> 追加所有输出 find /etc/ -name passwd >> westos find /etc -name passwd 2>> westos find /etc -name passwd &>> westo 在这里我们以追加错误输出为例: 在错误的输出定义到westos中后,依然保留了正确输出 3.管道 把输出变成下一个程序的输入 管道是用来组合多条命令的使用的 ls /bin | wc -l ls /bin表示列出 / bin ,通过管道让第一条指令的输出变成第二条指令的输入,最终统计出/bin的行数 "注意:通过管道后输出会变成输入,那么是无法保存在文件中的" tee 复制输出到指定位置 ls /bin | tee file | wc -l cat file file中已经保存了输出