肥猫学习日记-------------实现Linux cp命令
2019-08-08 20:33
211 查看
版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_44965638/article/details/98884682
在Linux中,cp命令为拷贝文件内容至另一个
下面为利用main参数实现的cp命令
#include <stdio.h> #include <unistd.h> #include <sys/stat.h> #include <sys/types.h> #include <fcntl.h> int main(int argc,char* argv[]) { // 检查参数是否正确 if(3 != argc) { printf("User:cp src dest\n"); return 0; } // 打开源文件 int src_fd = open(argv[1],O_RDONLY); if(0 > src_fd) { perror("open"); return -1; } // 检查目标文件是否存在 int dest_fd = open(argv[2],O_WRONLY|O_CREAT|O_EXCL,0644); if(0 > dest_fd) { printf("目标文件已经存在,是否覆盖Y/N?"); char cmd = getchar(); if('y' == cmd || 'Y' == cmd) { dest_fd = open(argv[2],O_WRONLY|O_TRUNC); if(0 > dest_fd) { perror("open"); return -1; } } else { return 0; } } int buf[1024] = {} , ret = 0; while(ret = read(src_fd,buf,sizeof(buf))) { write(dest_fd,buf,ret); } close(src_fd); close(dest_fd); }
相关文章推荐
- 肥猫学习日记---------------Linux下实现rm命令
- Linux学习:cp命令
- 210学习日记(5)_简单命令的实现.doc
- Linux学习日记 —— 4.1.4 文件处理命令之链接命令
- 实现linux cp命令( 系统调用版 )
- linux命令学习笔记(8):cp 命令
- Linux系统利用cp命令实现强制覆盖功能的方法
- linux下C语言实现cp命令复制文件与文件夹
- 每天学习一个linux命令(8):cp 命令
- Linux学习日记--基础命令(6)--grep及正则表达式
- linux学习一天一个命令(8)[cp命令]
- linux命令学习之 cp(命令学习之四)
- Linux学习日记 —— 4.1.3 文件处理命令之文件处理命令
- Linux学习日记 —— 11.2.3 Shell编程-字符截取命令-awk命令
- Linux基础学习笔记之cp命令
- Linux cp命令学习
- 菜鸟的Linux学习笔记之命令cp
- Linux 实现cp 命令
- Linux基础命令小结(上)-Linux学习日记
- 实现Linux下带进度显示的cp命令 - xcp