【Linux学习】之将输出重定向到文件或程序

这篇具有很好参考价值的文章主要介绍了【Linux学习】之将输出重定向到文件或程序。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

将输出重定向到文件或程序

1. 标准输入、标准输出和标准错误

进程使用称为文件描述符的编号通道来获取输入并发送输出。所有进程在开始时至少要有三个文件描述符:
标准输入(通道0) 从键盘读取输入。
标准输出(通道 1) 将正常输出发送到终端。
标准错误(通道 2) 将错误消息发送到终端。
如果程序打开连接至其他文件的单独连接,则可能要使用更大编号的文件描述符。
【Linux学习】之将输出重定向到文件或程序

2. 输出重定向操作符

I/0重定向可更改进程获取其输入或输出的方式。该进程并不是从键盘获取输入,也不是将输出和错误发送到终端,而是执行文件读取或写入。重定向允许将消息保存到通常发送给终端窗口的文件中。或者也可以使用重定向来丢弃输出或错误,这样它们就不会显示在终端上或保存下来。

2.1 用法及说明
用法 说明
> file 重定向stdout 以覆盖文件
>> file 重定向stdout 以附加到文件
2> file 重定向stderr 以覆盖文件
2> /dev/null 将stderr错误消息重定向到 /dev/nulI,从而将它丢弃
>file 2>&1,&> file 重定向stdout 和stderr 以覆盖同一个文件
file 2>&1 ,&>> file 重定向stdout 和stderr 以附加到同一个文件

重定向操作的顺序非常重要。以下序列将标准输出重定向到 file,然后将标准错误作为标准输出重定向到相同位置(file)。

> file 2>&1

但是,下一个序列以相反的顺序执行重定向。这会将标准错误重定向到标准输出的默认位置(终端窗口,因此没有任何更改) ,然后仅将标准输出重定向到 file。

2>&1 > file    
2.2 合并重定向运算符

&>file 代替 >file 2>&1
&>>file 代替 >>file 2>&1

2.3 输出重定向示例
  • 通过重定向,可以简化许多日常管理任务。在思考下列示例时,请参考前面的表格:保存时间戳以供日后参考
date > /tmp/saved-timestamp
  • 将一个日志文件的最后 100 行复制到另一文件。
tail -n 100 /var/log/dmesg > /tmp/last-100-boot-messages
  • 将四个文件连接为一个。
cat file1 file2 file3 file4 > /tmp/all-four-in-one

【Linux学习】之将输出重定向到文件或程序

  • 将主目录的隐藏文件名和常规文件名列出到文件中。
Is -a > /tmp/my-file-names

【Linux学习】之将输出重定向到文件或程序
【Linux学习】之将输出重定向到文件或程序

  • 将输出附加到现有文件。
echo "new line of information" >> /tmp/many-lines-of-information
diff previous-file current-file >> /tmp/tracking-changes-made

【Linux学习】之将输出重定向到文件或程序

2.4 输出重定向实例2

1)通过重定向,可以简化许多日常管理任务。在思考下列示例时,请参考前面的表格:保存时间戳以供日后参考

date > /tmp/saved-timestamp

2)将一个日志文件的最后 100 行复制到另一文件。

tail -n 100 /var/log/dmesg > /tmp/last-100-boot-messages

3)将四个文件连接为一个。

cat file1 file2 file3 file4 > /tmp/all-four-in-one

4)将主目录的隐藏文件名和常规文件名列出到文件中。

Is -a > /tmp/my-file-names

5)将输出附加到现有文件。

 echo "new line of information" >> /tmp/many-lines-of- 
 diff previous-file current-file >> /tmp/tracking-changes-made

3. 构建管道

3.1 含义

【Linux学习】之将输出重定向到文件或程序

3.2 管道示例

1)取 1s 命令的输出并使用 less 在终端上以一次一屏的方式显示输出。

ls -1 /usr/bin | less

2)ls 命令的输出传送到 wc -1,用于统计从 s 收到的行数并将该行数显示在终端。

ls wc -1

3)在此管道中,head将输出1s t 输出内容的前10行,并且最终结果会重定向到一个文件。文章来源地址https://www.toymoban.com/news/detail-434547.html

ls -t ] head -n 10 > /tmp/ten-last-changed-files

