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

相关文章:
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 …...
wireshark过滤器的使用
目录 wiresharkwireshark的基本使用wireshark过滤器的区别 抓包案例 wireshark wireshark的基本使用 抓包采用 wireshark,提取特征时,要对 session 进行过滤,找到关键的stream,这里总结了 wireshark 过滤的基本语法,…...
Zookeeper 脑裂问题
什么是脑裂? 脑裂(split-brain)就是“大脑分裂”,也就是本来一个“大脑”被拆分了两个或多个“大脑”,如果一个人有多个大脑,并且相互独立的话,那么会导致人体“手舞足蹈”,“不听使唤”。 脑裂通常会出现…...
计算机网络高频面试题解(一)
1. OSI七层模型 2. TCP/IP五层模型 3. TCP、UDP区别 4. TCP三次握手 5. TCP四次挥手 6. TCP状态转换图 7.TCP状态中TIME_WAIT作用 8. TCP连接建立为什么不是两次握手 9. TCP第三次握手失败会出现什么 10. TCP长连接和短链接及优缺点...
从0-1的docker镜像服务构建
文章目录 摘要一、环境准备1、docker安装2、docker-compose安装 二、镜像制作2.1、编写Dockerfile文件2.1.1、熟悉常用Dockerfile命令2.1.2、制作php镜像案例 2.2、build镜像 三、docker-compose管理容器3.1、编写docker-compose.ymal配置文件3.2、编写systemctl配置 摘要 由于…...
RabbitMQ、Kafka、RocketMQ:特点和适用场景对比
推荐阅读 AI文本 OCR识别最佳实践 AI Gamma一键生成PPT工具直达链接 玩转cloud Studio 在线编码神器 玩转 GPU AI绘画、AI讲话、翻译,GPU点亮AI想象空间 资源分享 史上最全文档AI绘画stablediffusion资料分享 AI绘画关于SD,MJ,GPT,SDXL百科全书 「java、python面试题」…...
【实战】十一、看板页面及任务组页面开发(四) —— React17+React Hook+TS4 最佳实践,仿 Jira 企业级项目(二十六)
文章目录 一、项目起航:项目初始化与配置二、React 与 Hook 应用:实现项目列表三、TS 应用:JS神助攻 - 强类型四、JWT、用户认证与异步请求五、CSS 其实很简单 - 用 CSS-in-JS 添加样式六、用户体验优化 - 加载中和错误状态处理七、Hook&…...
解决docker无法执行定时任务问题
背景 在docker里面想创建定时任务,但是发现时间到了并没有执行,第一时间想到应该是没有开启crond服务,然后执行systemctl status crond.service报错如下所示: System has not been booted with systemd as init system (PID 1).…...
【FreeRTOS】【STM32】中断详细介绍
文章目录 一、三种优先级的概念辨析1. 先理清楚两个概念:CPU 和 MPU2. Cortex-M3 内核与 STM32F1XX 控制器有什么关系3. 优先级的概念辨析① Cortex-M3 内核和 STM32F1XX 的中断优先级② FreeRTOS 的任务的优先级 二、 Cortex-M3 内核的中断优先级1. 中断编号2. 优先…...
stm32串口通信(PC--stm32;中断接收方式;附proteus电路图;开发方式:cubeMX)
单片机型号STM32F103R6: 最后实现的效果是,开机后PC内要求输入1或0,输入1则打开灯泡,输入0则关闭灯泡,输入其他内容则显示错误,值得注意的是这个模拟的东西只能输入英文 之所以用2个LED灯是因为LED电阻粗略一算就是1…...
计算机毕设 基于机器学习与大数据的糖尿病预测
文章目录 1 课题背景2 数据导入处理3 数据可视化分析4 特征选择4.1 通过相关性进行筛选4.2 多重共线性4.3 RFE(递归特征消除法)4.4 正则化 5 机器学习模型建立与评价5.1 评价方式的选择5.2 模型的建立与评价5.3 模型参数调优5.4 将调参过后的模型重新进行…...
【数据结构】——查找、散列表的相关习题
目录 一、选择填空判断题题型一(顺序、二分查找的概念)题型二(分块查找的概念)题型三(关键字比较次数) 二、应用题题型一(二分查找判定树) 一、选择填空判断题 题型一(顺…...
提升Java开发效率:掌握HashMap的常见方法与基本原理
文章目录 前言一、概述1. 认识HashMap2. HashMap 的作用和重要性3. 简要讲解 HashMap 的基本原理和实现方式 二、了解 HashMap 创建及其的常见操作方法1. HashMap的创建2. 添加元素 put()3. 访问元素 get()4. 删除元素 remove()5. 计算大小 size()6. 迭代 HashMap for-each7.判…...
PostgreSQL系统概述
目录 写在前面 1.简介 1.1何为关系型数据库 1.2何为对象型数据库 2.特性 3.代码结构 3.1数据库集簇 3.2Parser查询分析流程 3.3内部查询树组成部分 3.3.1目标列表 3.4Optimizer查询优化流程 3.4.1查询计划 3.5非计划查询的SQL命令 写在前面 如有错误请指正…...
掌握AI助手的魔法工具:解密Prompt(提示)在AIGC时代的应用「中篇」
文章目录 掌握AI助手的魔法工具:解密Prompt(提示)在AIGC时代的应用「中篇」一、指南原则1: 使用明确和具体的指令原则2: 给模型思考的时间 二、迭代三、总结与提取四、局限与改善五、总结 掌握AI助手的魔法工具:解密Prompt&#x…...
git svn:使用 git 命令来管理 svn 仓库
git-svn 使用教程 参考以下: https://cloud.tencent.com/developer/article/1415892 # 在SVN仓库上使用Git 源 https://blog.csdn.net/jiejie11080/article/details/106917116 # git svn clone速度慢的解决办法 http://blog.chinaunix.net/uid-11639156-id-30774…...
软考高级系统架构设计师系列论文九十一:论分布式数据库的设计与实现
软考高级系统架构设计师系列论文九十一:论分布式数据库的设计与实现 一、分布式数据库相关知识点二、摘要三、正文四、总结一、分布式数据库相关知识点 软考高级系统架构设计师系列之:分布式存储技术...
GeoHash之存储篇
前言: 在上一篇文章GeoHash——滴滴打车如何找出方圆一千米内的乘客主要介绍了GeoHash的应用是如何的,本篇文章我想要带大家探索一下使用什么样的数据结构去存储这些Base32编码的经纬度能够节省内存并且提高查询的效率。 前缀树、跳表介绍: …...
后端项目开发:集成接口文档(swagger-ui)
swagger集成文档具有功能丰富、及时更新、整合简单,内嵌于应用的特点。 由于后台管理和前台接口均需要接口文档,所以在工具包构建BaseSwaggerConfig基类。 1.引入依赖 <dependency><groupId>io.springfox</groupId><artifactId>…...
代码随想录训练营29天|●* 491.递增子序列 * 46.全排列 * 47.全排列 II
class Solution {vector<vector<int>>res;vector<int>vec;void backing(vector<int>& nums,int index){if(vec.size()>2&&is(vec)){res.push_back(vec);}unordered_set<int> uset; // 使用set对本层元素进行去重for(int iindex;i…...
ARM TLB机制与虚拟化加速:TLBIP指令与TLBID域深度解析
1. ARM TLB机制与虚拟化加速 在现代ARM架构中,TLB(Translation Lookaside Buffer)作为内存管理单元(MMU)的核心组件,其性能直接影响虚拟地址转换效率。随着虚拟化技术的普及,ARMv8/v9架构引入了…...
避开4D毫米波雷达性能坑:详解AWR2243天线通道失配原因与校准策略
避开4D毫米波雷达性能坑:详解AWR2243天线通道失配原因与校准策略 在自动驾驶与高级驾驶辅助系统(ADAS)领域,4D毫米波雷达正逐渐成为环境感知的核心传感器。德州仪器(TI)的AWR2243级联方案凭借其192个虚拟通…...
波特律动串口助手:如何在浏览器中实现专业级串口调试的完整教程
波特律动串口助手:如何在浏览器中实现专业级串口调试的完整教程 【免费下载链接】SerialAssistant A serial port assistant that can be used directly in the browser. 项目地址: https://gitcode.com/gh_mirrors/se/SerialAssistant 波特律动串口助手是一…...
在VSCode+GCC+STM32环境中实现非阻塞式串口调试:中断驱动的printf重定向实践
1. 为什么需要非阻塞式串口调试 在嵌入式开发中,串口调试就像是我们和硬件对话的"嘴巴"和"耳朵"。想象一下,当你和朋友聊天时,如果每次说话都要等对方完全听完才能做其他事情,那该有多难受?传统的…...
监听bean在容器中注入情况
直接上代码,原理就是 通过环境监听器/*** 调试监听器* author shadow*/ public class DebugListener {Autowiredprivate ApplicationContext applicationContext;EventListener(ApplicationReadyEvent.class)public void onApplicationReady() {System.out.println(…...
从限速到全速:ctfileGet如何彻底改变城通网盘下载体验
从限速到全速:ctfileGet如何彻底改变城通网盘下载体验 【免费下载链接】ctfileGet 获取城通网盘一次性直连地址 项目地址: https://gitcode.com/gh_mirrors/ct/ctfileGet 清晨的阳光透过窗户洒在设计师小李的电脑屏幕上,他正焦急地等待着一个500M…...
收藏!小白程序员轻松入门大模型:3个月实现转岗高薪offer的秘诀
本文针对传统程序员转行AI大模型的困境,提出三条实用路径:RAG应用工程、Agent应用开发、模型微调与部署。强调工程能力在AI应用中的重要性,建议通过解决实际问题积累经验,而非单纯堆砌技术栈。文章指出,懂业务、善工程…...
构建思想知识图谱:NLP与Elasticsearch在结构化资料库中的应用
1. 项目概述与核心价值最近在整理一些历史资料和思想研究时,我接触到了一个名为“mao-zedong-perspective”的项目。这个项目名直译过来就是“毛泽东视角”,它并非一个传统的软件应用,而更像是一个数字化的思想资料库或研究框架。作为一名长期…...
Airtable MCP服务器:AI与数据协作的自动化新范式
1. 项目概述:当Airtable遇上MCP,数据协作的自动化新范式 如果你和我一样,日常工作中重度依赖Airtable来管理项目、追踪任务、甚至搭建轻量级的业务系统,那你一定也遇到过这样的痛点:数据是活的,但流程是死…...
轻量级包管理器LPM指南:从原理到实践,构建高效软件依赖管理方案
1. 项目概述:一个为开发者而生的轻量级包管理器指南如果你是一名开发者,尤其是经常在Linux或macOS环境下工作的开发者,那么“包管理器”这个词对你来说一定不陌生。从系统级的apt、yum、brew,到语言级的npm、pip、cargo࿰…...
