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

这篇具有很好参考价值的文章主要介绍了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               2
			cp            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指令,linux,ubuntu,学习,linux

 文章来源地址https://www.toymoban.com/news/detail-677610.html

到了这里,关于ubuntu学习(六)----文件编程实现cp指令的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • ubuntu学习(四)----文件写入操作编程

    ssize_t write(int fd,const void*buf,size_t count); 参数说明:   fd:是文件描述符(write所对应的是写,即就是1)   buf:通常是一个字符串,需要写入的字符串   count:是每次写入的字节数 返回值:  成功:返回写入的字节数  失败:返回-1并设置errno   ps: 写常规文件时,write的返回值

    2024年02月11日
    浏览(41)
  • Linux基础命令-cp拷贝文件

    Linux文件管理命令(3)-mv改动文件_Linux学习中的博客-CSDN博客 Linux管理文件命令(2)rm命令-删除文件或者目录_Linux学习中的博客-CSDN博客 文章目录 前言 一、cp命令介绍 二、语法及常用参数 2.1 先用help查看命令语法 2.2 常用参数  三、参考实例 3.1 复制源文件到其他目录 3.2 复

    2024年02月15日
    浏览(54)
  • Linux cp命令:复制文件和目录

    cp 命令,主要用来复制文件和目录,同时借助某些选项,还可以实现复制整个目录,以及比对两文件的新旧而予以升级等功能。 cp 命令的基本格式如下: 选项: -a:相当于 -d、-p、-r 选项的集合,这几个选项我们一一介绍; -d:如果源文件为软链接(对硬链接无效),则复制

    2024年02月06日
    浏览(64)
  • Linux使用cp命令强制覆盖文件

    1. 方式一,原生命令 2. 方式二,cp命令

    2024年02月12日
    浏览(44)
  • 【CP2K学习】-在Ubuntu上安装CP2K的全过程(包括gcc,gfortran,MKL等配置)

    CP2K 是第一性原理计算程序中发展迅速的程序之一,因其开源性、速度性等优点,是广大计算化学研究者的选择。 本文档用于记录安装CP2K的全过程,主要参考来源为卢天老师的博文[CP2K第一性原理程序在CentOS中的简易安装方法],本文在此博文的指导下,将某些安装过程细化。

    2024年02月11日
    浏览(49)
  • 【Linux学习】Linux必备命令(一)--之cp命令详解

    【Linux学习】Linux必备命令(一)–之cp命令详解 cp 命令主要用于拷贝文件,用法,cp old.txt /tmp/new.txt ,常用来备份,如果拷贝目录需要加-r 参数,常用参数详解如下: 复制文件 复制多个文件 把多个文件一次性复制到目标文件夹下,每个文件用空格分隔; 或:使用通配符* 复制目

    2024年02月16日
    浏览(142)
  • linux下一次复制cp多个文件(含scp命令)

    linux cp 参数说明 一.常用复制/备份命令 高级备份语句 :  linux下使用cp命令拷贝多个文件有几种方法,一是使用通配符,二是使用管道 一.通配符的使用 通配符是一种特殊语句,主要有星号(*)和问号(?),用来模糊搜索文件。主要的通配符有: *         匹配任意长度的字符串

    2024年02月16日
    浏览(55)
  • Linux:使用for+find查找文件并cp到其他目录,文件名带有空格

    在终端窗口中,用 shell 命令,批量拷贝文件到指定目录。 我是在 Windows 系统上,通过 git bash 终端来执行 shell 命令的。 结果: 于是把 find 命令单独拿出来执行: 结果: 发现文件路径和文件名存在空格。 查找解决办法 复制时,如何处理带空格的文件路径或文件名。 查找结

    2024年01月22日
    浏览(110)
  • Linux移动文件夹(文件)到其他文件夹 / 复制到其他文件夹 【cp / mv命令】

    1)将一个文件夹复制到另一个文件夹下(一般复制一个项目的时候,直接使用这个命令) cp -r /home/packageA /home/packageB 运行命令之后packageB文件夹下就有packageA文件夹了。  2)将一个文件夹下的所有内容复制到另一个文件夹下(这种一般是复制很多小文件的时候使用) cp -r /

    2024年02月06日
    浏览(75)
  • 【Shell 命令集合 文件管理】Linux 拷贝命令 cp命令使用指南

    Shell 命令专栏:Linux Shell 命令全解析 cp命令是Linux中常用的文件复制命令,用于将一个或多个文件或目录复制到指定的目标位置。其基本语法如下: 其中, 源文件 表示要复制的文件或目录的路径, 目标文件 表示复制后的文件或目录的路径。 常用选项包括: -r :递归复制整

    2024年02月10日
    浏览(119)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包