linux bash 写入文件
目录
方法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 写入文件相关推荐
- linux文件删除指定内容,Linux bash删除文件中含“指定内容”的行功能示例
本文实例讲述了Linux bash删除文件中含"指定内容"的行功能.分享给大家供大家参考,具体如下: #!/bin/sh # 功能: 删除文件中含"指定内容"的 ...
- linux删除具有指定内容的文件,Linux bash删除文件中含“指定内容”的行功能示例...
本文实例讲述了Linux bash删除文件中含"指定内容"的行功能.分享给大家供大家参考,具体如下: #!/bin/sh # 功能: 删除文件中含"指定内容"的 ...
- linux缓存写入文件,实验5Linux文件操作之带缓存和非缓冲文件的读写
<实验5Linux文件操作之带缓存和非缓冲文件的读写>由会员分享,可在线阅读,更多相关<实验5Linux文件操作之带缓存和非缓冲文件的读写(15页珍藏版)>请在人人文库网上搜索 ...
- linux sed.写文件,Linux文件处理sed命令-linux sed命令详解-linux sed写入文件-嗨客网
Linux文件处理sed命令详解教程 Linux sed命令使用 Linux sed 命令处理时,把当前处理的行存储在临时缓冲区中,称为 "模式空间"( oattern space ...
- linux:tomcat写入文件失败
1 检查文件读写属性 ls -l 2 检查磁盘空间 df -h 3 重启tomcat 转载于:https://www.cnblogs.com/caer/p/5941198.html
- linux bash 的文件查找替换 文件操作
文章目录 1. sed命令 1.1 简介 1.1.1 删除:d命令 1.1.1 替换:s命令 2. 典型用法 2.1 sed 查找某行,关键字,并且替换一行 2.2 sed 查找某行,关键字,并且替换 ...
- linux 输出到文件 新,如何在Linux中将命令输出保存到文件
原标题:如何在Linux中将命令输出保存到文件 在Linux中输出命令可以做很多事情. 您可以将命令的输出分配给变量,将其发送到另一个命令/程序以通过管道进行处理或将其重定向到文件以进行进一步分析. ...
- linux的八进制文件模式,linux od-输出文件的八进制、十六进制等格式编码的字节...
博主推荐:获取更多 linux文件内容查看命令 收藏:linux命令大全 od命令用于输出文件的八进制.十六进制或其它格式编码的字节,通常用于显示或查看文件中不能直接显示在终端的字符. 常见的文件为文 ...
- 管道,Linux命令,Windows命令,cmd命令,tmux,vim,shell,bash,sh文件,bat文件
catalog WIndows与Unix基本命令 Bat文件 规范 注释 Windows-CMD 介绍 管道`|`, 重定向`> <` 相对位置 fc 创建文件 删除文件/文件夹 创建文件 ...
最新文章
- matlab最小二乘法参数辨识,基于最小二乘法的MATLAB辨识仿真实验
- Word VSTO Error:Interop type 'Microsoft.Office.Interop.OneNote.Application' cannot be embedded...
- linux rpm命令 查询包安装与否、包详细信息、包安装位置、文件属于哪个包、包依赖
- Java集合框架(二)—— HashSet、LinkedHashSet、TreeSet和EnumSet
- java面试难吗_面试两个月,整理了今年的最新java面试题,你看行吗?
- 高级C语言教程-关键字和运算符
- 在Mac下SVN(Cornerstone)迁出代码
- Python操作MySQL数据库的三种方法
- 投稿指南 | 云计算领域最前沿资讯、技术,期待您的专业解读!
- C++类的定义和创建
- 中国1,4-苯醌市场趋势报告、技术动态创新及市场预测
- @程序员,除了女朋友你还要带什么回去?
- Android - get email attachment name in my application
- python自动化运维平台下载_5、python自动化运维——集中化管理平台Ansible
- 3.第一个HelloMaven/快速入门
- WPS中JS宏简单运用
- TRNSYS与CONTAM3.4耦合过程
- 图像处理:图像灰度化
- freeswitch呼叫中心之百度MRCP语音合成识别环境搭建
- MySQL-8.0 RESTART命令远程重启mysqld
热门文章
- python的主函数如何书写_Python程序的入口在哪里?main函数的恰当写法
- Linux Kernel TCP/IP Stack — L2 Layer — Traffic Control(流量控制)
- Libvirt 版本降级过程记录 4.5.0 to 3.9.0
- vmlinux、 Image, zImage、 uImage 的区别
- Simulink仿真---PMSM滞环电流控制仿真模型学习
- 阿里云宣布进入 Serverless 容器时代,推出弹性容器实例服务 ECI
- html2canvas在Vue项目踩坑-生成图片偏移不完整
- 2018 我的学习分享路线
- 心目中的编程高手zz, 有点academic风格的说^_^
- Enterprise Library 5.0发布