`
tiankefeng0520
  • 浏览: 146798 次
  • 性别: Icon_minigender_1
  • 来自: 长春
社区版块
存档分类
最新评论

Linux学习记录--数据流重定向

阅读更多

数据流重定向

 

数据流可以分为2种:

输入数据流:以写文件为例,从键盘输入的字符就输入数据流

输出数据流:以读文件为例,将文件内容显示到屏幕上,显示的内容就是输出字符流

 

数量流重定向就是指改变数据流输入的方式或输出的介质。比如,输入数据流可以是一个文件的内容,输出数据流介质可以是文件而不单单的屏幕

 

对于命令行来说输入数据流主要来自键盘,输出数据流只要介质是屏幕。

同时输出数据流又可分为:

Ø  正确输出

Ø  错误输出

 

语法:

输入数据流:使用<(覆盖)或<<(累加)

正确输出数据流:使用>(覆盖)或>>(累加)

错误输出数据流:使用2>(覆盖)或2>>(累加)

 

说明:如果某些信息不想显示到屏幕上也不保存到文件或设备上,可以讲输出数据流指向/dev/null

 

举例1:正确输出数据流(覆盖)

 

[root@localhost ~]# ll > ll.file
[root@localhost ~]# vim ll.file
总计 225968
-rw------- 1 root root      1377 02-14 10:29 anaconda-ks.cfg
-rw-r--r-- 1 root root       207 03-05 11:00 bashrc-back
……..

 

 

举例2:正确输出数据流(累加)

[root@localhost ~]# ll /root >> ll.file
总计 225968
-rw------- 1 root root      1377 02-14 10:29 anaconda-ks.cfg
-rw-r--r-- 1 root root       207 03-05 11:00 bashrc-back
……..
总计 225972
-rw------- 1 root root      1377 02-14 10:29 anaconda-ks.cfg
-rw-r--r-- 1 root root       207 03-05 11:00 bashrc-back
……..

 

举例3:正确输出与错误输出数据流

[root@localhost ~]# ll /root /root/error 
ls: /root/error: 没有那个文件或目录 =>错误信息
/root:           =>正确信息
总计 225972
-rw------- 1 root root      1377 02-14 10:29 anaconda-ks.cfg
-rw-r--r-- 1 root root       207 03-05 11:00 bashrc-back
………………..
[root@localhost ~]# ll /root /root/error >right.list 2>error.list 
[root@localhost ~]# cat right.list
/root:
总计 225984
-rw------- 1 root root      1377 02-14 10:29 anaconda-ks.cfg
-rw-r--r-- 1 root root       207 03-05 11:00 bashrc-back
……………..
[root@localhost ~]# cat error.list
ls: /root/error: 没有那个文件或目录


举例4:正确与错误输出数据流写在一个文件中

[root@localhost ~]# ll /root /root/error >all.list 2>&1 
[root@localhost ~]# cat all.list
ls: /root/error: 没有那个文件或目录
/root:
总计 225996
-rw-r--r-- 1 root root        45 03-05 13:02 all.list
-rw------- 1 root root      1377 02-14 10:29 anaconda-ks.cfg
………………..

 

 

命令执行的判断依据(; && ||)

 

语法:

cmd;cmd:不考虑命令相关性连续额的命令执行

cmd1&& cmd2:若cmd1执行完毕且正确,则执行cmd2

            若cmd1执行错误则不执行cmd2

cmd1|| cmd2:若cmd1执行完毕且正确,则不执行cmd2

            若cmd1执行完毕且为错误,则执行cmd2

 

0
0
分享到:
评论

相关推荐

    Linux重定向_All.pdf

    Linux重定向是通过特殊的文件...通过以上知识点,我们可以发现Linux重定向不仅是一种控制数据流的方法,更是Linux系统管理与自动化任务中不可或缺的技术之一。掌握好这一技能,对于高效地管理和运维Linux系统尤为重要。

    shell学习笔记-2018-01-09

    ### Shell学习笔记 #### Shell的发展与分类 Shell作为Unix及类Unix系统(包括Linux)的主要用户界面之一,其历史可以追溯到20世纪70年代。最初,Shell仅仅作为一个简单的命令解释器,随着时间的推移,它发展成为了...

    推荐一本Linux学习笔记

    - **管道功能**:连接多个命令,实现复杂的数据流处理。 - **重定向功能**:将命令的输出或输入重定向到文件或其他命令。 **三、Shell 变量** - **环境变量**:全局有效,可在多个 Shell 实例间共享。 - **局部...

    《LINUX与UNIX SHELL编程指南》读书笔记-二次发布版

    这两个强大的文本处理工具常与Shell配合使用,awk用于处理结构化的数据,sed则擅长流编辑,对文本进行查找替换等操作。 通过阅读《LINUX与UNIX SHELL编程指南》,我们可以深入了解Shell编程的精髓,提升自动化任务...

    Linux学习笔记基础知识版 (2)

    ### Linux学习基础知识版 (2) 知识点详解 #### 服务器简单介绍 - **服务器定义**:服务器是指在网络环境中能够提供数据存储、处理、通信等服务的高性能计算机。它们通常具有比普通个人电脑更高的计算能力和更稳定的...

    Desktop_roseeyi_linux笔记_linux_

    - **管道与重定向**:掌握如何使用管道`|`连接命令,以及重定向`&gt;`、`、`&gt;&gt;`操作,实现数据流控制。 - **脚本编写**:学习编写简单的Shell脚本,例如创建自动备份、日志处理等实用工具。 - **Shell函数和别名**:...

    浅析Linux中重定向问题

    重定向是一种在计算机程序中改变数据流方向的技术。在Linux中,重定向通常用于改变命令的标准输入、标准输出以及标准错误输出的流向。这使得用户能够将命令的输出保存到文件中,或者将错误信息分离出来单独处理等。 ...

    运维技术课程 Linux学习教程 Shell编程-1 共31页.pptx

    ### 运维技术课程 Linux学习教程 Shell编程-1 #### 一、Shell编程基础 **1.1 Shell的作用和历史** - **作用**: Shell作为用户与Linux操作系统之间的接口,主要承担着命令解释器的角色,即用户通过Shell输入命令,...

    一步一步学 Linux

    #### 十六、数据流重定向 这部分内容未完全给出,但可以推测会涵盖输入输出重定向的基础概念,如标准输入(`stdin`)、标准输出(`stdout`)和标准错误(`stderr`)的重定向方法,以及如何使用重定向符(`, `&gt;`, `&gt;&gt;`)来...

    Linux base shell重定向详解

    在Shell中,重定向是一项强大的功能,能够改变命令的输入源和输出目标,使得我们能够更加灵活地控制数据流。本文将详细介绍Linux基础Shell重定向的基本概念、用法及实例。 一、标准输入、标准输出与标准错误输出 ...

    Java学习笔记-个人整理的

    {1.13}Linux命令}{41}{section.1.13} {1.13.1}基本查看、移动}{41}{subsection.1.13.1} {1.13.2}权限}{42}{subsection.1.13.2} {1.13.3}打包备份与恢复}{42}{subsection.1.13.3} {1.13.3.1}\texttt {tar},\text...

    linux系统学习笔记

    ### Linux系统学习笔记 #### 一、Linux系统Shell介绍 1. **Linux系统Shell类型**:Linux系统提供了多种Shell供用户选择,常见的包括Bourne shell (`sh`), C shell (`csh`), Korn shell (`ksh`)等。其中,`sh`是Unix...

    重定向程序设计

    例如,在Unix/Linux shell中,`符号用于输入重定向,如 `program 将使程序从 `input.txt` 文件读取数据。 2. **输出重定向**:改变程序的标准输出目标,通常是写入文件而非显示器。这使用 `&gt;` 符号实现,如 `...

    详解Linux重定向用法

    首先,我们要理解Linux中的数据流概念。系统中有三个主要的数据流:标准输入(stdin),通常来自键盘;标准输出(stdout),用于显示结果;标准错误(stderr),用于显示程序运行时的错误信息。在Linux中,它们都...

    Linux unixShellsprograming学习笔记.doc

    3. **设置管道、重定向和后台处理**:允许数据流在命令间传递,或改变输入/输出流的方向,以及在后台运行命令。 4. **处理信号**:响应系统信号,如SIGINT(中断)和SIGTERM(终止)。 5. **设置程序执行**:准备并...

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

    在Linux中,Shell不仅是一个命令执行环境,它还提供了丰富的功能,如变量设定、数据流重定向、命令别名、历史命令记录等。 1. **硬件、核心与 Shell** 在计算机系统中,硬件执行实际的物理操作,而内核(Kernel)...

    linux学习常用命令

    17. **管道(|)** 和 **重定向(&gt;)** - 数据流处理 管道符`|`可以将一个命令的输出作为另一个命令的输入,重定向`&gt;`则可以把命令的输出保存到文件中。 通过学习和实践这些命令,你将能更有效地在Linux环境中工作...

    linux shell Sed学习笔记

    ### Linux Shell Sed 学习笔记:深入理解与实践 #### Sed 概览 Sed(Stream Editor)是一种功能强大的文本处理工具,适用于Unix/Linux环境下的流编辑操作。它能够读取输入流(如文件或标准输入),进行模式匹配、...

Global site tag (gtag.js) - Google Analytics