zoukankan      html  css  js  c++  java
  • 管道及I/O重定向

    管道及IO 重定向 > < >> <<
    计算机组成:
    运算器,控制器:CPU
    存储器:RAM
    输入/输出设备 I/O

    程序: 指令和数据
    控制器:指令
    运算器:
    存储器:

    地址总线: 内存寻址
    数据总线: 传输数据
    控制总线: 控制指令

    寄存器: CPU暂时存储器

    系统设定:
    默认输出设备: 标准输出 STDOUT 1
    标准输入设备: 标准输入 STDIN     0
    标准错误输出: STDERR                2

    标准输入: 键盘
    标准输出和错误输出: 显示器

    I/O 重定向 :改变输入输出的默认来源

    Linux:输出重定向 :
    > : 输出重定向,覆盖输出
    >> : 输出重定向,追加输出

    set -C : 禁止对已经存在的文件使用覆盖重定向输出,若想强制覆盖,则用 >|
    set +C : 关闭上诉功能

    2> : 重定向错误输出 ,覆盖
    2>> : 重定向错误输出,追加
    标准输出和错误输出属于两个不同的数据流。

    &> redirect 重定向所有正确和错误输出


    Linux 输入重定向:
    < : 输入重定向
    tr : 大写字符转换
    tr 'a-z' 'A-Z' < /etc/test 表示将/etc/test 下的字符作为输入,重定向给tr。
    即将/etc/test 下的所有小写转换为大写

    << : Here Document 在此处生成文档
    cat << END
    the first line
    the second line
    END
    将上面的两行作为文档输出 输入END 标志结束,END 为标志符号,也可以用其他表示,一般我们用END,或EOF


    管道: 前一个命令的输出,作为后一个命令的输入
    命令1 | 命令2 | 命令3
    echo "hello,word" | tr 'a-z' 'A-Z'

    tee 命令: 从标准输入读取数据,并发送至标准输出和文件
    echo "Hello ,Word " | tee /tmp/hello.out


    案例应用:
    1 统计/usr/bin/目录下的文件个数
    # ls /usr/bin | wc -l

    2 取出当前系统上所有用户的shell,要求每个shell 只显示一次, 且顺序显示
    # cut -d : -f7 /etc/passwd | sort -u

    3 如何显示、/var/log 目录下的每个文件类型
    # ls -l /var/log -- > file /var/log/*
    # 或者直接用
    # cd /var/log -- > file `ls /var/log` (bash的命令替换的形式)

    4 取出/etc/inittab 文件的第六行
    # head -6 /etc/inittab | tail -1

    5 取出/etc/passwd 文件中的倒数第九个用户的用户名和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

  • 相关阅读:
    C# 执行bat文件 PHP
    windows服务操作 sc批处理 PHP
    HTML 彩虹 PHP
    C# 简易日志记录类 PHP
    C# 读写INI文件 PHP
    .NET Framework PHP
    序列号备忘 PHP
    获取浏览器版本信息
    数据库中Image字段存储读取数据
    [转]装机推荐 5000元铸造最强游戏平台
  • 原文地址:https://www.cnblogs.com/thelovelybugfly/p/10742668.html
Copyright © 2011-2022 走看看