(1)scp -p /etc/krb5.conf laowang@$HOST:/tmp
ssh -t laowang@$HOST "sudo cp -p /tmp/krb5.conf /etc"
这里使用了两个步骤去实现一个复制文件到指定文件目录下的功能。但是不能将其合并成一个shell语句。不然就涉及到permission denied的问题!因为你无权直接在主机A的laowang用户下去访问主机B的root用户下的文件。
(2)从本地复制文件到远程
这个命令会覆盖掉目标主机中已经存在的文件,如果不存在,则是复制。
注意这里的格式是:scp -r [userName]@[hostName]:[fileName]
scp [-r] krb5.conf laowang@$HOST:/tmp
(3)从远程复制文件到本地:scp [-r] laowang@$HOST:/tmp/test.txt /root
(4)参数详解:
-p
参数:Preserves modification times, access times, and modes from the original file.
【复制的过程中,保留修改时间、访问时间、以及源文件的格式】
(5)scp jps.sh root@server4命令的测试
scp jps.sh root@server4这种情况会将文件copy到哪里?
[root@localhost ~]# scp jps.sh root@server4
[root@localhost ~]# ll
total 140304
rw-------. 1 root root 1260 Jun 16 01:12 anaconda-ks.cfg
-rwxr-xr-x. 1 root root 93 Jul 13 17:16 jps.sh
-rwxr-xr-x. 1 root root 93 Jul 20 14:45 root@server4
这样可以看到,直接将文件复制到当前目录,并且修改了文件名。相当于cp命令。