首页 > 其他分享 >I/O重定向

I/O重定向

时间:2023-11-27 21:55:58浏览次数:23  
标签:输出 Shell 重定向 文件 标准 输入

1 I/O重定向

与UNIX“一切都是文件”的思想一致,类似于ls的程序实际上把它们的运行结果发送到了一个称为标准输出(standard output,通常表示为stdout)的特殊文件中,它们的状态信息则发送到了另一个称为标准错误(standard error,stderr)的文件中,默认情况下,标准输出和标砖错误都将被链接到屏幕上,并且不会被保存在磁盘文件中。

标准输入(standard input,表示为 stdin),默认连接到键盘。

简单来说,标准输入、标准输出以及标准错误 指的就是 Linux 默认的输入输出形式,即从键盘输入,运行结果在显示屏显示。

当我们要将输入的形式变更,或者将输出的结果保存在别的文件或其他外设中时,就要用到重定向了。

 

标准文件描述符

标准输入(stdin,文件描述符 0): 这是程序默认从中读取输入的地方。从键盘输入时,标准输入就是键盘。在I/O重定向中,可以将标准输入重定向到文件,使程序从文件而不是键盘读取输入。

标准输出(stdout,文件描述符 1): 这是程序默认将输出发送到的地方。在终端上看到程序的输出时,那就是标准输出。通过I/O重定向,可以将标准输出重定向到文件,使程序的输出被写入文件而不是显示在屏幕上。

标准错误(stderr,文件描述符 2): 这是程序默认将错误消息发送到的地方。与标准输出类似,通过I/O重定向,可以将标准错误重定向到文件,以便将错误消息保存到文件中而不是在屏幕上显示。

 

1.1 输出重定向

输出重定向分为正确输出与错误输出。
正确输出:1>、1>> 等价于 >、 >>,1 可省略。
错误输出:2>、2>>。
其中,“>”表示覆盖,“>>”表示追加

 

覆盖

 

追加

 

错误输出重定向

 

同时重定向输出和错误信息到相同位置,可以使用 2>&1 符号:

将输出和错误信息都重定向到同一个文件中,并且输出和错误信息保持顺序,可以使用 &> 符号:

正确和错误信息重定向到不同位置:

 

1.2 输入重定向

输入重定向是一种将文件内容作为命令的输入的机制。可以使用输入重定向符号 “<” 来实现。通过输入重定向可以将文件的内容作为命令的标准输入,而不是从键盘输入。

 例如:统计文件行数

 

1.3 Subshell

子Shell(subshell)是指在当前Shell进程中创建一个新的Shell进程,该新进程可以独立于父进程执行命令。子Shell通常在子进程中执行一系列命令,而这些命令的影响不会传递到父Shell中。

子Shell的创建通常通过使用括号来实现。

 

标签:输出,Shell,重定向,文件,标准,输入
From: https://www.cnblogs.com/Lc-1/p/17860551.html

相关文章

  • Linux:进程管理和I/O重定向与管道
    1.进程管理一、进程管理1.进程简介首先我们要了解,什么是进程?进程是已启动的可执行程序的运行实例,进程有以下组成部分:•已分配内存的地址空间;•安全属性,包括所有权凭据和特权;•程序代码的一个或多个执行线程;•进程状态。程序:二进制文件,静态/usr/bin/passwd,/usr/sbin/us......
  • 进程管理;I/O重定向与管道
    一.进程定义进程的定义程序是静态的代码文件;进程是指程序运行时的形态进程是程序的一个副本(copy程序到内存,相当于副本)进程是有生命周期的(准备期、运行期、终止期)进程和线程进程:进程是资源调用的最小单位。所有事件由cpu处理,当一个事件cpu,其他事件就无法占用处于,等待用完才......
  • 6.Linux I/O重定向与管道
    在Linux中,I/O重定向和管道是常用的技术,用于控制命令的输入和输出。这些技术可以帮助我们更有效地处理命令产生的数据,以及将数据从一个命令传递到另一个命令。1.**标准输入、输出和错误** ***标准输入(stdin)**:通常指的是键盘,文件描述符为0。 ***标准输出(stdout)**:通常指的......
  • Linux I/O重定向与管道
    1.IO重定向I/O重定向是一个过程,这个过程捕捉一个文件、命令、程序或脚本,甚至代码块的输出,然后把捕捉到的输出作为输入发送给另外一个文件、命令、程序或脚本。文件描述文件名类型硬件0stdin标准输入文件键盘1stdout标准输出文件显示器2stderr标准错误输出......
  • 无涯教程-Linux - 重定向
    在本章中,我们将详细讨论ShellI/O重定向。大多数Unix系统命令从您的终端获取输入,并将输出发送回您的终端输出。输出重定向符号>file命令将输出输出到指定的file中,如检查以下who命令,该命令将输出重定向用户文件中。$who>users请注意,终端上没有输出。这是因为输出已从......
  • Linux学习随笔——I/O重定向
    绝大多数进程中有0、1、2这三个文件描述符:0:标准输入,可以理解为键盘录入;1:标准输出,输出到终端;2:标准错误,输出到终端;3及以上为常规文件的描述符;例如:date命令在默认的情况下将输出结果显示在终端,此时文件描述符为1,现在改变输出的方向,从终端改为date.txt文件,这个行为叫做重定向:......
  • 理解Linux的I/O重定向与管道
    在Linux系统中,I/O重定向与管道是强大而灵活的工具,它们使得用户能够更有效地处理输入输出流,实现各种复杂的数据处理任务。I/O重定向1.输入重定向(<)Linux允许用户将一个文件的内容作为标准输入,这在处理大量数据或者自动化任务时非常有用。例如:$command<input.txt这将使co......
  • Linux I/O 重定向与管道
    1.输入/输出重定向输出重定向是一种将命令的输出流从默认位置改变到其他位置的方式。在Linux系统中,有两种常用的输出重定向符号:1.">":将命令的输出重定向到文件。这个符号将命令的输出流重定向到指定的文件中。如果文件不存在,则会创建一个新文件;如果文件已存在,则会......
  • I/O重定向与管道
    I/O重定向是指改变程序的标准输入(stdin)、标准输出(stdout)和标准错误输出(stderr)的默认设备,将其与其他设备或文件进行关联。通过I/O重定向,我们可以将程序的输入从键盘转向文件或其他设备,将程序的输出和错误信息输出到文件或其他设备而不是屏幕上标准输出重定向使用 > 符号来实现,它......
  • I/O重定向与管道
      输入/输出重定向用于规定输入信息的来源或输出信息的保存,管道用于命令之间,从而提高命令输出值的处理效率。 常用命令#tty//打开终端#date//显示出时间#date>daye.txt//将date输出结果重定向到date.txt文件#passwd......