由于文件经常在linux服务器和本地之间传输,所以有必要了解文件传输的命令。在没有文件传输工具的情况下,一定要了解相关的文件传输命令。先说下这个命令scp(securecopy),它是linux系统下基于ssh登录的安全远程文件拷贝命令。首先看一下scpusage这条命令的帮助:scp[-12346BCpqrv][-ccipher][-Fssh_config][-iidentity_file][-llimit][-ossh_option][-Pport][-Sprogram][[user@]host1:]file1...[[user@]host2:]file2语法scp[可选参数]file_sourcefile_target参数-1:强制scp命令使用ssh1协议-2:强制scp命令使用ssh12协议-4:强制scp命令只使用IPv4寻址-6:强制scp命令只使用IPv6寻址-P:指定数据传输使用的端口号-v:详细模式显示输出-ccipher:以密码模式加密数据传输,这个选项会直接传给ssh-l:限制用户可以使用的带宽,以Kbit/s-F:指定一个替代的ssh配置文件,这个参数直接传给ssh-p:保留修改时间,访问原始文件的时间和访问权限-q:不显示传输进度条-r:递归复制整个目录-C:允许压缩实例将文件从本地复制到远程------------------------------------------------------------一:scploacl_fileremote_username@remote_ip:remote_folderscp/home/space/music/1.mp4root@www.test/com:/home/root/other/music--------------------------------------------------------------------二:scploacl_fileremote_username@remote_ip:remote_filescp/home/space/music/1.mp4root@www.test/com:/home/root/other/music/1.mp3------------------------------------------------三:scploacl_fileremote_ip:remote_folderscp/home/space/music/1.mp4www.test/com:/home/root/other/music-------------------------------------------------------------四:scploacl_fileremote_ip:remote_filescp/home/space/music/1.mp4www.test/com:/home/root/other/music/1.mp3上例中:前两个指定用户名,后面需要输入密码执行命令,最后两个没有指定用户名,执行命令后需要输入用户名和密码。第一个和第三个只指定目录,文件名不变,对应本地文件名。第二个和第四个指定文件名注意:复制文件时,应该该命令不会创建文件夹。如果服务器没有对应的文件夹,则以文件夹名作为文件名。上面第一个例子,如果服务器上没有music文件夹,会以music为文件名对应1.mp4表达式中的remote_ip,可以是ip地址,也可以是对应的映射域名copydirectoryscp-r/home/space/music/www.test.com:/home/root/others/以上命令将本地音乐目录复制到远程others目录。记得加-r参数复制目录。如果服务器上没有指定目录,则会在服务器上自动创建一个目录,从远程拷贝到本地,从远程拷贝到本地,只要按最后两个参数的顺序拷贝自localtotheremotecommandischangedscp-rroot@www.test.com:/home/root/others//home/space/music/scproot@www.test/com:/home/root/other/music/1.mp3/home/space/music/1.mp4特别要确保使用scp命令使用的用户有读取远程服务器上相应文件的权限,否则scp命令不起作用。如果远程服务器防火墙有scp命令的指定端口,我们需要使用-P参数设置命令scp的端口号-P4500/home/space/music/1.mp4root@www.test/com:/home/root/other/music/1.mp3扫描关注,查看更多文章,提高编程能力
