2016-2-4 linux 基础学习10

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

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

I/O设备:
    INPUT设备:
    OUTPUT设备:
系统设定
    默认输出设备:标准输出,STDOUT, 1
    默认输入设备:标准输入,STFIN,  0
    标准错误输出:STDERR, 2
    
    标准输出:键盘
    标准输出和错误输出:显示屏
    
一、I/O重定向
输出重定向(>) :覆盖输出
          (>>):追加输出2016-2-4 linux 基础学习10_第1张图片2016-2-4 linux 基础学习10_第2张图片

2016-2-4 linux 基础学习10_第3张图片


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

2016-2-4 linux 基础学习10_第4张图片

2016-2-4 linux 基础学习10_第5张图片


          &>:重定向标准输出或错误输出至同一个文件
          2016-2-4 linux 基础学习10_第6张图片

二、输入重定向(<) :输入到指定文件中去(显示/执行)
                      (<<):Here Document此处生成文档
 
三、管道:前一个命令的输出,作为后一个命令的输入
       命令1 |命令2 | 命令3 |...
 2016-2-4 linux 基础学习10_第7张图片   

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

2016-2-4 linux 基础学习10_第8张图片

2016-2-4 linux 基础学习10_第9张图片

 
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

2016-2-4 linux 基础学习10_第10张图片

2016-2-4 linux 基础学习10_第11张图片

2016-2-4 linux 基础学习10_第12张图片

2016-2-4 linux 基础学习10_第13张图片

2016-2-4 linux 基础学习10_第14张图片

2016-2-4 linux 基础学习10_第15张图片

2016-2-4 linux 基础学习10_第16张图片

2016-2-4 linux 基础学习10_第17张图片


你可能感兴趣的:(重定向,管道)