到了这里,关于【Linux学习】之将输出重定向到文件或程序的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 文件操作--文件的随机读写、标准输入输出重定向

    目录 一、文件的随机读写 二、便准输入输出重定向         前面的例程执行的都是顺序文件处理(Sequential File Processing)。在顺序文件处理过程中,数据项是一个接着一个进行读取或者写入的。例如,如果想读取文件中的第5个数据项,那么使用顺序存取方法必须先读取前

    2024年02月15日
    浏览(39)
  • Linux操作实例 – 输入输出重定向

    By Jackson 1. 前言 在操作计算机的时候,我们能够很容易通过键盘、鼠标给计算机输入信息(例如:写公文、邮件,同时通过显示器得到输出。这就是日常和计算机进行人机对话的过程。 使用Linux操作系统,由于天生需要用命令行来交互,给使用者增加了些许难度。本文简要介

    2024年02月02日
    浏览(40)
  • Bash将输出同时重定向到标准输出stdout和文件

    本文参考How to redirect output to a file and stdout。 对于任意原本默认输出到标准输出 stdout 的程序或命令 foo ,只需执行 即可同时输出到 output.file 文件。 例如,若想输出当前目录下的所有目录与文件到标准输出 stdout 的同时保存到 output.file 文件,执行 如果同时想输出程序或命令的

    2024年04月14日
    浏览(42)
  • 「Linux系列」Shell 输入/输出重定向

    在Shell中,输入重定向允许你将一个文件或命令的输出作为另一个命令的输入,而不是从标准输入(通常是键盘)读取。这是通过特殊符号 实现的。使用输入重定向,你可以将文件的内容作为命令的输入,从而执行特定的操作。 下面是一个Shell输入重定向的案例: 假设你有一

    2024年04月15日
    浏览(42)
  • 一文搞懂Linux的标准输出/错误重定向

     今天在写一个脚本时,需要将shell命令和可执行程序的输出重定向在某一个log文件中,但是遇到了点小问题,索性就研究下输出重定向到底怎么回事。  Linux系统,有一个非常重要概念,就是一切皆文件。在使用shell脚本时,系统为了能够进行接收外部输入,同时向外部输出

    2023年04月26日
    浏览(45)
  • linux console输出重定向到串口ttyS0

    在linux系统中使用virsh创建和管理虚拟机时,除了使用ssh 连接虚拟机,还可以使用 virsh console 虚机名 的方式连接虚拟机,不过需要在虚机镜像中开启将console重定向到串口的设置。 修改 /etc/default/grub文件: 1、将GRUB_CMDLINE_LINUX=\\\"\\\" 改为 GRUB_CMDLINE_LINUX=“console=tty0 console=ttyS0,11520

    2024年02月10日
    浏览(33)
  • Linux- 重定向标准输出(stdout)和标准错误(stderr)

    在Linux或Unix系统中,可以通过重定向标准输出(stdout)和标准错误(stderr)来将脚本的输出保存到一个文件中。以下是一些方法: 只重定向标准输出到文件 : 这将只捕获正常的输出(stdout),但不包括错误消息(stderr)。 同时重定向标准输出和标准错误到同一个文件 : 这

    2024年02月11日
    浏览(33)
  • Linux | 重定向 | 文件概念 | 查看文件 | 查看时间 | 查找文件 | zip

    接着上一章节,我们这一章接着讲指令,话不多说我们接着开始~~ 语法: more [选项][文件] 功能: more命令,功能类似 cat 常用选项: -n 对输出的所有行编号 q 退出more 我们接下来要学的指令是more,但是这个more要查看文件,我们就要创建一个文件,这次我们创建的文件就和之

    2024年02月05日
    浏览(30)
  • 『Linux』文件描述符及重定向——为何说Linux下,一切皆文件?

    🌸作者简介: 花想云 ,在读本科生一枚,C/C++领域新星创作者,新星计划导师,阿里云专家博主,CSDN内容合伙人…致力于 C/C++、Linux 学习。 🌸 专栏简介:本文收录于 Linux从入门到精通 ,本专栏主要内容为本专栏主要内容为Linux的系统性学习,专为小白打造的文章专栏。

    2024年02月12日
    浏览(58)
  • 【Linux】文件的描述符和重定向

    C语言的文件读写操作 文件写入 fputs int fputs(const char *s, FILE *stream); s:要写入的字符串 stream:要写入对应的目标文件 文件输出(只可以在文件读的环境下运行 r) fgets char *fgets(char *s, int size, FILE *stream); s:要保存到的目标位置 size:输出多少字节 stream:输出的目标文件 文件写

    2024年02月12日
    浏览(45)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包