Linux系统中用于复制的cp和scp命令使用解析

  cp命令

  用法:cp [选项]... [-T] 源文件 目标文件

  或:cp [选项]... 源文件... 目录

  或:cp [选项]... -t 目录 源文件...

  将源文件复制至目标文件,或将多个源文件复制至目标目录。

  长选项必须使用的参数对于短选项时也是必需使用的。

  -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 显示版本信息并退出

  默认情况下,源文件的稀疏性仅仅通过简单的方法判断,对应的目标文件目标文件也

  被为稀疏。这是因为默认情况下使用了--sparse=auto 参数。如果明确使用

  --sparse=always 参数则不论源文件是否包含足够长的0 序列也将目标文件创文

  建为稀疏件。

  使用--sparse=never 参数禁止创建稀疏文件。

  当指定了--reflink[=always] 参数时执行轻量化的复制,即只在数据块被修改的

  情况下才复制。如果复制失败或者同时指定了--reflink=auto,则返回标准复制模式。

  备份文件的后缀为"~",除非以--suffix 选项或是SIMPLE_BACKUP_SUFFIX

  环境变量指定。版本控制的方式可通过--backup 选项或VERSION_CONTROL 环境

  变量来选择。以下是可用的变量值:

  none, off 不进行备份(即使使用了--backup 选项)

  numbered, t 备份文件加上数字进行排序

  existing, nil 若有数字的备份文件已经存在则使用数字,否则使用普通方式备份

  simple, never 永远使用普通方式备份

  有一个特别情况:如果同时指定--force 和--backup 选项,而源文件和目标文件

  是同一个已存在的一般文件的话,cp 会将源文件备份。

  例:

  代码如下:

  [root@localhost www]# cp -p test.rb /home/test #将test.rb copy到test目录,并且保留原文件的属性

< p>[root@localhost www]# cp -r Dir/ /home/test #将Dir目录copy到test目录下

< p>[root@localhost www]# cp -fr Dir/* /home/test #将Dir下面的所有文件强制copy到test目录下

< p>[root@localhost www]# cp test.rb{,.bak} #备份test.rb,并在尾部加上.bak后缀

  scp命令

  SCP 命令语法

  scp [-1245BCpqrv] [-c cipher] [F ssh_config] [-I identity_file] [-l limit] [-o ssh_option] [-P port] [-S program] [[user@]host1:] file1 […] [[suer@]host2:]file2

  SCP 命令说明

  Scp在主机间复制文件。他使用 ssh(1)作为数据传输。而且用同样认证和安全性。 scp将在认证中请求输入密码所有的文件可能需要服务器和用户的特别描述来指明文件将被复制到/从某台服务器。两个远程登录的服务器间的文件复制是允许的。

  SCP 命令选项

  -1 强制scp 用协议1

  -2 强制scp 用协议2

  -4 强制scp用IPV4的网址

  -6 强制scp用IPV6的网址

  -B 选择批处理模式(防止输入密码)

  -C 允许压缩。 标注-C到ssh(1)来允许压缩

  -c cipher选择cipher来加密数据传输。这个选项直接传递到ssh(1)

  -F ssh_config设定一个可变动的用户配置给ssh.这个选项直接会被传递到ssh(1)

  -i identity_file选择被RSA认证读取私有密码的文件。这个选项可以直接被传递到ssh(1)

  -l limit限制传输带宽,也就是速度 用Kbit/s的速度

  -o ssh_option 可以把ssh_config中的配置格式传到ssh中。这种模式对于说明没有独立的scp文件中断符的scp很有帮助。关于选项的如下。而他们的值请参看ssh_config(5)

  -P port 指定连接远程连接端口。注意这个选项需要写成大写的模式。因为-p已经早保留了次数和模式

  -S program 指定一个加密程序。这个程序必须可读所有ssh(1)的选项。

  -p 指定修改次数,连接次数,还有对于原文件的模式

  -q 把进度参数关掉

  -r 递归的复制整个文件夹

  -S program 指定一个加密程序。这个程序必须可读所有ssh(1)的选项。

  -V 冗余模式。 让 scp 和 ssh(1) 打印他们的排错信息, 这个在排错连接,认证,和配置中非常有用。

  例:

  代码如下:

  [root@localhost www]# scp -r tank@192.16.1.108:/var/www/blog /home/www/blog #以tank用户登录并将服务器文件夹copy到本地

< p>[root@localhost www]# scp /home/www/blog/index.php 192.16.1.108:/var/www/blog #将本地文件copy到服务器,添填写用户,默认当前用户

  使用指定端口从本地拷到远程服务器

  代码如下:

  [root@localhost test]# scp -P 20022 -r ../vhost/ zhuqiang@192.168.0.200:/home/test/

(0)

相关推荐

  • Linux系统中用户的登入登出命令详解

    loginlogin 命令:使用户放弃现在的使用的身份,重新登录系统.也可以在后面加入用户,在直接输入密码,登录系统例: 复制代码 代码如下: [root@localhost test]# login ...

  • Linux系统中配置和获取无线网卡信息的命令用法

    iwpriv 配置连接选项命令 例: 复制代码 代码如下: [root@linux ~]# iwpriv wlan0 set NetworkType=Infra #设置要连接的网络类型[root@li ...

  • 深入解析Linux系统中的SELinux访问控制功能

    SELinux(Security-Enhanced Linux) 是美国国家安全局(NSA)对于强制访问控制的实现,是 Linux历史上最杰出的新安全子系统.NSA是在Linux社区的帮助下开发了一种 ...

  • linux系统中scp命令的使用介绍

    scp命令的用处: scp在网络上不同的主机之间复制文件,它使用ssh安全协议传输数据,具有和ssh一样的验证机制,从而安全的远程拷贝文件。 scp命令基本格式: scp [-1246BCpqrv] ...

  • Linux系统中的文件类型及文件扩展名详解

    Linux文件类型和Linux文件的文件名所代表的意义是两个不同的概念。我们通过一般应用程序而创建的比如file.txt、file.tar.gz ,这些文件虽然要用不同的程序来打开,但放在Linux文 ...

  • Linux系统中在虚拟机上搭建DB2 pureScale的方法

    在Linux操作系统中,可在虚拟机上搭建DB2 pureScale,那么搭建的步骤是怎么样的呢?DB2 pureScale又有什么用呢?下面随小编一起来了解下Linux系统如何在虚拟机上部署DB2 p ...

  • 详解Linux系统中md5sum命令的用法

    这篇文章主要介绍了详解Linux系统中md5sum命令的用法,用来处理MD5验证的相关操作,需要的朋友可以参考下 MD5算法常常被用来验证网络文件传输的完整性,防止文件被人篡改.MD5全称是报文摘要算 ...

  • Linux系统中的进程管理工具SystemD介绍

    SystemD是Linux下的一种init软件,由Lennart Poettering带头开发,并在LGPL 2.1及其后续版本许可证下开源发布.Lennart是redhat员工,但SystemD不是 ...

  • 初窥Linux系统中的进程管理工具SystemD

    SystemD是Linux下的一种init软件,由Lennart Poettering带头开发,并在LGPL 2.1及其后续版本许可证下开源发布.Lennart是redhat员工,但SystemD不是 ...