linux中的输入输出管理

    科技2024-01-26  100

    Linux中的输入输出管理

    1. 输入输出的定义1.2 输出的定义 2. 输入的管理2.1 输入重定向2.2 多行录入 3. 输出的管理3.1 输出重定向3.2 追加3.3 管道

    1. 输入输出的定义

    输入的定义:一般是键盘,鼠标和用这些硬件在系统中录入的字符,常见的输入设备:键盘、鼠标、打字机 字符设备:是将字符放到该文件中能自动的显示到屏幕上的设备文件

    stdin:标准输入,标号是0

    1.2 输出的定义

    输出的定义:系统接收到我们想要实现的功能字符后,经过进程的处理产生字符,输出分为两种:正确输出和错误输出

    stdout:标准正确输出,标号为1stderr:标准错误输出,标号是2

    2. 输入的管理

    2.1 输入重定向

    输入充重定向: " < " 例如将file中的小写字母转换为大写字母显示,使用重定向能减少系统的损耗

    cat file |tr 'a-z' 'A-Z' tr 'a-z' 'A-Z' < file : 将file文件中原本要放到shell中的内容重定向到tr程序中,tr:转换大小写

    2.2 多行录入

    多行录入:" << "“ echo ”代表输出,多次使用echo也可实现多行录入的功能 多行录入的实现 : tr 'a-z' 'A-Z' << EOF ##此处的EOF可以用任意字符替代,表示多行录入的开始 hello world EOF ##当多行录入的字符再次出现时,表示录入结束,两个EOF中间的内容代表录入的内容 例如用脚本的非交互模式编写文件files的内容为:

    hello hello linux hello world! 可在脚本中使用多行录入的方式实现:

    cat > files << EOF hello hello linux hello world! EOF

    3. 输出的管理

    3.1 输出重定向

    输出重定向:" > "

    输出重定向会对原文件中的内容覆盖,相当于对原文件的重写

    重定向正确输出: find /etc -name passwd 1> file.out find /etc -name passwd > file.out (1可省略不写) 重定向错误输出: find /etc -name passwd 2> file.err 重定向所有输出: find /etc -name passwd &> file.all

    例如对passwd中的正确、错误输出重定向输出到相应的文件中:

    3.2 追加

    追加: " >> " 追加和重定向的功能类似,区别是追加是在原文件的末尾添加内容,并不会对原文件的内容覆盖

    find /etc -name passwd >> westos.out ##追加正确输出 find /etc -name passwd 2>> westos.out ##追加错误输出 find /etc -name passwd &>> westos.out ##追加所有输出

    3.3 管道

    管道 : | " | "把前一条命令的输出变成输入传递到下一条命令进行操作 注意:管道只能处理正确的输出若想使用管道处理错误的输出,可以通过把编号是 “ 2 ”的错误输出转化为编号为 “ 1 ” 的正确输出

    下图是使用管道处理错误输出并统计错误输出的行数:

    管道在一条命令中可以使用多次 下图是使用管道处理错误输出,将错误的输出复制到file3中显示并统计错误输出的行数显示: tee是复制输出到指定位置
    Processed: 0.012, SQL: 8