I/O:

系统设定

  默认输入设备:标准输入,STDIN,0

  默认输出设备:标准输出,STDOUT,1

  标准错误输出:STDERR,2

  属于不同的数据流

标准输入:键盘

标准输出和错误输出:显示器

I/O重定向:

输出重定向:

> :覆盖输出

>> :追加输出

2>:错误输出

2>>:追加错误输出

正常输出

ls /usr > /tmp/var.out

set

  -C:禁止对已经存在文件使用覆盖重定向;

  +C:允许覆盖输出

强制覆盖输出

ls /usr >| /tmp/var.out

错误输出

ls /varr 2> /tmp/var2.out

定向标准输出与标准错误输出

ls /varr > /tmp/var3.out 2> /tmp/err.out

&>:重定向标准输出或错误输出至同一个文件

ls /varr &> /tmp/var4.out

输入重定向

<:正常输入

<<:Here Document

cat << EOF

正常输入

tr 'a-z' 'A-Z' < /etc/fstab

输出内容到文件中

cat >> /tmp/myfile.txt << EOF

管道:前一个命令的输出,作为后一个命令的输入

命令1 | 命令2 | 命令3 ...

echo "First love is only a little foolishness and a lot of curiosity." | tr 'a-z' 'A-Z'

echo "redhat" | passwd --stdin hive

cat /etc/passwd | sort

cut -d : -f 1 /etc/passwd | sort -n | tr 'a-z' 'A-Z'

ls /var | tr 'a-z' 'A-Z'

wc -l /etc/passwd | cut -d' ' -f 1

tee :从标准输入读取,写入到标准输出,并保存到文件中

echo "First love is only a little foolishness and a lot of curiosity." | tee  /tmp/test.out

练习:

1.统计/usr/bin目录下的文件个数;

#ls /usr/bin | wc -l

2.取出当前系统上所有用户的shell,每种shell只显示一次,且按顺序显示;

# /etc/passwd 保存shell

#cut -d : -f 7 /etc/passwd |sort -u

3.如何显示/var/log目录下每个文件的内容类型?

#file /var/log/*

4.取出/etc/inittab文件的第6行;

# head -6 /etc/inittab | tail -1

5.取出/etc/passwd文件中倒数第9个用户的用户名和shell,显示到屏幕上并将其保存至/tmp/users文件中;

# tail -9 /etc/passwd | head -1 | cut -d : -f 1,7 | tee /tmp/users

6.显示/etc目录下所有以pa开头的文件,并统计其个数;

#  ls -d /etc/pa* | wc -l

7.不使用文本编辑器,将alias cls=clear一行内容添加至当前用户的.bashrc文件中。

# echo "alias cls=clear" >> ~/.bashrc

Linux管道及I/O重定向的更多相关文章

  1. linux管道(|)与重定向(<>)的异同

    共同点:管道和重定向都改变程序的标准输入或者标准输出 区别: 管道(|)两边都是程序(命令),而重定向(<>)只有左边是程序(命令).即是,管道通过两个子进程来改变两边命令的输入或输出,重 ...

  2. Linux入门-7 Linux管道、重定向以及文本处理

    Linux管道.重定向以及文本处理 1 Linux多命令协作:管道及重定向 管道和重定向 2 Linux命令行文本处理工具 文件浏览 基于关键字搜索-grep 基于列处理文本-cut 文本统计-wc ...

  3. Linux管道及重定向

    Linux管道及重定向 对shell有一定了解的人都知道,管道和重定向是 Linux 中非常实用的 IPC 机制.在shell中,我们通常使用符合'|'来表示管道,符号'>'和'<'表示重 ...

  4. Linux Shell脚本入门--(linux空设备文件和重定向)>/dev/null 2>&1

    linux空设备文件和重定向 输出/输入重导向 >      >>   <   <<   :>   &>   2&>   2< ...

  5. 玩转Linux文件描述符和重定向

    本文介绍linux中文件描述符与重定向的相关知识,文件描述符是与文件输入.输出相关联的整数,它们用来跟踪已打开的文件.有需要的朋友参考下. 原文出处:http://www.jbxue.com/arti ...

  6. linux管道命令grep命令参数及用法详解---附使用案例|grep

    功能说明:查找文件里符合条件的字符串. 语 法:grep [-abcEFGhHilLnqrsvVwxy][-A<显示列数>][-B<显示列数>][-C<显示列数>] ...

  7. Linux管道的实现机制

    7.1.1 Linux管道的实现机制 在Linux中,管道是一种使用非常频繁的通信机制.从本质上说,管道也是一种文件,但它又和一般的文件有所不同,管道可以克服使用文件进行通信的两个问题,具体表现为: ...

  8. linux 管道--转

    linux 管道 管道是Linux中很重要的一种通信方式,是把一个程序的输出直接连接到另一个程序的输入,常说的管道多是指无名管道,无名管道只能用于具有亲缘关系的进程之间,这是它与有名管道的最大区别. ...

  9. Linux管道思想

    1.Linux管道 {{book | upper |lower | capfirst}} 含义:就是把前一个命令的结果当成后一个命令的输入.然后在下一个管道中输出满足条件的数据,如此继续数据的流向运动 ...

