Linux 06

发布时间 2023-11-28 19:55:34作者: 20218579虞文瑞

第六章 I/O 重定向与管道

本章学习目标:

1.掌握输入/输出重定向

2.熟悉管道符的应用

3.了解进程管道相关知识

一、I/O重定向

 I/O重定向:I/O重定向是一种操作系统的功能,它允许用户将标准输入 0(stdin)和标准输出  1(stdout)重定向到其他文件或设备上。通过使用I/O重定向,用户可以将程序的输入和输出从默认的终端改变为文件或其他设备。使用I/O重定向将程序的输出重定向到一个文件中,这样程序的输出就会被写入到该文件中,而不是显示在终端上。

  在Linux中,可以使用特殊的符号来实现I/O重定向。例如,使用">"符号可以将程序的输出重定向到一个文件中,使用"<"符号可以将文件的内容作为程序的输入。此外,还有一些其他的符号和命令可以用于更复杂的I/O重定向操作。用快捷键重新打开一个终端:Ctrl+Alt+T

1.1文件描述符

每一个进程在运行中都会打开一个文件,每一个文件都会有一个指定的数字标识,这个标识就叫文字描述符。

文件描述符通常是非负整数,0、1、2这三个文件描述符是绝大多数进程都有的。0表示标准输入,可以理解为键盘输入;1表示标准输出,输出到终端;2表示标准错误,输出到终端;3及以上为常规文件的描述符。当一个文件被打开时,操作系统会分配一个文件描述符给该文件,并返回给应用程序。应用程序可以使用文件描述符进行对文件的读写操作,比如使用文件描述符作为参数调用read()和write()函数。

注:所有的文件都有0、1、2文件描述。

文件描述符的含义:

文件描述符 通道名 说明 默认连接 用法
0 stdin 标准输入 键盘 只读
1 stdout 标准输出 终端 只写
2 stderr 标准错误 终端 只写
3+ filename 其他文件 可读可写/只读/只写

重定向:在Linux系统中,重定向是一种将程序的输入或输出重定向到其他地方的方式。它可以将命令的输出发送到文件中,或者将文件作为命令的输入。

1.2输出重定向

输出重定向:是一种将命令的输出结果重定向到指定位置的技术。在Linux系统中,通过使用特殊的符号和命令,可以将命令的输出结果重定向到文件、设备、管道等不同的位置。通过输出重定向,可以将命令的输出结果保存到文件中,以便后续使用或分析;也可以将命令的输出结果传递给其他命令或程序进行处理。

符号表示:“>”表示覆盖,“>>”表示追加

1.3输入重定向

输入重定向:将外部数据(如文件、管道或其他程序)注入到进程中的技术。在Linux系统中,输入重定向符号为`<`。

 grep命令是Linux系统中的一个强大工具,用于在文件或文本中搜索指定的模式。

dd命令是Linux系统中一个非常实用的工具,主要用于复制(拷贝)文件和转换文件。它的全称是“data duplicator”,可以看作是Linux世界的搬运工。dd命令对于所有设备和文件都一视同仁,既可以用于备份,也可以用于快速复制系统环境

at 命令:是 Linux 系统中用于定时执行任务的命令。它可以将任务提交到队列中,并指定在特定的时间执行。