第七章:标准的输入/输出和管道


Linux提供三种IO

STDIN:standard INPUT 标准输入:默认键盘

STDOUT :standard OUTPUT 标准输出 :默认终端

STDERR::standard ERROR 错误输出:默认终端

重定向

> :正确输出重定向

2> :错误输出重定向

&> :所有结果重定向

>> :追加 (正确的追加)

2>> &>> :错误的追加、所有追加

&> /dev/null :丢弃全部结果(尽可能的把过程丢掉)

2>&1 :把错误的当正确输出

管道 | (错误的无法通过管道,但是可以通过2>&1 将错误的信息作为正确的输出)

command1|command2|command3......

less : ls -l /etc | less //将前面命令执行的结果作为分屏显示的输入

mail : echo "test email" | mail -s "test" [email protected]

lpr : echo "test print" |lpr

echo "test print" | lpr -P printer_name

重定向不能重定向到文件里面,到文件里面就结束了,智能重定向到屏幕上才可以继续管道。

find /etc/ -name passwd 2>&1 >find.out |wc -l

合并输出()

(cal 2017,cal 2018) > cal.txt

tee 重定向多个结果

|tee file.txt |tee aa.txt | tee a.txt



 键盘作为标准的输入设备

输入重定向

<

cat < /etc/passwd :原本cat是捕捉标准输入源,现/etc/passwd文件的内容作为输入源。这个过程完成了一次输入重定向。

输入重定向作用:

1、tr :转换功能

tr `A-Z` `a-z` < .bash_profile 将文件中的所有大写转换成小写

2、管道也使用了输入重定向

如何捕捉多行输入

<< :将多次输入的结果一次输出

mail -s "zhuti" [email protected] << END

XXXXX

XXXXX

END //END 作为结束符

cat >> test <<END

****

****

****

END //结束符


for循环

for NAME in joe jane julie

do

  ADDRESS="[email protected]"

  MESSAGE="Projects are due today!"

  echo $MESSAGE |mail -s Reminder $ADDRESS

done

时间: 2024-10-07 17:06:52

第七章:标准的输入/输出和管道的相关文章

java-第七章-数组-依次输入5句话,然后将它逆序输出.

import java.util.Scanner; public class A01 { public static void main(String[] args) { // TODO Auto-generated method stub Scanner input = new Scanner (System.in); System.out.println("请输入5句话:"); String[] names = new String [5]; for (int i = 0; i &

NIO入门系列之第一章:输入/输出:概念性描述

第1章 输入/输出:概念性描述 1.1  I/O 简介 I/O 或者输入/输出指的是计算机与外部世界或者一个程序与计算机的其余部分的之间的接口.它对于任何计算机系统都非常关键,因而所有 I/O 的主体实际上是内置在操作系统中的.单独的程序一般是让系统为它们完成大部分的工作. 在 Java 编程中,直到最近一直使用流的方式完成 I/O.所有 I/O 都被视为单个的字节的移动,通过一个称为 Stream 的对象一次移动一个字节.流 I/O 用于与外部世界接触.它也在内部使用,用于将对象转换为字节,然

《head first html与css、xhtml》——第六章--标准,规范,第七章--XHTML

2015-04-01 19:48:22 第六章--标准,规范 1.依据html 4.01严格的规范,内联元素必须包含在块元素中,当然,不这样做也能通过. 2.标准的网页加载速度更快,更容易在其他移动设备上运行好,同时,也容易被因视觉障碍而是用屏幕读取器的用户接受. 3.花时间去看错误的信息,你就会开始了解到他们的窍门. 4.只使用块元素填充<body>(<h1><h2>...<p><div><blockquote>..) 5.块元素在

对标准的输入的读取数据进行压缩,然后将其写到标准的输出

//对标准的输入的读取数据进行压缩,然后将其写到标准的输出 package com; import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.io.IOUtils; import org.apache.hadoop.io.compress.CompressionCodec; import org.apache.hadoop.io.compress.CompressionOutputStream; import o

Java-第三章-从键盘输入3个整数,然后将输入的整数按照从小到大的顺序放在abc,并输出3个变量的值

import java.util.*; public class lianxi72_3 { public static void main(String[] args) { // TODO Auto-generated method stub Scanner s=new Scanner(System.in); System.out.println("请输入a的值:"); int a=s.nextInt(); System.out.println("请输入b的值:")

java-第七章-数组-循环输出

public class A01 { public static void main(String[] args) { // TODO Auto-generated method stub String name [] = new String []{"Nike背包","Adidas运动衫","李宁运动鞋","Kappa外套","361°腰包"}; System.out.println("本次活动

java-第七章-数组-字符逆序输出

import java.util.Arrays; public class A03 { public static void main(String[] args) { // TODO Auto-generated method stub char Letter [] = new char []{'a','c','u','b','e','p','f','z'}; System.out.print("原字符 列表:"); for (int i = 0; i < Letter.len

C++_第七章函数的基本知识_求阶乘的子函数_ 函数参数类型为数组_ 求数组内所有元素和、部分元素和的方法_实现了先从键盘输入到一个数组中,再用for循环取读出数组中的元素 for循环也可以用break来结束循环的

/* 第七章函数的基本知识 */ /*01)c++对于返回值有一定的限制:可以是常量.变量.指针.结构对象或表达式,但不可以是数组02)c++返回数组的方法:将数组作为结构会对象组成部分来返回03)函数遇到return则结束该函数04)如果一个函数的两房额参数类型相同,则必须分别制定每个参数的类型,而不能像声明常规变量那样,将声明组合在一起05)*/ //本代码注意double类型的写法以及double和int类型数据的转换 1 #include <iostream> 2 3 void che

《C语言程序设计:现代方法(第2版)》第3章 格式化输入/输出

目录 第3章 格式化输入/输出 第3章 格式化输入/输出 在探索难以实现的问题时,问题本身的简单性只会使情况更糟. scanf函数和printf函数是C语言编程中使用最频繁的两个函数,它们用来格式化输入和输出.正如本章要展示的那样,虽然这两个函数功能强大,但要用好它们却不容易.3.1节描述printf函数,3.2节则介绍scanf函数.但是这两节的介绍都不完整,完整的细节将留到第22章中介绍. 原文地址:https://www.cnblogs.com/shenhuanjie/p/11431045