随机推荐

  1. GIS中的空间参考

    GIS一般都是研究的基于地球的某个区域,例如一个国家.省或市的情况,既然地球上都有经纬度来标识,那么直接用经纬度来标识物体的位置不可以吗?但如果应用不一样,在实际中选择的空间参考系也是不一样的.例如我 ...

  2. appium入门知识

    UI自动化相关工具 1.appium平台 2.Apple的UIAutomation 3.Google的UIAutomation 简单的介绍一下这几个工具: 1.Appium简介 Appium使用Web ...

  3. centos7修改主机名和ip映射

    1.修改主机名:命令:/etc/hostname文件输入:HOSTNAME=node3想永久修改,应该修改配置文件 /etc/sysconfig/network. 输入:NETWORKING=yes ...

  4. CSU 1726: 你经历过绝望吗?两次!(bfs+优先队列)

    传送门: http://acm.csu.edu.cn/csuoj/problemset/problem?pid=1726 1726: 你经历过绝望吗?两次! Submit Page    Summar ...

  5. 修改office文档修改日期

    修改“创建日期”可采用如下方法: 首先把系统日期调整到您所希望的时间,然后到MS-DOS方式下,对该文件输入如下命令:COPY /B filename +,, (一个加号.两个逗号),当询问您是否确认 ...

  6. vue路由页面加载的几种方法~

    懒加载 (1)定义:懒加载也叫延迟加载,即在需要的时候进行加载,随用随载. (2)为什么需要懒加载: 在单页应用中,如果没有应用懒加载,运用webpack打包后的文件将会异常的大,造成进入首页时,需要 ...

  7. 如何在运行jar指定使用的JDK

    写一个.bat文件 例如在同文件夹下,新建一个run.bat文件 run.bat 的内容是如下: set JAVA_HOME=C:\jdk1.7.0_67set CLASSPATH=.;%JAVA_H ...

  8. oracle静默安装

    RHEL6+oracle11.2 无界面化命令安装如下: 1.所需安装软件包检查: yum install binutils-2.* compat-libcap1* compat-libstdc++- ...

  9. iOS 杂笔-26(苹果禁用热更新)

    iOS 杂笔-26(苹果禁用热更新) 苹果爸爸禁用热更新小伙伴们有什么想说的吗? 苹果爸爸禁用热更新小伙伴们有什么想说的吗? 苹果爸爸禁用热更新小伙伴们有什么想说的吗?

  10. 微信小程序新版用户授权方式处理

    最新更新(2018-12-27): 最近做了改版,做成默认进来就是首页,然后去判断有没有用户信息,没有的话再去判断用没授权过,如果授权过直接自动去获取,没有的话再跳转到授权页面.因为用户授权主要就是针 ...