linux下的文件输入输出管理问题

linux下的文件的输入与输出

一.输入与出处的定义

  1. 输入:输入是指我们的键盘,鼠标等硬件在系统中录入的字符
  2. 输出:输出是指系统在接受到我们想要实现的功能字符后,经过进程的处理产生的字符, 输出会有两种出现,编号1为正确输出,编号2为错误输出,默认这两种输出都会被系统定向到字符设备中
    linux下的文件输入输出管理问题
    如图,我们输入的输出的的都在pts的这个快设备里

二。如何管理文件的输入与输出

  1. 管理输出
    ####### 输出重定向#####
    > #重定向正确输出
    2> #重定向错误输出
    &> #重定向所有输出
    示例:在普通用户下查找 /etc/ 中的passwd文件,将正确的输出到file中,错误的输出到file.err中,全部文件输出到file.all中
    linux下的文件输入输出管理问题linux下的文件输入输出管理问题linux下的文件输入输出管理问题

linux下的文件输入输出管理问题
注意:重定向会覆盖源文件内容,如果想要不覆盖,这里就要用到输出追加了
>> #追加正确输出到文件最后
2>> #追加错误输出到文件最后
&>> #追加所有输出到文件最后

linux下的文件输入输出管理问题
linux下的文件输入输出管理问题

  1. 管理输入
    输入重定位"<<"
    在有些时候需要多次输入的时候可能会让人感到厌烦,尤其时同样一件事,那么我们就可以在输入上下一番功夫,我们可以touch一个文件,给它执行的权力,然后进行输入重定位,这样就可以省去很多事情
    linux下的文件输入输出管理问题
    linux下的文件输入输出管理问题
    linux下的文件输入输出管理问题
    注意,EOF处时输入的检测,当检测到与EOF相同的输入时则结束
    linux下的文件输入输出管理问题
    注意:在执行文件时一定要是绝对路径,否则文件可能会找不到
    3.管道 “|”
    管道的作用:把输入变成输出
    ls /bin | wc -l 统计/bin下的文件有多少个

    linux下的文件输入输出管理问题
    注意:通过管道后输出会变成输入,那么是无法保存在文件中的
    tee 复制输出到指定位置

    ls /bin | tee file | wc -l 统计/bin下的文件保存在file文件中,并在shell中显示有多少个
    linux下的文件输入输出管理问题
    注意:管道只能将正确的输入变输出,错误的则不行
    在这里,我们用2>&1:把错误的编号由2转1,这样错误的输出也就可以通过管道

    linux下的文件输入输出管理问题
    linux下的文件输入输出管理问题