码迷,mamicode.com
首页 > 系统相关 > 详细

2016-2-4 linux 基础学习10

时间:2016-02-05 02:05:20      阅读:269      评论:0      收藏:0      [点我收藏+]

标签:输入重定向 输出重定向 管道

管道和重定向:> < << >>

计算机5大设备:运算器、控制器(CPU)、存储器(RAM)、输入设备、输出设备
 
程序:指令和数据
地址总线:内存寻址
数据总线:传输数据
控制总线:控制指令
寄存器:CPU暂时存储器

I/O设备:
    INPUT设备:
    OUTPUT设备:
系统设定
    默认输出设备:标准输出,STDOUT, 1
    默认输入设备:标准输入,STFIN,  0
    标准错误输出:STDERR, 2
    
    标准输出:键盘
    标准输出和错误输出:显示屏
    
一、I/O重定向
输出重定向(>) :覆盖输出
          (>>):追加输出技术分享技术分享

技术分享


          set -C:禁止对已经存在文件使用覆盖重定向
          set+C:允许对已经存在文件使用覆盖重定向
          强制覆盖输出,则使用>|
       
          2>:重定向错误输出
          2>>:追加方式
          

技术分享

技术分享


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

二、输入重定向(<) :输入到指定文件中去(显示/执行)
                      (<<):Here Document此处生成文档
 
三、管道:前一个命令的输出,作为后一个命令的输入
       命令1 |命令2 | 命令3 |...
 技术分享   

            tee: 从标准输入读取数据,输出到屏幕上一份,并保存至文件中一份

技术分享

技术分享

 
4-3练习
1、统计/usr/bin目录下的文件个数
    # ls /usr/bin | wc -l
2、取出当前系统上所有用户的shell,要求,每种shell只显示一次,并且按顺序进行显示,统计每一种shell出现的次数
    # cut -d: -f7 /etc/passwd | sort -n | uniq -c
3、思考:如何显示/var/log目录下每个文件的内容类型?
    法一:
    # cd var/log
    # file ‘ls /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,3 | tee /tmp/users
6、显示/etc目录下所有以pa开头的文件,并统计其个数
    # ls -d /etc/pa* | wc -l
7、不适用文本编辑器,将alias cls=clear一行内容添加至当前用户的.bashrc文件中
    # echo "alias cls=clear" >> ~/.bashrc

技术分享

技术分享

技术分享

技术分享

技术分享

技术分享

技术分享

技术分享


本文出自 “11160930” 博客,请务必保留此出处http://11170930.blog.51cto.com/11160930/1741159

2016-2-4 linux 基础学习10

标签:输入重定向 输出重定向 管道

原文地址:http://11170930.blog.51cto.com/11160930/1741159

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!