热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

linux命令输出到屏幕的同时保存到文件

linux命令输出到屏幕的同时保存到文件tee用于把命令结果打印在屏幕上并同时保存到文件。tee用法描述:从标准输入中读取并同时写入到标准输出和指定的文件上选项:-a,--a

linux命令输出到屏幕的同时保存到文件

tee用于把命令结果打印在屏幕上并同时保存到文件。 tee用法 描述:从标准输入中读取并同时写入到标准输出和指定的文件上 选项:     -a,--append:不覆盖,而是追加输出到指定的文件中     -i,--ignore-interrupts:忽略中断信息     若指定的输出文件为'-',则再次输出到标准输出上 实例:     tee Example.txt #将标准输入中输入的内容同时输出到Example.txt和标准输出上 实践: 例如 ifconfig | tee ifconfig.log 查看iconfig.log 注: 标准输入一般有键盘和其它文件,标准输出有屏幕等。

tee只能进行标准输入的输出,对于错误输入是不能输出的。

在调试脚本时,想要每个命令的执行过程都输出到屏幕或者文件中,以便后续查看,如何操作呢?首先脚本第一行要写为“#!/bin/bash -x”,这样会把每个命令的执行记录都输出到屏幕,若还要输出到指定文件,要用到tee,但tee只能进行标准输入,对于标准输入和错误输入要用到下式: ./filename.sh 2>&1 | tee output.log   或者直接 bash -x ./filename.sh 2>&1 | tee output.log 今天调试一个bash,要把屏幕的输出结果存到log文件中,开始输入$bash -x ./test.sh > log 结果发现log里只存放了程序的执行结果,后来在cu的一篇帖子里http://bbs.chinaunix.net/viewthread.php?tid=264380&highlight=bash得到了启发,bash -x的调试信息是输出到2号流中的,所以解决方案为bash -x ./test.sh 2>&1 | tee log 想起以前要存放执行make的结果时也遇到类似问题,总结如下: 1、管道符的“I”的作用只是把前一个程序的标准输出流(stdout)的数据作为后一个程序的标准输入流stdin的数据,如不进行重定向,则其他输出流的信息是无法传给后面的程序的 2、屏幕得到的信息不一定是从程序的标准输出来的,也包括标准错误输出流stderr中的信息 3、有些程序(特别是象bash、make这样执行了其他程序的程序)的设计者为了省事,把一些正常情况的信息也放在stderr中输出(即使程序本身并无错误),而stdout用来输出被调用程序的执行时信息,造成了用户的误解简单编写了一下脚本,通过ssh登陆在命令行下运行正常,可是将脚本添加到crontab中就不正常。想记录一下输出信息,分析一下错误原因。将脚本通过使用>info.log 重定向输出,结果发现一些在命令行下可以看到的文本信息没有记录到info.log文件中,研究了一下,那些输出估计是输出到了标准错误上。 研究了一下通常添加命令后面几个输出含义 ■ >/dev/null 输出到空设备,表示丢掉输出信息。

linux下,如何将控制台输出的所有内容全部输出到一个文本文件?

直接使用输出重定向到你想要的文件即可,不过将所有的控制到信息输出到一个文本文件,只有两个办法:①:修改所有程序的输出路径:printf函数 echo.....几乎是不可能完成的任务②:修改linux的标准输出路径:句柄 句柄的数字代号 描述STDIN 0 键盘输入STDOUT 1 输出到命令提示符窗口STDERR 2 错误输出到命令提示符窗口将标准输出 标准输出的默认设置更改为你要保存的文件,这样就会控制台的信息就会输出到你指定的文件里面

Linux标准输入输出与重定向详解|果断收藏

linux中的>、>>、<、<<、2>、2>>、2>&1、&>、&<,总归要面对的 为了更好的理解这个问题,我们需要追本溯源。 执行一个shell命令行时通常会自动打开三个标准文件 (1) 、标准输入文件(stdin) 通常对应终端的键盘。

(2)、标准输出文件(stdout)。

(3)、标准错误输出文件(stderr)。 (2)和(3)这两个文件都对应终端的屏幕。 进程将从标准输入文件中得到输入数据。 将正常输出数据输出到标准输出文件[显示器]。

