目录

方法1:echo

方法2:tee


方法1:echo

要将Bash命令的输出写入文件,可以使用右尖括号符号(>)或双右尖符号(>>):

右尖括号(>)

右尖括号号(>)用于将bash命令的输出写入磁盘文件。如果没有指定名称的文件,则它将创建一个具有相同名称的新文件。如果该文件名称已经存在,则会覆盖原文件内容。

双右尖括号(>>)
它用于将bash命令的输出写入文件,并将输出附加到文件中。如果文件不存在,它将使用指定的名称创建一个新文件。

从技术上讲,这两个运算符都将stdout(标准输出)重定向到文件。

当第一次写入文件并且不希望以前的数据内容保留在文件中时,则应该使用右尖括号(>)。也就是说,如果文件中已经存在内容,它会清空原有数据内容,然后写入新数据。使用双右尖括号(>>)则是直接将数据附加到文件中,写入后的内容是原文件中的内容加上新写入的内容。

示例
ls命令用于打印当前目录中存在的所有文件和文件夹。但是,当运行带有直角括号符号(>)的ls命令时,它将不会在屏幕上打印文件和文件夹列表。而是将输出保存到用指定的文件中,即如下脚本代码所示:

#!/bin/bash
#Script to write the output into a file  #Create output file, override if already present
output=output_file.txt  #Write data to a file
ls > $output  #Checking the content of the file
gedit output_file.txt

执行上面示例代码,得到以下结果:

如此处所示,ls命令的输出重定向到文件中。要将文件的内容打印到终端,可以使用以下cat命令格式:

#!/bin/bash
#Script to write the output into a file  #Create output file, override if already present
output=output_file.txt  #Write data to a file
ls > $output  #Printing the content of the file
cat $output

执行上面示例代码,得到以下结果:

如果要在不删除原文件数据内容的情况下,将多个命令的输出重定向到单个文件,则可以使用>>运算符。假设要将系统信息附加到指定的文件,可以通过以下方式实现:

#!/bin/bash
#Script to write the output into a file  #Create output file, override if already present
output=output_file.txt  #Write data to a file
ls > $output  #Appending the system information
uname -a >> $output  #Checking the content of the file
gedit output_file.txt

在这里,第二条命令的结果将附加到文件末尾。可以重复几次此过程,以将输出追加到文件末尾。

执行上面示例代码,得到以下结果:

方法2:tee

有些人可能不喜欢使用>>>运算符将输出写入文件,因为终端中将没有命令的输出。可以通过使用tee命令将接收到的输入打印到屏幕上,同时将输出保存到文件中。

#!/bin/bash
#Script to write the output into a file  #Create output file, override if already present
output=output_file.txt  #Write data to a file
ls | tee $output

执行上面示例代码,得到以下结果:

>运算符一样,它将覆盖文件的原内容,但也会在屏幕上打印输出。如果要在不使用tee命令删除文件内容的情况下将输出写入文件,则可以使用以下格式将输出打印到终端,参考以下代码:

#!/bin/bash
#Script to write the output into a file  #Create output file, override if already present
output=output_file.txt  echo "<<<List of Files and Folders>>>" | tee -a $output
#Write data to a file
ls | tee $output  echo | tee -a $output
#Append System Information to the file
echo "<<<OS Name>>>" | tee -a $output
uname | tee -a $output

执行上面示例代码,得到以下结果:

上面示例不仅将输出附加到文件末尾,而且还将输出打印在屏幕上。

