ubuntu学习(六)----文件编程实现cp指令

1 思路

Linux要想复制一份文件通常指令为:

cp src.c des.c

 其中src.c为源文件,des.c为目标文件。

要想通过文件编程实现cp效果,思路如下

1 首先打开源文件 src.c

2 读src到buf

3 创建des.c

4 将buf写入到des.c

5 close两个文件 

 2 实现

vi demo.c

#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <stdio.h>
#include <unistd.h>
#include <string.h>
#include <stdlib.h>int main(int argc, char **argv)
{/*  0             1               2cp            src.c            des.c  3个参数 argc||              ||               ||argv[0]       argv[1]         argv[2]*/     int fdSrc;int fdDes;char *readBuf=NULL;if(argc != 3){printf("pararm error\n");exit(-1);}fdSrc = open(argv[1],O_RDWR);int size = lseek(fdSrc,0,SEEK_END);lseek(fdSrc,0,SEEK_SET);readBuf=(char *)malloc(sizeof(char)*size + 8);int n_read = read(fdSrc, readBuf, size);fdDes = open(argv[2],O_RDWR|O_CREAT|O_TRUNC,0600);int n_write = write(fdDes,readBuf,strlen(readBuf));close(fdSrc);close(fdDes);return 0;
}

 gcc demo.c -o mycp

./mycp demo.c ./new.c

vi new.c

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://xiahunao.cn/news/1618078.html

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

比较重合点的排斥能

( A, B )---3*30*2---( 1, 0 )( 0, 1 ) 让网络的输入只有3个节点&#xff0c;AB训练集各由5张二值化的图片组成&#xff0c;让A中有2个1&#xff0c;B中有1个1&#xff0c;有一个点重合&#xff0c;排列组合&#xff0c;统计迭代次数并排序。 得到数据 构造平均列A 构造平均列…

k8s 查看加入主节点命令 k8s重新查看加入节点命令 k8s输入删除,重新查看加入命令 kuberadm查看加入节点命令

1. 使用kuberadm 安装成功后&#xff0c;clear清除了屏幕数据&#xff0c;加入命令无法查看&#xff0c;使用如下&#xff0c;重新查看node如何加入主节点命令&#xff1a; kubeadm token create --print-join-command --ttl 0 2.画圈的全部是&#xff0c;都复制&#xff0c;在…

4.22 TCP 四次挥手,可以变成三次吗?

目录 为什么 TCP 挥手需要四次呢&#xff1f; 粗暴关闭 vs 优雅关闭 close函数 shotdown函数 什么情况会出现三次挥手&#xff1f; 什么是 TCP 延迟确认机制&#xff1f; TCP 序列号和确认号是如何变化的&#xff1f; 在一些情况下&#xff0c; TCP 四次挥手是可以变成 T…

Python让AI虚拟主播接入微软Azure语音合成并精准嘴型同步

上一篇文字中讲了利用Python实现利用微软Azure无限免费将文本转mp3格式的音频文件并下载到本地。微软Azure TTS的优点不用多说&#xff0c;今天将讲如何利用Python将其接入到虚拟主播中来。 订阅专栏&#xff0c;我将免费向您提供具体的方案。 看过专栏其他文章的朋友&#x…

微软HPC解决方案

首先我们先来看下高性能群集与其它几种群集的不同 高可用群集&#xff1a;群集所有节点&#xff0c;来维持一个应用的持续运作&#xff0c;如果当前应用所在节点失败&#xff0c;自动故障转移至其它节点 负载均衡群集&#xff1a;群集所有节点来平衡一个应用的访问请求&#x…

群辉服务器间同步文件,群晖NAS端之间同步(Cloud Station Sharesync)

Cloud Station套件是一个套件组&#xff0c;包含5个功能模块&#xff0c;其中Cloud Station Server是Cloud Station在NAS上的服务器端&#xff1b;云同步(Cloud Station Drive)和云备份(Cloud Station Backup)是电脑端软件&#xff0c;Drive是电脑端和NAS端的双向同步&#xff…

微软同步工具之synctoy

&#xfeff;&#xfeff; synctoy是由 微软 推出的一款免费的文件夹同步工具。微软的软件都以复杂与臃肿著称&#xff0c;不过这款软件还真是摆脱了复杂和臃肿。 &#xff1a;第一項是最主要的雙向同步功能&#xff0c;會依據左右兩端點裡檔案的增加、刪除、修改、更名&#x…

