zoukankan      html  css  js  c++  java
  • GNU/Linux复习笔记(2)

    ---IO重定向:

      典型的冯诺依曼计算机由5大部件组成:运算器,控制器,存储器,输入设备和输出设备。而一台计算机上可能有很多输入设备和输出设备,键盘、麦克风是输入设备,显示器、声卡是输出设备,网卡、硬盘、U盘既是输入设备又是输出设备。如此众多的输入输出设备中系统设定了默认输入设备是键盘,又称标准输入,用STDIN表示,文件描述符0;默认输出设备是显示器,又称标准输出,用STDOUT表示,文件描述符为1;默认错误输出也是显示器,用STDERR表示,文件描述符为2。虽然标准输出设备和标准错误输出设备都是显示器,但两者其实是不同的数据流。IO重定向就是将默认的输入输出重定向到另一个设备或者文件。

      标准输出重定向符号:

      > :覆盖输出重定向

      >| :强制覆盖重定向

      >>:追加覆盖重定向

      set命令是bash的一条内建命令,用于更改shell属性和位置参数,具体用法可以参见help set,其中set -C用于关闭输出重定向,set +C开启输出重定向

           示例:

      ls     /var   >    /tmp/var1.txt    本来ls /var 的输出结果会打印在屏幕上,但此时被重定向到/tmp/var1.txt文件中了

           ls    /varr    >   /tmp/var2.txt    bash提示     ls: 无法访问'/varr': 没有那个文件或目录    因为ls /varr是一个错误输出,不能使用标准输出重定向,若要重定向应该使用标准错误重定向

           ls    .varr    2>   /tmp/var2.txt

           标准错误输出重定向符:

      2>:覆盖错误输出重定向

      2>>:追加错误输出重定向

           有没有既能重定向标准输出又重定向标准错误输出呢?当然是有的

           &>   表示重定向标准输出或者标准错误输出

          输入重定向:

          <   :输入重定向

          wc  -l  <   /etc/passwd  计算passwd文件的行数

         <<  :此处生成文档,用这种方式可以在脚本中生成文档,例如:

         cat     >>  /tmp/myfile.txt    << EOF      将用户从终端中输入的内容重定向到/tmp/myfile.txt文件中,直到用户输入EOF才结束输入

    ---管道:

        COMMAND1   |  COMMAND2  | COMMAND3 

        管道的含义是将前一个命令的输出作为后一个命令的输入

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

       输出都被替换成了大写

           BACKUPS
      CACHE
      LIB
      LOCAL
      LOCK
      LOG
      MAIL
      OPT
      RUN
      SPOOL
      TMP
      WWW
        举几个例子吧:

    1、求/etc/passwd文件的行数

          wc  -l     /etc/passwd  | awk '{print $1}'

          wc   -l   /etc/passwd   |    cut  -d" "  -f1   这里单引号或双引号都行
    2、取出当前计算机上所有用户的默认shell,要求每种shell只显示一次,并且按顺序输出

           cat    /etc/passwd |  awk -F:   '{print $7}'   |    sort    -u

           cat  /etc/passwd |   cut -d: -f7   |   sort -u

    3、显示var/log目录下每个文件的类型

           sudo  file     /var/log/*

    4、取出/etc/passwd文件的第6行

           cat  /etc/passwd    |   head   -6   |   tail  -1  

    5、取出/etc/passwd文件中第9个用户的用户名和默认shell,显示到屏幕上并保存至/tmp/users文件中

          cat /etc/passwd   |    head   -9   |   tail -1  |    awk -F:    '{print $1,$7}'  |  tee /tmp/users  

          cat /etc/passwd   |   head   -9   |  tail -1  | cut -d: -f1,7

      

        

      

      

  • 相关阅读:
    Chrome开发者工具中Elements(元素)断点的用途
    最简单的SAP云平台开发教程
    Java实现 LeetCode 495 提莫攻击
    Java实现 LeetCode 494 目标和
    Java实现 LeetCode 494 目标和
    Java实现 LeetCode 494 目标和
    Java实现 LeetCode 493 翻转对
    Java实现 LeetCode 493 翻转对
    Java实现 LeetCode 493 翻转对
    Java实现 LeetCode 492 构造矩形
  • 原文地址:https://www.cnblogs.com/suddoo/p/5297632.html
Copyright © 2011-2022 走看看