linux bash 写入文件相关推荐

  1. linux文件删除指定内容,Linux bash删除文件中含“指定内容”的行功能示例

    本文实例讲述了Linux bash删除文件中含"指定内容"的行功能.分享给大家供大家参考,具体如下: #!/bin/sh # 功能: 删除文件中含"指定内容"的 ...

  2. linux删除具有指定内容的文件,Linux bash删除文件中含“指定内容”的行功能示例...

    本文实例讲述了Linux bash删除文件中含"指定内容"的行功能.分享给大家供大家参考,具体如下: #!/bin/sh # 功能: 删除文件中含"指定内容"的 ...

  3. linux缓存写入文件,实验5Linux文件操作之带缓存和非缓冲文件的读写

    <实验5Linux文件操作之带缓存和非缓冲文件的读写>由会员分享,可在线阅读,更多相关<实验5Linux文件操作之带缓存和非缓冲文件的读写(15页珍藏版)>请在人人文库网上搜索 ...

  4. linux sed.写文件,Linux文件处理sed命令-linux sed命令详解-linux sed写入文件-嗨客网

    Linux文件处理sed命令详解教程 Linux sed命令使用 Linux sed 命令处理时,把当前处理的行存储在临时缓冲区中,称为 "模式空间"( oattern space ...

  5. linux:tomcat写入文件失败

    1 检查文件读写属性 ls -l 2 检查磁盘空间 df -h 3 重启tomcat 转载于:https://www.cnblogs.com/caer/p/5941198.html

  6. linux bash 的文件查找替换 文件操作

    文章目录 1. sed命令 1.1 简介 1.1.1 删除:d命令 1.1.1 替换:s命令 2. 典型用法 2.1 sed 查找某行,关键字,并且替换一行 2.2 sed 查找某行,关键字,并且替换 ...

  7. linux 输出到文件 新,如何在Linux中将命令输出保存到文件

    原标题:如何在Linux中将命令输出保存到文件 在Linux中输出命令可以做很多事情. 您可以将命令的输出分配给变量,将其发送到另一个命令/程序以通过管道进行处理或将其重定向到文件以进行进一步分析. ...

  8. linux的八进制文件模式,linux od-输出文件的八进制、十六进制等格式编码的字节...

    博主推荐:获取更多 linux文件内容查看命令 收藏:linux命令大全 od命令用于输出文件的八进制.十六进制或其它格式编码的字节,通常用于显示或查看文件中不能直接显示在终端的字符. 常见的文件为文 ...

  9. 管道,Linux命令,Windows命令,cmd命令,tmux,vim,shell,bash,sh文件,bat文件

    catalog WIndows与Unix基本命令 Bat文件 规范 注释 Windows-CMD 介绍 管道`|`, 重定向`> <` 相对位置 fc 创建文件 删除文件/文件夹 创建文件 ...

最新文章

  1. matlab最小二乘法参数辨识,基于最小二乘法的MATLAB辨识仿真实验
  2. Word VSTO Error:Interop type 'Microsoft.Office.Interop.OneNote.Application' cannot be embedded...
  3. linux rpm命令 查询包安装与否、包详细信息、包安装位置、文件属于哪个包、包依赖
  4. Java集合框架(二)—— HashSet、LinkedHashSet、TreeSet和EnumSet
  5. java面试难吗_面试两个月,整理了今年的最新java面试题,你看行吗?
  6. 高级C语言教程-关键字和运算符
  7. 在Mac下SVN(Cornerstone)迁出代码
  8. Python操作MySQL数据库的三种方法
  9. 投稿指南 | 云计算领域最前沿资讯、技术,期待您的专业解读!
  10. C++类的定义和创建
  11. 中国1,4-苯醌市场趋势报告、技术动态创新及市场预测
  12. @程序员,除了女朋友你还要带什么回去?
  13. Android - get email attachment name in my application
  14. python自动化运维平台下载_5、python自动化运维——集中化管理平台Ansible
  15. 3.第一个HelloMaven/快速入门
  16. WPS中JS宏简单运用
  17. TRNSYS与CONTAM3.4耦合过程
  18. 图像处理:图像灰度化
  19. freeswitch呼叫中心之百度MRCP语音合成识别环境搭建
  20. MySQL-8.0 RESTART命令远程重启mysqld

热门文章

  1. python的主函数如何书写_Python程序的入口在哪里?main函数的恰当写法
  2. Linux Kernel TCP/IP Stack — L2 Layer — Traffic Control(流量控制)
  3. Libvirt 版本降级过程记录 4.5.0 to 3.9.0
  4. vmlinux、 Image, zImage、 uImage 的区别
  5. Simulink仿真---PMSM滞环电流控制仿真模型学习
  6. 阿里云宣布进入 Serverless 容器时代,推出弹性容器实例服务 ECI
  7. html2canvas在Vue项目踩坑-生成图片偏移不完整
  8. 2018 我的学习分享路线
  9. 心目中的编程高手zz, 有点academic风格的说^_^
  10. Enterprise Library 5.0发布