`
yuanyao
  • 浏览: 148242 次
  • 性别: Icon_minigender_1
  • 来自: 就那小山沟
社区版块
存档分类
最新评论

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等文件

分享到:
评论

相关推荐

    Linux管道符与重定向.pdf

    基本的管线命令指令有 cut、sort 和 wc 等。 cut 命令用于截断文本,语法为: `cut -d "分隔字符" -c 字段参数`。例如, `cat /etc/passwd | cut -d ":" -c 1` 将 passwd 文件中的每一行用 `:` 分隔,并将第一个...

    鸟哥的 Linux 私房菜第11章-认识与学习 BASH1

    此外,它还支持命令别名、历史命令记录,以及强大的数据流重定向和管线命令,使得命令组合使用变得更加方便。 5. **Shell 的变量功能** 变量是Shell编程中的核心元素,可以用来存储数据。常见的操作包括设置、获取...

    Linux基础知识(8-10)-管线指令.pdf

    在Linux操作系统中,管线指令是实现命令间数据流通信的核心工具。通过管线,你可以将一个命令的输出作为另一个命令的输入,从而实现数据处理的连续性。这种机制使得复杂的任务可以通过一系列简单的命令组合来完成。...

    linux操作系统实验报告.pdf

    实验步骤包括使用shutdown命令设定在30分钟之后关闭计算机、使用alias命令设置/etc/cron.daliy文件为别名named、使用echo命令和输出重定向创建文本文件/root/nn、使用管道方式分页显示/var目录下的内容、使用cat命令...

    linux shell 编程3

    2. Shell脚本:Shell脚本是一系列Linux命令的集合,保存为文本文件,可以像程序一样执行。编写脚本有助于提高效率,简化重复性任务。 3. 变量:在Shell脚本中,变量用于存储数据。例如,`NAME="John"`,然后在脚本...

    《鸟哥的Linux私房菜》基础篇-知识整理-读后感

    第十章介绍了BASH Shell,包括它的变量、别名、历史记录,以及数据流重定向和管线命令。理解这些基本概念有助于提高命令行操作效率。 第十一章是关于正则表达式的,这是文本处理和文件格式化处理的关键。读者将学习...

    bash_shell@鸟哥

    管线命令(pipe): #### 6.1 撷取命令:`cut`, `grep` - **`cut`**: 用于从文件中切割出指定的字段。 - **`grep`**: 用于搜索文件中的特定模式。 #### 6.2 排序命令:`sort`, `wc`, `uniq` - **`sort`**: 对文件...

    shell编程基础之认识与学习BASH

    **6、管线命令** 管线(pipe)将一个命令的输出作为另一个命令的输入,如`ls | less`。`cut`命令用于分隔和提取数据,`grep`搜索匹配的行,`sort`进行排序,`uniq`去除重复行,`wc`统计文本中的单词、行和字符数,`...

    cygwin中文教程

    - **I/O转向与管线**:利用重定向(`&gt;`, `&gt;&gt;`)和管道(`|`)实现数据流的控制和连接多个命令的能力。 #### 五、算术运算与参数传递 - **算术运算**:在Shell脚本中进行数值计算的方法,支持基本的加减乘除运算。 - **...

    cygwin中文教程 简体中文版本

    #### 七、标准输入/输出/错误及I/O转向与管线 - **输入输出重定向**:阐述重定向的概念,包括标准输入(stdin)、标准输出(stdout)和标准错误输出(stderr)的重定向。 - **管道操作**:说明如何使用管道连接多个...

    唯品会2019秋招开发笔试题A卷.docx

    ### Linux命令 - **改变文件所有者**:`chown` 命令用于更改文件或目录的所有者。 - **文件权限修改**:命令 `chmod a+x g+w aaa` 可以增加所有用户的执行权限和同组用户的写权限;`chmod 775 aaa` 表示设置文件...

Global site tag (gtag.js) - Google Analytics