4 hadoop集群配置案例

3&#xff09;配置集群 &#xff08;1&#xff09;核心配置文件&#xff0c;core-site.xml cd $HADOOP_HOME/etc/hadoopvim core-site.xml文件内容如下&#xff1a; <?xml version"1.0" encoding"UTF-8"?> <?xml-stylesheet type"text…

远程桌面同步本地计算机,微软更新远程桌面应用现在终于可以在本地和远程计算机上复制文件...

远程桌面连接是许多专业用户和开发者必备的功能&#xff0c;通过远程桌面服务可以直接连接远程计算机并可以直接操作。 系统自带的远程桌面连接程序微软已经很久没有更新&#xff0c;因为微软现在主要通过应用商店发布新版本远程桌面应用。 比如在刚刚发布的远程桌面应用新版本…

解决 vscode 登录微软账户同步设置 出现“vscode.dev 关闭了连接“ 问题

我的电脑最近重装了系统&#xff0c;之前的软件都删除了&#xff0c;在重新安装vscode之后想同步之前的设置、主题时出现了问题。 我的解决方法是 在当前页面 输入 https://vscode.dev 看能不能打开。 如果能打开&#xff0c;再次点击vscode登录账号同步设置 我之前使用微软账…

跨设备同步保存密码

跨设备同步保存密码 文章目录 跨设备同步保存密码前言一、密码管理方式二、跨设备存储密码1、采用Keepass存储密码2、Keepass连接坚果云 三、小记&#xff1a; 前言 现在网络平台越来越多&#xff0c;除了可以直接通过手机登陆的方式&#xff0c;其次就需要使用到账号和密码。账…

【WIN问题】微软Microsoft onenote/store 无法连接网络无法同步解决

问题描述 将近1个月没有使用PC端的微软笔记&#xff0c;手机app正常使用。登录PC端记录笔记后&#xff0c;Ctrl s 保存时OneNote提示&#xff1a;无法同步&#xff0c;网上看了很多博客推荐的方法&#xff0c;尝试无果&#xff01; 后面发现 Microsoft store 也不能登录&…

【太多网工对NAT还存在这4种误解!你是其中一个吗?】

NAT是解决公网地址不够用大家最熟悉的网络技术之一&#xff0c;而NAT最依赖的是NAT translation表项&#xff0c;至于NAT的概念和背景这里不再解释&#xff0c;网络上有很多关于此的类似介绍&#xff0c;自己搜索即可。下面主要是针对大家对NAT的一些误解进行分析。 1 误解一…

PC主流同步软件评测

因为一个要把超过13G的众多零散文件同步到webdav网盘的需求&#xff0c;将市面上一些知名的同步软件试用测试了一番&#xff0c;最终发现只有Syncovery满足需求 先把参与测试的同步软件列一下&#xff1a; GoodSync、FreeFileSync、微软SyncToy、KLS Backup、SecondCopy、Sma…

Ansible 生成硬件报告

生成硬件报告 创建一个名为 /home/greg/ansible/hwreport.yml 的 playbook &#xff0c;它将在所有受管节点上生成含有以下信息的输出文件 /root/hwreport.txt &#xff1a; 清单主机名称 以 MB 表示的总内存大小 BIOS 版本 磁盘设备 vda 的大小 磁盘设备 vdb 的大小 输出文件中…

并发编程基础知识篇--进程和线程的区别

进程和线程 进程 在一个操作系统中&#xff0c;每个独立执行的程序都可称之为一个进程&#xff0c;也就是“正在运行的程序”。目前大部分计算机上安装的都是多任务操作系统&#xff0c;即能够同时执行多个应用程序&#xff0c;最常见的有Windows、Linux、Unix等。比如在Wind…

Compose - 容器组合项

一、弹窗 Dialog var showDialog by remember { mutableStateOf(false) } Column {Button(onClick { showDialog !showDialog }) {Text(text "点击弹窗")}if (showDialog) {Dialog(onDismissRequest { showDialog false }, //消失回调properties DialogPropert…

机器学习策略——优化深度学习系统

正交化&#xff08;Orthogonalization&#xff09; 老式电视机&#xff0c;有很多旋钮可以用来调整图像的各种性质&#xff0c;对于这些旧式电视&#xff0c;可能有一个旋钮用来调图像垂直方向的高度&#xff0c;另外有一个旋钮用来调图像宽度&#xff0c;也许还有一个旋钮用来…