linuxcp命令详解

linuxcp命令详解,第1张

cp命令是linux下的一个文件管理命令,通常是用于复制文件或目录,cp命令主要有两个功能,具体介绍如下:

1、能够同时复制多个文件到一个指定的目录中;

2、能够将多个文件复制到一个具体的文件名或一个已经存在的目录下。

参考例子:

复制目录,具体命令为:

[root@linuxcool~]#cp-Rdir1dir2/

cp命令的具体语法格式为cp[参数][文件]。

参数:

-f若目标文件已存在,就会直接覆盖原文件 

-i若目标文件已存在,就会询问是否覆盖 

-p保留源文件或目录的所有属性 

-r递归复制文件和目录 

-d当复制符号连接时,将目标文件或目录也建立为符号连接,并指向与源文件或目录连接的原始文件或目录 

-l对源文件建立硬连接,而非复制文件 

-s对源文件建立符号连接,而非复制文件 

-b覆盖已存在的文件目标前将目标文件备份 

-v详细显示cp命令执行的 *** 作过程 

以上就是小编的分享了,希望能够帮助到大家。

本文章基于ThinkpadE15品牌、centos7系统撰写的。

功能说明:复制文件或目录

用法:

cp [OPTION]... [-T] SOURCE DEST

cp [OPTION]... SOURCE... DIRECTORY

cp [OPTION]... -t DIRECTORY SOURCE...

补充说明:cp命令用在复制文件或目录,如同时指定两个以上的文件或目录,且最后的目标是一个已经存在的目录,则它会把前面指定的所有文件或目录复制到该目录中。若同时指定多个文件或目录,而最后的目标并非是一个已存在的目录,则会出现错误信息。

常用参数:

 -b或--backup  删除,覆盖目标文件之前的备份,备份文件会在字尾加上一个备份字符串。

 -f或--force  强行复制文件或目录,不论目标文件或目录是否已存在。

 -i或--interactive  覆盖既有文件之前先询问用户。

 -l或--link  对源文件建立硬连接,而非复制文件。

 -r 递归处理,将指定目录下的文件与子目录一并处理。

 -s或--symbolic-link  对源文件建立符号连接,而非复制文件。

 -S备份字尾字符串>或--suffix=备份字尾字符串> 用"-b"参数备份目标文件后,备份文件的字尾会被加上一个备份字符串,预设的备份字尾字符串是符号"~"。

 -v或--verbose  显示指令执行过程。

 -t 指定目标文件夹,目标文件夹需存在。

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, --verboseexplain what is being done

-x, --one-file-systemstay on this file system

-Z, --context=CONTEXTset 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 会将源文件备份。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://www.54852.com/yw/6133969.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-03-16
下一篇2023-03-16

发表评论

登录后才能评论

评论列表(0条)

    保存