#include <stdio.h>
#include <unistd.h>
#include <fcntl.h>
#include <errno.h>
#include <sys/stat.h>
int main (int argc, char* argv[]) {
if (argc < 3) {
fprintf (stderr, "用法:%s <源文件> <目的文件>\n", argv[0]);
return -1;
}
int src = open (argv[1], O_RDONLY);
if (src == -1) {
perror ("open");
return -1;
}
struct stat st;
if (fstat (src, &st) == -1) {
perror ("fstat");
return -1;
}
int dst = open (argv[2], O_WRONLY | O_CREAT | O_EXCL, st.st_mode);
if (dst == -1) {
if (errno != EEXIST) {
perror ("open");
return -1;
}
printf ("文件%s已存在,是否覆盖?(y/n) ", argv[2]);
int ch = getchar ();
if (ch != 'y' && ch != 'Y')
return 0;
if ((dst = open (argv[2], O_WRONLY | O_CREAT | O_TRUNC,
st.st_mode)) == -1) {
perror ("open");
return -1;
}
}
unsigned char buf[1024];
ssize_t bytes;
while ((bytes = read (src, buf, sizeof (buf))) > 0)
if (write (dst, buf, bytes) == -1) {
perror ("write");
return -1;
}
if (bytes == -1) {
perror ("read");
return -1;
}
close (dst);
close (src);
return 0;
}
分享到:
相关推荐
内容概要:记录了Linux部分常用指令、Linux重点知识点、部分大厂面试题 适用人群:Linux入门萌新、找不到好的资料的求职者、需要一份靠谱笔记的同学 使用场景:仅限个人使用 参考资料:b站up主韩顺平(个人主页:...
Linux命令大全完整版 目 录 目 录 I 1. linux系统管理命令 1 adduser 1 chfn(change finger information) 1 chsh(change shell) 1 date 2 exit 3 finger 4 free 5 fwhois 5 gitps(gnu interactive tools ...
构建一个Java应用的Docker镜像 假设Java应用名为 docker-demo 1、在项目代码打成jar包:demo-docker.jar # 这里我用mvn来打包 # -Dmaven.test.skip=true --- 跳过检查 ...# COPY --- 类似于linux copy指令 # EXPOSE ---
cp 指令 在unix里运行 ./cp1 file1 file2 copy 一个文件file1 然后写入到 创建文件file2
Linux 的深度玩家, 基本上都是用 Terminal 和指令 (command) 来超控电脑的。 计算机指令大部分都是和文件打交道, 比如把文件 A 移动到 文件夹B, 新建一个文件 C, 改写文件 A 的内容等. 你想黑客黑你电脑, 多半也就是...
linux中的文件(普通文件或设备文件等)都必须有挂在点,只有挂载到一个目录下才能访问,swap分区是不需要挂载点的,在分区的时候,将文件系统类型选为swap,挂载点自动会变为灰色。一般linux中的swap大小为内存的两倍。...
一.Linux下的网络服务.......................................................................................................24 二.几种重要的配置文件......................................................
了解了一些比较牛的shell命令,将会结你的shell编程产生具大影响,例如column, sshfs, ssh-copy-id,如何直接开辟一段内存空间做为硬盘,用wget直接递归下载网站, !! 代表什么, - 代表什么。都有解答。 如果喜欢就...
file1 复制成 file1copy2.-i (interactive)3.复制去文件夹4.-R (recursive)5.*复制多个文件4.mv 剪切1.移动去另一个文件夹2.重命名文件 1.前言 这次, 我们想要了解的是在 linux 中, 怎么样创建新文件, 复制, 粘贴, ...
嵌入式优质项目,资源经过严格测试可直接运行成功且功能正常的情况才上传,可轻松copy复刻,拿到资料包后可轻松复现出一样的项目。 本人单片机开发经验充足,深耕嵌入式领域,有任何使用问题欢迎随时与我联系,我会...
嵌入式优质项目,资源经过严格测试可直接运行成功且功能正常的情况才上传,可轻松copy复刻,拿到资料包后可轻松复现出一样的项目。 本人单片机开发经验充足,深耕嵌入式领域,有任何使用问题欢迎随时与我联系,我会...
* 是啊,是啊,下面这段程序很差劲,但我不知道如何正确地实现,而且好象它还能运行。如果有 * 关于实时时钟更多的资料,那我很感兴趣。这些都是试探出来的,以及看了一些bios 程序,呵! */ #define CMOS_...
Linux uux命令用于在远端的UUCP主机上执行指令。 uux可在远端的UUCP主机上执行指令或是执行本机上的指令,但在执行时会使用远端电脑的文件。 语法uux [-bcCIjlnrvz][-a][-g][-s][-x][--help][指令] 参数说明: -或-p...
专为树莓派(Raspberry Pi)设计的多媒体播放器且支持(Windows、Linux、Android)系统,支持视频、音频、流媒体、图片、摄像头、动画、文本、滚动字幕、日期时间、二维码、等,支持指令控制播放、覆盖、停止、移动、等...
技巧 75:用Magic SysRq 键实现Linux 安全重启 第十章:Apachectl 和 Httpd 实例 技巧76:传递不同的httpd 技巧77:使用一个临时DocumentRoot 而不修改httpd 技巧78:暂时提高Log 的级别 技巧79:显示Apache 内的...
copy ipadmin$svv.exe c: 或:copyipadmin$*.* 复制对方admini$共享下的srv.exe文件(所有文件)至本地C: xcopy 要复制的文件或目录树 目标地址目录名 复制文件和目录树,用参数/Y将不提示覆盖相同文件 用参数/e...
系统处理器启动时,首先执行一个预定地址处的指令,通常这个位置是只读内存,存放系统初始化或引导程序,其功能是执行CPU初始化并配置其他硬件,然后copy操作系统到RAM中。 在嵌入式Linux系统中,这些工作由...
这个控制台shell,命令行支持的是类式linux的指令,你可能不太了解,不过你不用担心呵 我们不需要记太多的命令指令,很简单的几句这可以了 就当是dos命令,只不过命令名称变了而已 下面是几个对应 ls 相当于dos下的...
最先熟悉一下我们能够用到的linux指令: ls 列出目标目录下的文件 cd 进入目录 mount&umount 挂载&卸载 tftp tftp协议下载等 mkdir 新建文件夹 touch 新建文档 vi 查看文档 cp ...