将错误信息送到标准错误文件中[显示器]。 下图所示: 0、1、2表示一个文件描述符 但是,有时候我们不想把一些进程处理后信息输出到显示器。 这时我们就引出了重定向。

改变标准输入/输出的方向 三种重定向: 1、重定向标准输出,包括两种。 (1)、>(覆盖),等价1> 将命令执行的结果输出到指定文件,非显示器。 (2) 、>>(追加),等价1>> 将命令执行的结果追加到指定文件,非显示器。

2、 重定向标准输入,包括两种。 (1) 、<将命令中接收的输入途径,由键盘改为指定文件。 (2) 、<<[Here Document] 命令序列传递到一个交互程序或者命令中。

3、 重定向标准错误,包括两种。 (1) 、2>(覆盖) 将命令执行的结果输出到指定文件。 (2) 、2>>(追加) 将命令执行的结果追加到指定文件。 1、重定向标准输出和重定向标准错误到同一个文件中 有以下的几种方式 (1) 、2>&1 (2) 、>& (3) 、&> 2、 两个特殊文件 (1) 、/dev/nul 过滤标准错误信息 意思就是不想显示结果就输出到这里面。

linux输出重定向到文件命令

输出即把相关对象通过输出设备(显示器等)显示出来,输出又分正确输出和错误输出一般情况下标准输出设备为显示器,标准输入设备为键盘。linux中用0代表标准输入,1代表标准正确输出,2代表标准错误输出。

输出重定向:正常输出是把内容输出到显示器上,而输出重定向是把内容输出到文件中例如:ifconfig > test.log 即把ifconfig执行显示的内容写入test.log.当前页面不再显示执行结果。

注意:错误输出重定向>/>>后边没有空格命令 >> 文件 2>&1 和 命令 &>>文件 两个命令作用相同系统有个常见用法 ls &>/dev/null 正确输出或错误输出结果都不要。(null可以理解为黑洞或垃圾站)命令>>文件1 2>>文件2 正确日志和错误日志分开保存 例:nohup java -jar /usr/sbin/lb-agent.jar >>/var/log/lb-agent.log 2>&1 &将jar执行的结果写入到lb-agent.log中在命令最后加上&符号,表示让这个进程到后台去执行,这样立刻返回到提示符状态,我们可以接着做下面的事。如:command &。这种“后台”进程在shell一直打开的情况下是没有问题的,如果我们关了shell窗口甚至退出ssh登录或vnc登录,那么进程自动就结束了。

所以如果想退出窗口乃至退出登录仍然保持程序运行,再加上nohup,形如:nohup command 1>output 2>&1 &  《Linux就该这么学》学习更多linux知识。

linux怎么在代码里将每次的操作结果写入到文件中?

用 > 把输出转向就可以了例子:[lhd@hongdi ~]$ ls > ls.txt[lhd@hongdi ~]$ cat ls.txt1.gtkrc-2.02009aamsn_receiveda.tar.gz说明: > 是把输出转向到指定的文件,如文件已存在的话也会重新写入,文件原内容不会保留>> 是把输出附向到文件的后面,文件原内容会保留下来。更多更详细的Linux知识可参考《Linux就该这么学》。

linux中printf后的内容怎么保存到文件中

可以运用Linux输出重定向>和>>来将输出的数据保存到文件,直接在命令后加>xxx。输出重定向的用法:标准输出的控制语法:命令>文件将命令的执行结果送至指定的文件中。

例如:ls-l>list将执行“ls-l”命令的结果写入文件list中。

语法:命令>!文件将命令的执行结果送至指定的文件中,若文件已经存在,则覆盖。例如:ls-lg>!list将执行“ls-lg”命令的结果覆盖写入文件list中。语法:命令>&文件将命令执行时屏幕上所产生的任何信息写入指定的文件中。例如:ccfile1.c>&error将编译file1.c文件时所产生的任何信息写入文件error中。

语法:命令》文件将命令执行的结果附加到指定的文件中。例如:ls-lag>>list将执行“ls-lag”命令的结果附加到文件list中。语法:命令》&文件将命令执行时屏幕上所产生的任何信息附加到指定的文件中。

