linux实现cp命令与linux下打开文件并写入源码

简介: linux实现cp命令与linux下打开文件并写入源码


linux下打开文件并写入源码

#include<stdio.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <unistd.h>
#include <string.h>
int main ()
{
        int fd;
        char *buf = "liuuzhihaoyaojiayou";
        fd = open("./file1",O_RDWR);
//      printf("fd= %d",fd);    
        if(fd == -1){
                printf("open file1 failed \n");
                fd = open ("./file1",O_RDWR|O_CREAT,0600);
                if(fd>0){
                        printf("create file1 success!\n");
                }
        }
        write(fd,buf,strlen(buf));
        close(fd);
        return 0;
}
~                                                                                                       
~                                                                                                       
~            

linux实现cp命令

#include<stdio.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <unistd.h>
#include <string.h>
#include<stdlib.h>
int main (int argc,char **argv)//复制的第一个文件给第二个文件例./mycp 1 2
{
        int fdsrc;//原文件的文件描述符
        int fddes;//复制的新文件的文件描述符
        char *readbuf=NULL;//定义一个指针空间并使其为空
        if(argc !=3){//这是在这里做了一个判断,如果第一文件不存在还复制个毛线,直接退出
                printf("pararm ereor\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;
}
~                                                                                                       
~    
相关文章
|
6天前
|
运维 安全 Linux
Linux中传输文件文件夹的10个scp命令
【10月更文挑战第18天】本文详细介绍了10种利用scp命令在Linux系统中进行文件传输的方法,涵盖基础文件传输、使用密钥认证、复制整个目录、从远程主机复制文件、同时传输多个文件和目录、保持文件权限、跨多台远程主机传输、指定端口及显示传输进度等场景,旨在帮助用户在不同情况下高效安全地完成文件传输任务。
53 5
|
6天前
|
Linux
Linux系统之expr命令的基本使用
【10月更文挑战第18天】Linux系统之expr命令的基本使用
30 4
|
3天前
|
运维 监控 网络协议
|
4天前
|
监控 Linux Shell
|
1天前
|
Linux 数据库
linux 全局搜索文件
在 Linux 系统中,全局搜索文件常用 `find`、`locate` 和 `grep` 命令。`find` 根据文件名、类型、大小、时间戳等条件搜索;`locate` 通过预构建的数据库快速查找文件;`grep` 在文件中搜索特定文本,常与 `find` 结合使用。选择合适的命令取决于具体需求。
|
4天前
|
Linux 开发工具 Perl
Linux命令替换目录下所有文件里有"\n"的字符为""如何操作?
【10月更文挑战第20天】Linux命令替换目录下所有文件里有"\n"的字符为""如何操作?
17 4
|
3天前
|
运维 安全 Linux
Linux文件清空的五种方法总结分享
每种方法各有优势,选择最合适的一种或几种,可以极大提高您的工作效率。更多有关Linux系统管理的技巧与资源,欢迎访问,持续提升您的运维技能。
29 1
|
18天前
|
Linux 数据安全/隐私保护 Windows
命令方式:window向linux传文件
【10月更文挑战第6天】本文介绍了如何在Linux系统中通过命令`ip a`获取IP地址,并在Windows系统下使用CMD命令行工具和SCP命令实现文件传输。示例展示了如何将D盘中的`mm.jar`文件上传至IP地址为192.168.163.122的Linux系统的/up/目录下,最后在Linux系统中确认文件传输结果。
196 65
|
7天前
|
Unix Linux
Linux | Rsync 命令:16 个实际示例(下)
Linux | Rsync 命令:16 个实际示例(下)
21 3
Linux | Rsync 命令:16 个实际示例(下)
|
10天前
|
安全 Linux
Linux系统之lsof命令的基本使用
【10月更文挑战第14天】Linux系统之lsof命令的基本使用
55 2
Linux系统之lsof命令的基本使用