在不同的Linux主机间复制文件,scp命令的常见用法。
scp命令功能是在不同的Linux主机间复制文件,即带有security的文件copy,基于ssh登录。
基本语法:
# scp [参数] source target
常见参数
-v : 显示进度,可以用来查看连接、认证或是配置错误。
-r : 复制目录
-C : 使能压缩选项
-P : 选择端口
-4 : 强行使用 IPV4 地址
-6 : 强行使用 IPV6 地址
下面是常见的使用方式。
--- 将本地复制到远程
$ scp local_file remote_username@remote_ip:remote_folder
$ scp local_file remote_username@remote_ip:remote_folder/remote_file
$ scp local_file remote_ip:remote_folder
$ scp local_file remote_ip:remote_folder/remote_file
第1个和第2个指定了用户名,命令执行后需要输入远程服务器的密码。
第3个和第4个未指定用户名,命令执行后需要输入远程服务器的用户名及密码。
第1个和第3个仅指定了远程的目录,文件名字不变。
第2个和第4个指定了远程的目录及文件名。
--- 将远程的复制到本地
从远程复制到本地,只要将从本地复制到远程命令的后两个参数调换顺序即可。
由于语法一样,这里就只列出例子:
$ scp dodo@192.168.100.2:/doiido /doiido/hello.sh
$ scp dodo@192.168.100.2:/doiido/hello.sh /doiido/newhello.sh
$ scp 192.168.100.2:/doiido /doiido/hello.sh
$ scp 192.168.100.2:/doiido/hello.sh /doiido/newhello.sh
--- 复制目录
当需要传输目录的时候,仅需要加上参数-r即可以。例如:
# scp -r /doiido/hello/ dodo@192.168.100.2:/doiido/
【注意】
1. 如果远程服务器修改了ssh端口,scp则需要使用修改后的端口,如远程服务器ssh端口为2222,则需加-P参数。例如:
# scp -p 2222 /doiido/hello.sh dodo@192.168.100.2:/doiido
2. 在使用scp之前,需要确认远程连接的用户是否具有读取远程服务器相应文件的权限,同时还需要注意执行scp这条指令的用户是否具有本地相应目录的权限。
scp命令功能是在不同的Linux主机间复制文件,即带有security的文件copy,基于ssh登录。
基本语法:
# scp [参数] source target
常见参数
-v : 显示进度,可以用来查看连接、认证或是配置错误。
-r : 复制目录
-C : 使能压缩选项
-P : 选择端口
-4 : 强行使用 IPV4 地址
-6 : 强行使用 IPV6 地址
下面是常见的使用方式。
--- 将本地复制到远程
$ scp local_file remote_username@remote_ip:remote_folder
$ scp local_file remote_username@remote_ip:remote_folder/remote_file
$ scp local_file remote_ip:remote_folder
$ scp local_file remote_ip:remote_folder/remote_file
第1个和第2个指定了用户名,命令执行后需要输入远程服务器的密码。
第3个和第4个未指定用户名,命令执行后需要输入远程服务器的用户名及密码。
第1个和第3个仅指定了远程的目录,文件名字不变。
第2个和第4个指定了远程的目录及文件名。
--- 将远程的复制到本地
从远程复制到本地,只要将从本地复制到远程命令的后两个参数调换顺序即可。
由于语法一样,这里就只列出例子:
$ scp dodo@192.168.100.2:/doiido /doiido/hello.sh
$ scp dodo@192.168.100.2:/doiido/hello.sh /doiido/newhello.sh
$ scp 192.168.100.2:/doiido /doiido/hello.sh
$ scp 192.168.100.2:/doiido/hello.sh /doiido/newhello.sh
--- 复制目录
当需要传输目录的时候,仅需要加上参数-r即可以。例如:
# scp -r /doiido/hello/ dodo@192.168.100.2:/doiido/
【注意】
1. 如果远程服务器修改了ssh端口,scp则需要使用修改后的端口,如远程服务器ssh端口为2222,则需加-P参数。例如:
# scp -p 2222 /doiido/hello.sh dodo@192.168.100.2:/doiido
2. 在使用scp之前,需要确认远程连接的用户是否具有读取远程服务器相应文件的权限,同时还需要注意执行scp这条指令的用户是否具有本地相应目录的权限。