linux 自己文件的内容追加在自己文件中

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux 自己文件的内容追加在自己文件中相关的知识,希望对你有一定的参考价值。

1.echo""里输入到要换行的地方直接回车就行了,记得双引号引出.
echo "asfsaf
gfsfdsf
asfasdas
gds
fs
f" >> 123.txt
2.利用cat命令
利用cat text1.txt >>text2.txt 命令可以将text1.txt内的内容添加到text2.txt末尾。
这是常用的两种方式。
参考技术A 比如你的文件是/a.txt ,可以使用
cat /a.txt | xargs >> /a.txt
参考技术B 假设文件名为file
cp file tmp
cat tmp >>file
rm tmp追问

只有新建一个文件的方法吗

参考技术C cat test >> test
more test >> test来自:求助得到的回答
参考技术C 用>>来重定向

使用mmap(linux系统调用)追加文件内容

在网上找了一些例子,都实践了一遍,但是这些例子都是读取文件,或者将文件中的字符串“asdf”改为“qwer”这种,我想要的功能是在文件末尾增加一行新的内容,就是普通的write进去,求方法。我自己根据mmap文档中的参数说明,尝试了若干次都失败了。
源码如上图,创建一个文件“mmapfile.txt”,往里面追加一句话“just a test for mmap.”
下一次再执行这个程序,mmapfile.txt文件中之前的内容不被删除,而是”追加“。

mmap 是做内存映射,mmap系统调用使得进程之间通过映射同一个普通文件实现共享内存。普通文件被映射到进程地址空间后,进程可以像访问普通内存一样对文件进行访问,不必再调用read(),write()等操作。
void * mmap(void *start, size_t length, int prot , int flags, int fd, off_t
offset);
PROT_WRITE //页可以被写入 //这个参数你设置没有?追问

源码如上图

参考技术A 如果你想体验Linux系统,我觉得最好的办法是安装了Linux操作系统,再好的园林绿化,仿真工具不能让你真正体验到了Linux的真正威力。一般可以安装Vista系统的配置非常高,可以安装虚拟机软件的Windows平台,虚拟机内安装了Linux系统。在这种情况下,有一个完整的Linux系统(带独立的桌面环境,文件系统,内存空间等,和一台电脑没有区别),而要像在Windows下运行的Windows应用程序,不会将您的Windows产生任何危害。
常见的虚拟机软件Vmware的,现在最新的版本是6.0,很不错,推荐,以及微软的VirtualPC,功能也很不错,但我还没有用完。
参考技术B 图代码用了lseek(reposition read/write file offset),这个并不能改变文件的大小,所以追加失败。 参考技术C 最简单的办法是:
echo "文件内容“ >> 文件追问

我必须用mmap这个方法

追答

网上查mmap是用来内存映射的?你确定用这个来修改文件?

追问

确定,开源项目log4c中就使用了这个方法,在linux系统中运行速度比普通的fprintf, write这类c语言流输入速度快很多。我自己懂得fprintf这种入门级的c语言方法

追答

好吧,那还是等高手来解答吧,这个不懂

以上是关于linux 自己文件的内容追加在自己文件中的主要内容,如果未能解决你的问题,请参考以下文章

C#文件监控工具(对追加内容的监控并输出)

linux系统在脚本里面怎么给一个文件追加几行内容

Linux系统下不使用vivimtouch等方法来创建文件或追加内容

Linux特殊字符

Linux-重定向追加

Linux基础IO ——文件(上)