Toggle navigation
首页
问答
IT问答
生活问答
电脑知识
百科
测评
Linux cp指令,怎么跳过相同的文件
发布于2021-12-14 17:37:13
4
个回答
网友回答
2021-12-14
1、使用cp命令的-n参数即可跳过相同的文件 。
2、cp命令使用详解:
1)、用法:cp [选项]... [-T] 源文件 目标文件
或:cp [选项]... 源文件... 目录
或:cp [选项]... -t 目录 源文件...
将源文件复制至目标文件,或将多个源文件复制至目标目录。
2)、长选项必须使用的参数对于短选项时也是必需使用的。
-a, --archive 等于-dR --preserve=all
--backup[=CONTROL 为每个已存在的目标文件创建备份
-b 类似--backup 但不接受参数
--copy-contents 在递归处理是复制特殊文件内容
-d 等于--no-dereference --preserve=links
-f, --force 如果目标文件无法打开则将其移除并重试(当 -n 选项
存在时则不需再选此项)
-i, --interactive 覆盖前询问(使前面的 -n 选项失效)
-H 跟随源文件中的命令行符号链接
-l, --link 链接文件而不复制
-L, --dereference 总是跟随符号链接
-n, --no-clobber 不要覆盖已存在的文件(使前面的 -i 选项失效)
-P, --no-dereference 不跟随源文件中的符号链接
-p 等于--preserve=模式,所有权,时间戳
--preserve[=属性列表 保持指定的属性(默认:模式,所有权,时间戳),如果
可能保持附加属性:环境、链接、xattr 等
-c same as --preserve=context
--sno-preserve=属性列表 不保留指定的文件属性
--parents 复制前在目标目录创建来源文件路径中的所有目录
-R, -r, --recursive 递归复制目录及其子目录内的所有内容
--reflink[=WHEN] 控制克隆/CoW 副本。请查看下面的内如。
--remove-destination 尝试打开目标文件前先删除已存在的目的地
文件 (相对于 --force 选项)
--sparse=WHEN 控制创建稀疏文件的方式
--strip-trailing-slashes 删除参数中所有源文件/目录末端的斜杠
-s, --symbolic-link 只创建符号链接而不复制文件
-S, --suffix=后缀 自行指定备份文件的后缀
-t, --target-directory=目录 将所有参数指定的源文件/目录
复制至目标目录
-T, --no-target-directory 将目标目录视作普通文件
-u, --update copy only when the SOURCE file is newer
than the destination file or when the
destination file is missing
-v, --verbose explain what is being done
-x, --one-file-system stay on this file system
-Z, --context=CONTEXT set security context of copy to CONTEXT
--help 显示此帮助信息并退出
--version 显示版本信息并退出
3)、默认情况下,源文件的稀疏性仅仅通过简单的方法判断,对应的目标文件目标文件也
被为稀疏。这是因为默认情况下使用了--sparse=auto 参数。如果明确使用
--sparse=always 参数则不论源文件是否包含足够长的0 序列也将目标文件创文
建为稀疏件。
使用--sparse=never 参数禁止创建稀疏文件。
4)、当指定了--reflink[=always] 参数时执行轻量化的复制,即只在数据块被修改的
情况下才复制。如果复制失败或者同时指定了--reflink=auto,则返回标准复制模式。
5)、备份文件的后缀为~,除非以--suffix 选项或是SIMPLE_BACKUP_SUFFIX
环境变量指定。版本控制的方式可通过--backup 选项或VERSION_CONTROL 环境
变量来选择。以下是可用的变量值:
none, off 不进行备份(即使使用了--backup 选项)
numbered, t 备份文件加上数字进行排序
existing, nil 若有数字的备份文件已经存在则使用数字,否则使用普通方式备份
simple, never 永远使用普通方式备份
6)、有一个特别情况:如果同时指定--force 和--backup 选项,而源文件和目标文件
是同一个已存在的一般文件的话,cp 会将源文件备份。
网友回答
2021-12-14
cp -a /home/test/ /root/tmp/
上面的命令是把/home/test/ 这个目录及以下的所有文件都拷贝到/root/tem/下,效果应该是:/root/tmp/test/**** 使用-a参数,可以把隐藏文件也一并复制过去的,这个我试过了,
另外,如果是cp -a /home/test/* /root/tmp/ 是想把/home/test这个目录下的所有文件复制过去,而不包含目录本身,效果是:/root/tmp/***** 这样的话的确是不能把隐藏文件复制过去,但可以将*换成. 这样写:cp -a /home/test/. /root/tmp 这样就可以把所有的文件都复制过去了
网友回答
2021-12-14
cp -ar 文件名 目标文件名字
网友回答
2021-12-14
要求 c:\source.txt文件必须存在,可以自己建立一个这样的文本文件,并输入一些数据,以便测试。
复制文件:源文件c:\source.txt 复制到c:\dex.txt
#includestdio.h
void main()
{
FILE *fp1,*fp2;
char str1;
fp2=fopen(c:\\des.txt,w);
if((fp1=fopen(C:\\source.txt,r))==NULL)
{
printf(file cannot be opened\n);
return;
}
while((str1=fgetc(fp1))!=EOF)
fputc(str1,fp2);
fclose(fp1);
fclose(fp2);
}
希望能够帮到你。
移动文件:源文件c:\source.txt 移动到c:\dex.txt
#includestdio.h
void main()
{
FILE *fp1,*fp2;
char str1;
fp2=fopen(c:\\des.txt,w);
if((fp1=fopen(C:\\source.txt,r))==NULL)
{
printf(file cannot be opened\n);
return;
}
while((str1=fgetc(fp1))!=EOF)
fputc(str1,fp2);
fclose(fp1);
fclose(fp2);
remove(c:\\source.txt);
}
IT问答最新文章
1
商务领航路由器设置能不能再接路由器?
2
大家听说过典籍电脑吗?是什么时候出的牌子啊?公司的规模如何,售后怎么样啊?
3
典籍笔记本电脑是山寨吗
4
典籍笔记本电脑
5
典籍笔记本电脑开不了机了,貌似是系统坏了,怎么重装……
6
无线路由器能连接上有信号,但是上不了网是为什么。
7
苹果ipad密码忘记了怎么恢復出厂设置
8
电脑怎么样通过另一台电脑上网?
9
价值3元 方正R410SU-T160Z的CPU可以更换吗?有什么参数需要注意的?有没有什么更换的推荐?
10
能买到电池吗
相关阅读
1
Linux cp指令,怎么跳过相同的文件
2
苹果手机怎样设置一边玩游戏一边听歌
3
使用脚本清理win10垃圾教程
回到
顶部