zoukankan      html  css  js  c++  java
  • Linux重定向命令

     
     
     
    1. 标准输入的控制
    语法:命令 文件将命令的执行结果送至指定的文件中。
    例如:
    ls -l > list 将执行“ls -l” 命令的结果写入文件list 中。
    语法:命令>! 文件将命令的执行结果送至指定的文件中,若文件已经存在,则覆盖。
    例如:
    ls -lg >! list 将执行“ls - lg” 命令的结果覆盖写入文件list 中。
    语法:命令>& 文件将命令执行时屏幕上所产生的任何信息写入指定的文件中。
    例如:
    cc file1.c >& error 将编译file1.c 文件时所产生的任何信息写入文件error 中。
    语法:命令>> 文件将命令执行的结果附加到指定的文件中。
    例如:
    ls - lag >> list 将执行“ls - lag” 命令的结果附加到文件list 中。
    语法:命令>>& 文件将命令执行时屏幕上所产生的任何信息附加到指定的文件中。
    例如:
    cc file2.c >>& error 将编译file2.c 文件时屏幕所产生的任何信息附加到文件error 中。
    3. 命令语法
    command > filename 把标准输出重定向到一个新文件中
    command >> filename 把标准输出重定向到一个文件中(追加)
    command 1 > fielname 把标准输出重定向到一个文件中
    command > filename 2>&1 把标准输出和标准错误一起重定向到一个文件中
    command 2 > filename 把标准错误重定向到一个文件中
    command 2 >> filename 把标准输出重定向到一个文件中(追加)
    command >> filename 2>&1 把标准输出和标准错误一起重定向到一个文件中(追加)
    command filename2 把command命令以filename文件作为标准输入,以filename2文件作为标准输出
    command &m 把标准输出重定向到文件描述符m中
    command 
     
     

    Linux命令重定向与管线命令

       
    命令重定向: 在Bash命令执行中,除了有>符号,还有3种输出输入状况,分别是: 1 标准输入: 代码为0,或称为stdin,使用方式为< 2 标准输出: 代码为1,或称为stdout,使用方式为1> 3 错误输出: 代码为2,或称为stderr,使用方式为2> >>  累加到文件中,文件累加,旧数据保留. 例: [test @test test]# ls –al 1>list.txt 2>list.err 将显示数据正确输出到list.txt,错误的数据输出到list.err
    >与>>比较,区别:
    >: 将原来由屏幕输出的正确数据输出到>右边的文件或设备
    >>: 将原来由屏幕输出的正确数据输出到>>右边,与>不同的是,该文件将不会被覆盖,而新的数据将以累加方式添加到文件的最后面. /dev/null是什么呢?
    答: 基本上,它有点象一个无底洞,专门收集垃圾,当您输入的任何东西导向到这个虚拟的垃圾桶,它就会凭空消失,非常有用.
    例: [test @test test]# find /-name testing 1> list_right 2> /dev/null
    如果要把数据都写到同一个文件中 [test @test test]# find /-name testing 1> list_right 2>&1

              管线命令 管线命令使用的是”|”界定符号 管线命令”|”仅能处理经由前一个指令传来的正确信息,也就是标准输出(stdout)信息,对于标准错误信息并没有直接处理能力.
    每个管线部分都是指令,而后一个指令的输入乃是前一个指令的输出.
    常用的管线命令: cut 语法: [root @test /root]# cut –d “分隔字符” [-cf] fields 参数说明: -d: 后面接的是分割字符,默认是空格符 -c: 后面接的是第几个字符 -f: 后面接的是第几个区块 cut的主要用途在于将同一行里的数据进行分解,最常用在分析一些数据或文件数据的时候,因为有时候我们会以某些字符当作分割参数,然后将数据加以切割,以取得我们需要的数据(常用与分析我们的日志文件).
    sort 语法: [root @test /root]# sort [-t 分隔符] [(+起始)(-结束)][-nru]
    参数说明: -t 分隔符: 使用分隔符隔开不同区块,默认是tab +start –end: 由第start区块排序到end区块 -n: 使用纯数字排序(否则会以字母方式排序) -r: 反向排序 -u: 相同出现的一行,只列出一次
    [root @test /root]# cat /etc/passwd | sort 将列出来的个人帐号排序
    wc 语法: [root @test /root]#  wc [-lmw]
    参数说明: -l: 多少行 -m: 多少符号 -w: 多少字
    例: [root @test /root]# cat /etc/passwd | wc –l 这个文件里有多少行.
    uniq 语法: [root @test /root]#uniq
    uniq删除重复的行从而只显示一个

    tee 例: [root @test /root]# last | tee last.list | cut –d “ ” –fi 使用tee,会将数据同时传给下一个命令执行,也会将数据写入last.list文件中

    tr 语法: [root @test /root]# tr [-ds] SET1 参数说明: -d: 删除SET1这个字符串 -s: 取代重复的字符
    例: [root @test /root]# cat /etc/passwd | tr –d: “:”这个符号在/etc/passwd中不见了

    split 语法: [root @test /root]# split [bl] 输入文件 输出文件前导字符 参数说明: -b: 以文件SIZE来分 -l: 以行数来分
    例: [root @test /root]# split –l 5 /etc/passwd test 会产生testaa,testab,testac等文件
  • 相关阅读:
    Effective JavaScript Item 40 避免继承标准类型
    基于express+redis高速实现实时在线用户数统计
    HDOJ 4009 Transfer water 最小树形图
    iOS Sprite Kit教程之xcode安装以及苹果帐号绑定
    Swift2.0语言教程之类的嵌套与可选链接
    Swift2.0语言教程之下标脚本
    Swift2.0语言教程之类的方法
    Swift2.0语言教程之类的属性
    Swift2.0语言教程之闭包
    Swift2.0语言教程之函数嵌套调用形式
  • 原文地址:https://www.cnblogs.com/qmfsun/p/3813922.html
Copyright © 2011-2022 走看看