例如:ccfile2.c>>&error将编译file2.c文件时屏幕所产生的任何信息附加到文件error中。


推荐阅读
  • Linux下安装免费杀毒软件ClamAV及使用方法
    本文介绍了在Linux系统下安装免费杀毒软件ClamAV的方法,并提供了使用该软件更新病毒库和进行病毒扫描的指令参数。同时还提供了官方安装文档和下载地址。 ... [详细]
  • 本文介绍了Oracle数据库中tnsnames.ora文件的作用和配置方法。tnsnames.ora文件在数据库启动过程中会被读取,用于解析LOCAL_LISTENER,并且与侦听无关。文章还提供了配置LOCAL_LISTENER和1522端口的示例,并展示了listener.ora文件的内容。 ... [详细]
  • 【重识云原生】第四章云网络4.8.3.2节——Open vSwitch工作原理详解
    2OpenvSwitch架构2.1OVS整体架构ovs-vswitchd:守护程序,实现交换功能,和Linux内核兼容模块一起,实现基于流的交换flow-basedswitchin ... [详细]
  • 进入配置文件目录:[rootlinuxidcresin-4.0.]#cdusrlocalresinconf查看都有哪些配置文件:[rootlinuxid ... [详细]
  • 一、设置时区方法一:使用setup工具setup选择Timezoneconfiguration选择AsiaShanghai空格键勾选上System ... [详细]
  • 本文介绍了在Linux下安装Perl的步骤,并提供了一个简单的Perl程序示例。同时,还展示了运行该程序的结果。 ... [详细]
  • 计算机存储系统的层次结构及其优势
    本文介绍了计算机存储系统的层次结构,包括高速缓存、主存储器和辅助存储器三个层次。通过分层存储数据可以提高程序的执行效率。计算机存储系统的层次结构将各种不同存储容量、存取速度和价格的存储器有机组合成整体,形成可寻址存储空间比主存储器空间大得多的存储整体。由于辅助存储器容量大、价格低,使得整体存储系统的平均价格降低。同时,高速缓存的存取速度可以和CPU的工作速度相匹配,进一步提高程序执行效率。 ... [详细]
  • Linux如何安装Mongodb的详细步骤和注意事项
    本文介绍了Linux如何安装Mongodb的详细步骤和注意事项,同时介绍了Mongodb的特点和优势。Mongodb是一个开源的数据库,适用于各种规模的企业和各类应用程序。它具有灵活的数据模式和高性能的数据读写操作,能够提高企业的敏捷性和可扩展性。文章还提供了Mongodb的下载安装包地址。 ... [详细]
  • 本文介绍了将mysql从5.6.15升级到5.7.15的详细步骤,包括关闭访问、备份旧库、备份权限、配置文件备份、关闭旧数据库、安装二进制、替换配置文件以及启动新数据库等操作。 ... [详细]
  • 本文介绍了在CentOS上安装Python2.7.2的详细步骤,包括下载、解压、编译和安装等操作。同时提供了一些注意事项,以及测试安装是否成功的方法。 ... [详细]
  • Linux下ODBC安装配置
    Linux下ODBC安装配置ODBC原理ODBC是 ... [详细]
  • 之前项目在windows2003服务器上设置定时任务,每天执行。现在把项目移植到linux系统。也要在linux系统上设置计划任务。但是之前我从来没有做过。所以多得不 ... [详细]
  • 现在需要用到php(现在可以用)
    本文目录一览:1、现在在工作中PHP用到的多么? ... [详细]
  • 本文转载自:https:blog.csdn.netu924512005articledetails70655272详细了解FPGAselectIO是学习FPGA基础 ... [详细]
  • linux 循环 cpu使用率脚本,Linux Shell脚本监视CPU利用率,达到设置的CPU利用率时发送电子邮件...
    有很多开源监控工具可用于监控Linux系统性能,当系统达到给定的阈值限制时,它将发送电子邮件警报。它监视CPU利用率、内存利用率、交换利用率、磁盘空间利 ... [详细]
author-avatar
手机用户2602889575
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有