scp参数 | |
-1 | 强制scp命令使用协议ssh1 |
-2 | 强制scp命令使用协议ssh2 |
-4 | 强制scp命令只使用IPv4寻址 |
-6 | 强制scp命令只使用IPv6寻址 |
-B | 使用批处理模式(传输过程中不询问传输口令或短语) |
-C | 允许压缩。(将-C标志传递给ssh,从而打开压缩功能) |
-p | 保留原文件的修改时间,访问时间和访问权限 |
-q | 不显示传输进度条 |
-r | 递归复制整个目录 |
-v | 详细方式显示输出。scp和ssh(1)会显示出整个过程的调试信息。这些信息用于调试连接,验证和配置问题 |
-c ciphe | 以cipher将数据传输进行加密,这个选项将直接传递给ssh |
-F ssh_config | 指定一个替代的ssh配置文件,此参数直接传递给ssh |
-i identity_file | 从指定文件中读取传输时使用的密钥文件,此参数直接传递给ssh |
-l limit | 限定用户所能使用的带宽,以Kbit/s为单位 |
-o ssh_option | 如果习惯于使用ssh_config(5)中的参数传递方式 |
-P port | 注意是大写的P, port是指定数据传输用到的端口号 |
-S program | 指定加密传输时所使用的程序。此程序必须能够理解ssh(1)的选项 |
把/usr/local/httpd远程复制到192.168.2.2服务器上的/usr/local命令下 递归复制整个目录
[root@C7--01 ~]# scp -r /usr/local/httpd/ root@192.168.2.2:/usr/local/
The authenticity of host '192.168.2.2 (192.168.2.2)' can't be established.
ECDSA key fingerprint is SHA256:iKbLEhg8UfqGICLymBBNoZqynedjXefz3LSjpQlcREg.
ECDSA key fingerprint is MD5:c9:5e:dc:c2:eb:b9:19:88:2e:6d:56:e9:ca:cf:33:4d.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '192.168.2.2' (ECDSA) to the list of known hosts.
root@192.168.2.2's password:
mod_authn_file.so 100% 13KB 2.5MB/s 00:00
mod_authn_dbm.so 100% 13KB 5.6MB/s 00:00
mod_authn_anon.so 100% 13KB 2.0MB/s 00:00
mod_authn_dbd.so 100% 18KB 9.1MB/s 00:00
cp参数 | |
-a | 相当于 -pdr 的意思 |
-d | 若来源文件为连结文件的属性(link file),则复制连结文件属性而非档案本身 |
-f | 为强制 (force) 的意思,若有重复或其它疑问时,不会询问使用者,而强制复制 |
-i | 若目的檔(destination)已经存在时,在覆盖时会先询问是否真的动作 |
-l | 进行硬式连结 (hard link) 的连结档建立,而非复制档案本身 |
-p | 连同档案的属性一起复制过去,而非使用预设属性 |
-r | 递归持续复制,用于目录的复制行为 |
-s | 复制成为符号连结文件 (symbolic link),亦即『快捷方式』档案 |
格式 :cp -rf 源文件 要复制后的路径
常用格式:\cp -r 源文件 要复制后的路径
为什么使用\cp
默认cp命令是有别名的,也就是说在执行cp命令的时候,实际上执行的是别名的命令
通过alias命令可以查看当前系统的别名设置情况
[root@C7-15 ~]# alias
alias cp='cp -i'
alias egrep='egrep --color=auto'
alias fgrep='fgrep --color=auto'
alias grep='grep --color=auto'
alias l.='ls -d .* --color=auto'
alias ll='ls -l --color=auto'
alias ls='ls --color=auto'
alias mv='mv -i'
alias rm='rm -i'
alias which='alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde'
可以看到cp命令已经设置了别名。这样即使使用 cp -f 也不会生效