• linux初级学习笔记九:linux I/O管理,重定向及管道!(视频序号:04_3)


    本节学习的命令:tr,tee,wc

    本节学习的技能:

          计算机的组成

          I/O管理及重定向

            管道的使用

     

    知识点九:管理及IO重定向(4_3)

    计算机组成:

      运算器、控制器: CPU

      存储器:RAM

      输入设备/输出设备

      程序:指令和数据

        控制器:读取指令,并在指令的控制下读取要进行的运算和数据

        运算器:

        存储器:

    地址总线:内存寻址

    数据总线:传输数据

    控制总结:控制指令数据

    寄存器:CPU暂时存储器

     

    I/O:(如:硬盘,显示器,鼠标等)

      INPUT设备:输入设备

      OUTPUT设备:输出设备

      系统默认设备设定:

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

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

        标准错误输出:STDERR, 2(与上是不同的数据流)

          标准输入:键盘

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

     

    I/O重定向:

      Linux:

        >:输出重定向符号:

          >: 覆盖输出

          >>:追加输出

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

            强制覆盖输出,则使用 >|

          set +C: 关闭上述功能

     

        2>: 重定向错误输出

          2>>: 追加方式

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

     

        <:输入重定向符号:

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

        <<:Here Document 在此处生成文档

    cat << END
    The first line,
    The second line.
    END
    
    cat >>/etc/myfile.txt <<EOF
    The first line,
    The second line.
    EOF
    
    cat /etc/myfile.txt

     

    管道:

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

        格式:命令1 | 命令2 | 命令3 | ...

    --管道
    echo 'hello word'
    echo 'hello word' | tr 'a-z' 'A-Z' --把hello word转成大写并输出
    
    echo 'redhat' | passwd --stdin hive
    
    cut -d: -f1 /etc/passwd | sort | tr 'a-z' 'A-Z' --把passwd文件的用户名(1列)排序并转成大写
    
    ls /var | tr 'a-z' 'A-Z'
    
    ----------------tee
    从标准输入读取数据,并且发送至标准输出和文件
    echo "hello word" | tee /tmp/hello.out --把hello word 发送至标准输出并保存在文件中
    
    ----------------wc
    --显示某一个文件行数
    wc -l /etc/passwd                     --不仅显示了文件的行数还显示了文件名
    wc -l /etc/passwd | cut -d' ' -f1     --实现了
    cat /etc/passwd | wc -l
    
    --显示目录的行数
    ls /usr/bin | wc -l

    课后作业:

    练习:
    1、统计/usr/bin/目录下的文件个数;
    # ls /usr/bin | wc -l
    2、取出当前系统上所有用户的shell,要求,每种shell只显示一次,并且按顺序进行显示;
    # cut -d: -f7 /etc/passwd | sort -u
    3、思考:如何显示/var/log目录下每个文件的内容类型?
    # file /var/log/*
    # cd /var/log/ | file `ls /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: -f1,7 | tee /tmp/users
    6、显示/etc目录下所有以pa开头的文件,并统计其个数;
    # ls -d /etc/pa* | wc -l
    7、不使用文本编辑器,将alias cls=clear一行内容添加至当前用户的.bashrc文件中;
    # echo "alias cls=clear" >> ~/.bashrc
    这都是我对自己学习过程的理解,如有错误请指出!我算一个小白了。
  • 相关阅读:
    Cloudera Manager 4.6 安装部署hadoop CDH集群
    linux下统计目录下所有子目录的大小
    jvisualvm远程监控tomcat
    安装ubuntu server时可能会需要的配置
    安装配置maven私服-nexus
    maven环境配置
    各版本eclipse的maven配置
    转载:Centos7 从零编译Nginx+PHP+MySql 序言 一
    MongoDB系列一:CentOS7.2下安装mongoDB3.2.8
    MongoDB Windows环境安装及配置
  • 原文地址:https://www.cnblogs.com/darwinli/p/9042356.html
Copyright © 2020-2023  润新知