首页 > 其他 > 详细

2.重定向

时间:2019-08-13 21:22:27      阅读:68      评论:0      收藏:0      [点我收藏+]

重定向和管道符:

1、重定向

    程序 = 指令 + 数据

         命令   变量

    在程序中程序如何输入?又如何输出?

    数据输入:键盘 -- 标准输入,但并不是唯一输入方式

        --stdin

        echo “123456” | password --stdin “username”

        例如:功能添加用户 useradd.sh  user.txt文本文档1000个用户

          ./useradd.sh a

          ./useradd.sh b

          ...

 

          ./useradd.sh < user.txt

 

      while line; do

        循环体 $line

      done < /etc/passwd

 

    数据输出:显示器 -- 标准输出,但并不是唯一输出方式

      ls /etc/ > a.txt

    fd文件标识符 0-9 -- 相当于给文件分类;

      0  1  2

      0 -- 标准输出

      1 -- 标准输入

      2 -- 错误输入输出(标准错误)

 

    常见重定向符号

      1、标准输出

      > 覆盖重定向、非常危险

      set -C 关闭覆盖重定向功能

      >| 强制重定向

      >> 追加重定向、不覆盖

      2、标准输入

      < tr 替换文件内容

        tr set1 [set2] < file.txt

      << 将多行数据同时输入

        cat >>a.txt<<EOF

        >1

        >2

        >3

        >EOF

      3、错误输出

      2> 2>>

      扩展:不需要输出内容,只需要输出状态;

        ls /etc/ > /dev/null

        If [$? -eq 0];then

          循环体

        fi

      &> &>> == 2&>1

        ls /etc/ &> /dev/null

2、管道 - tee

    command1 | command2 | command3 | ... ...

    前一个命令的执行结果交给最后一个命令来执行;

    【Linux思想:结合小功能,实现大功能】

    技术分享图片

    find 【范围】 -name abc -type f -perm 600 -mtime +7 | xargs rm -rf

    tee 一路输入,两路输出

      tee /tmp/tee.out 如果没有文件,会创建,默认如果文件存在有内容,会覆盖;

     技术分享图片

    tail 查看文件尾部多少行(默认10行)

      -n  tail -n 5 /etc/passwd == 简写tail -5 /etc/passwd

      -f  实时查看文件更新内容

        tail -f /var/log/message

    head 查看文件头部多少行(默认十行)

      -n #  #行,简写 -#

3、文本处理工具 -wc,cut,sort,uniq

wc

    word count 统计文本文件中的字符个数

    用法:wc filename

    行数 字符个数 文件大小(字节) 文件名

    -l

    -w

    -c

cut

    用来做文件分隔

    -d  指定分隔符(delimiter

      -d[ :]   //不行

    -f  指定输出的列数据

      -f2

      -f1-3

      -f1,3

    --output-delimiter=’xx’

     cut的局限性:1-d 指定分隔符,不能同时指定多个 2、不能做高级的格式化输出,所以要熟练掌握awk

 

sort

技术分享图片

    -u uniq去重复

uniq

    连续且相同的命令,才被视为重复

    建议,先排序,后去重

    -c 统计某些字符重复的次数

    sort FINENAME | uniq -c

tar 归档 -> 对目录

    gzip

    xz

    bzip2

 

2.重定向

原文:https://www.cnblogs.com/Rubyonly/p/11347346.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!