scp是 secure copy的缩写, scp是 linux 系统下基于ssh登陆进行安全的远程文件拷贝命令。 linux 的scp命令可以在linux 服务器 之间复制文件和目录.
目前成都创新互联已为成百上千家的企业提供了网站建设、域名、虚拟主机、网站托管、企业网站设计、吴中网站维护等服务,公司将坚持客户导向、应用为本的策略,正道将秉承"和谐、参与、激情"的文化,与客户和合作伙伴齐心协力一起成长,共同发展。
scp命令基本格式:
scp [-1246BCpqrv] [-c cipher] [-F ssh_config] [-i identity_file]
[-l limit] [-o ssh_option] [-P port] [-S program]
[[user@]host1:]file1 [...] [[user@]host2:]file2
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 cipher
以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)的选项
scp命令的实际应用
本地复制远程文件:(把远程的文件复制到本地)
scp root@192.168.30.100:/val/test/test.tar.gz /val/test/test.tar.gz
远程复制本地文件:(把本地的文件复制到远程主机上)
scp /val/test.tar.gz root@192.168.30.100:/val/test.tar.gz
本地复制远程目录:(把远程的目录复制到本地)
scp -r root@192.168.30.100:/val/test/ /val/test/
远程复制本地目录:(把本地的目录复制到远程主机上)
scp -r /val/ root@192.168.30.100:/val/
注:复制的是目录的话就要加-r参数
当同时有多个服务器的文件要复制到本地目录:
scp root@192.168.0.1:/var/cp1.tar.gz root@192.168.0.2:/var/cp2.tar.gz /var/tmp/
注意:最后面的一个必需是目录,前面的必须是文件,才能成功批量复制,复制中会提示多次输入密码。
Linux下几种文件传输命令 sz rz sftp scp介绍
1.sftp
Secure Ftp
是一个基于SSH安全协议的文件传输管理工具。由于它是基于SSH的,会在传输过程中对用户的密码、数据等敏感信息进行加密,因此可以有效的防止用户信息
在传输的过程中被窃取,比FTP有更高的安全性。在功能方面与FTP很类似,不仅可以传输文件数据,而且可以进行远程的文件管理(如建立,删除,查看文件
列表等操作)。Sftp与ftp虽然只有一字之差,但基于的传输协议却是不同的。因此不能用sftp client去连接ftp server 也不能用
ftp client 去连接 sftp server。
建立连接:sftp user@host
从本地上传文件:put localpath
下载文件:get remotepath
与远程相对应的本地操作,只需要在命令前加上”l” 即可,方便好记。
例如:lcd lpwd lmkdir
2.scp
SCP :secure copy (remote file copy program) 也是一个基于SSH安全协议的文件传输命令。与sftp不同的是,它只提供主机间的文件传输功能,没有文件管理的功能。
复制local_file 到远程目录remote_folder下
scp local_file remote_user@host:remote_folder
复制local_folder 到远程remote_folder(需要加参数 -r 递归)
scp –r local_folder remote_user@host:remote_folder
以上命令反过来写就是远程复制到本地
3.sz/rz
sz/rz 是基于ZModem传输协议的命令。对传输的数据会进行核查,并且有很好的传输性能。使用起来更是非常方便,但前提是window端需要有能够支持ZModem的telnet或者SSH客户端,例如secureCRT。
首先需要在secureCRT中可以配置相关的本地下载和上传目录,然后用rz、sz命令即可方便的传输文件数据。
下载数据到本地下载目录:sz filename1 filename2 …
上传数据到远程:执行rz –be 命令,客户端会弹出上传窗口,用户自行选择(可多选)要上传的文件即可。
怎样通过命令行给linux传输文件,方法如下
一、从服务器下载文件到本机
1、修改文件所属
由于只能下载文件所属为自己的文件,所以要做修改文件所属的操作。
chown hudelei /opt/logs/tomcat/app/tomcat_stk_nm/stk-time.log
2、下载到本机
scp hi@10.10.30.10:/opt/logs/tomcat/app/tomcat_stk_nm/stk-time.log /Users/hvvi/Desktop
3、输入密码
二、上传文件夹到服务器
1、scp -r /Users/hddvvi/Desktop/load hi@10.10.30.10:/opt/logs/tomcat/app/tomcat_stk_nm/
注意:加上 -r,否则会报错:not a regular file
2、输入密码3、文件移动上上层 mv filename.java 。。/
注:本文使用的是mac本机和linux服务器。
Linux httpd命令是Apache HTTP服务器程序。httpd为Apache HTTP服务器程序。直接执行程序可启动服务器的服务。
1、apahce启动命令:推荐/usr/local/apache2/bin/apachectl start apaceh启动
2、apache停止命令:/usr/local/apache2/bin/apachectlstop 停止
3、apache重新启动命令:/usr/local/apache2/bin/apachectl restart 重启要在重启 Apache 服务器时不中断当前的连接,则应运行:/usr/local/sbin/apachectl graceful
如果apache安装成为linux的服务的话,可以用以下命令操作:service httpd start 启动service httpd restart 重新启动service httpd stop 停止服务
4.httpd是Apache超文本传输协议(HTTP)服务器的主程序。被设计为一个独立运行的后台进程,它会建立一个处理请求的子进程或线程的池。
通常,httpd不应该被直接调用,而应该在类Unix系统中由 apachectl 调用,在Windows NT/2000/XP/2003中作为服务运行和在Windows 95/98/ME中作为控制台程序运行。
扩展资料
linux与windows对比
1、 编程篇
虽然五年已经过去了,但是系统编程的模式基本没有什么改变,由于GPL的存在linux在编程效率上比windows要高不少,这是因为GPL公开程序代码,这样可以减少重复开发,所以linux在编程模式上比windows要略微强点。
但是须知windows还是常用软件的主要载体,所以windows下的软件还是要移植到windows下的,当然有很多软件还是一直就在windows下开发的,所以这点windows并不比linux弱的太多。
值得一提的是windows8种引入的windows store,这样的应用不知道可不可以在linux下开发,貌似目前windows8 app都是在windows8下开发的。
2、运行平台篇
linux系统可以运行在几乎所有的硬件结构上,无论是intel、amd、arm处理器都可以,甚至我国的龙芯上跑的也是linux。而windows在更新到windows8后也实现了支持intel、amd和arm三大处理器架构。
但是相对而言,windows8 RT只能运行在特定的架构上并且不发售零售版,所以可以暂时不考虑。即linux比windows支持的处理器平台多。
linux下处理器性能能否达到windows的标准还很难说,因为电源管理等诸多问题,linux并不一定能发挥硬件的全部效率。这点在显卡上体现的特别明显。
AMD的显卡开源驱动只能实现显卡一半的性能,所以在运行平台上,linux兼容的更多,但是windows更完美,相对而言,只考虑运行平台的话(能用)linux略占优势。
3、 硬件支持篇
linux的硬件支持除了显卡外我感觉还是和windows保持同步的,比如usb3.0,HDMI等但在显卡方面,尤其是双显卡方面linux就和windows差距明显了,linux目前还没有可靠的双显卡交火或者双显卡交互手段,所以就凭这一点linux在硬件支持方面占极大劣势,
因为没有双显卡支持会导致双显卡一直通电,能耗直线上升! 虽然linux的新内核早已解决了这个问题,但是linux下显卡驱动的不足也导致这方面问题没有根本解决。
4、网络篇
个人感觉除了google的chorme os外linux的网络已经发展的登峰造极了,linux对网络的利用率是非常高的,毕竟GPL的基本交流手段就是网络,所以网络功能上linux很给力的,至于ipv6什么的windows和linux早就一样哈皮了。
不过有一点就是flash player上的问题制约了linux网络媒体的应用,因为flash player在linux占用的资源过高,导致性能下降……
5、 设备驱动篇
这个linux基本上什么设备都能认出来,但是能驱动的设备显然没有windows多,毕竟除了arm处理器外基本上每个硬件都会为windows写驱动,但是能为linux写驱动的就不多了,很多linux驱动是用开源驱动的,这样的话效率……
所以个人感觉windows的驱动比linux下强。
6、 UNIX能力篇
这个,我不太同意原作者设立这个指标的,毕竟linux是unix like系统,而windows和这个不沾边……所以UNIX能力肯定是linux强啊,但是不是还有原版的unix么,所以这点应该列入评价指标。
7、性能篇
这个是很重要的一点,原作者分为开放性、多用户和多任务三个方面来进行的对比。开放性其实linux和windows都一样的,都很开放,不过windows8相比前辈们有点保守,所以linux的开放性应该更好点。
多用户方面,linux和windows都支持多个用户,但是linux可以多用户同时登陆,不过考虑到个人电脑的情况,这个指标一般没有什么用。所任务,这点有很多测评,大家可以去百度或者google一下,一般大家都认为linux效率更高一点。
8、创新篇
我实际上很反对这种为了创新而创新的对比方式的。windows和linux都是操作系统,为了实现类似的功能,出现多多少少一些类似是正常的。
就开发状态而言,linux是开源的,而windows不开源,所以linux应该高点,但是不要忘了windows系统也能得到全世界的很多第三方软件的支持,所以创新性而言双方并没有可比性,因该是在同一水平。
9、病毒防护篇
这一点毫无疑问是linux获胜,目前世界上还没有一种可以在linux下大规模泛滥的病毒,而且linux的安全性完全是建立在其保守的内核设计上的,所以linux是很安全的。相对于windows虽然windows8在win7的基础上又提高了很多,但是与linux还是有差距的。
实际上,为了保证用户体验,很多时候windows是必须牺牲防护性能的,所以能做到这点已经非常不容易了,真要超级安全的还FreeBSD是不是更安全呢?
10、稳定篇
系统稳定性上我感觉linux与windows不相上下,因为windows与linux都会崩溃,虽然windows崩溃原因很多,而linux崩溃大部分是有误操作,但是二者的差距真心没有那么大,而且windows实际上出现蓝屏代码什么的故障次数也已经比以前少多了。
参考资料:百度百科▬Linux 、人民网▬Linux系统与Windows系统对比有哪些不同
linux下sftp命令很多人都只是了解了语法却不知道具体用法,下面由我为大家整理了linux下sftp命令的相关知识,希望对大家有帮助!
linux的sftp命令
1.常用登陆方式:
格式:sftp 《user》@《host》
通过sftp连接《host》,端口为默认的22,指定用户《user》。
2.查看sftp支持的命令
使用help命令,查看支持的命令,如:
sftp》help
(其中命令前面有“l”表示本地执行,其他表示在所登录的远程主机上面执行)
3.基本的使用
sftp主要是用来传输文件的,包括上传文件(从本机到远程主机) ,下载文件(从远程主机到本机)。
(1)文件下载
get [-Ppr] remote [local]
如:get test.cpp 。/Project/
将远程当前目录下的文件test.cpp下载到本地当前目录的Project文件夹中。
(2)文件上传
put [-Ppr] local [remote]
如:put /home/liu/Software/RHEL_5.5\ x86_64.iso /home/xudong/Blog/
将本地/home/liu/Software/目录下的ios文件传送到远程登陆主机的/home/xudong/Blog/目录下。
(3)其他命令
可以使用命令还是有几个的,如ls、lls;cd、lcd;pwd、lpwd等。具体查看help输出吧。
sftp就是secure file transfer program,它基于ssh,用它在两个Linux系统间传递文档非常方便。
要使用sftp传递文档,首先应该在服务器端打开ssh服务,如果没有打开,一般可以通过下面的命令打开:
# /etc/init.d/sshd start
然后就可以在客户端通过sftp登录服务器端进行文档传递操作,如下:
$ sftp [-oPort=port_number] username@server_ip[:file1 file2 。。。]
补充:Linux的sftp命令的参数说明
-o 用来向ssh传递参数,比如-oPort=222,会告诉ssh使用连接服务器的222端口,而不是默认的22端口。这个在遇到服务器端把ssh服务默认的22号端口改变的情况时会有用。
后面的file1、file2代表文件名,也可以是一个目录。在没有指定文件时会打开一个交互界面,在交互界面下可以通过命令来传递文档。
如:
$ sftp -o port = 222 user@
Linux的sftp命令的命令说明
在sftp命令的交互界面下,有很多命令可以用,比如:cd、ls、pwd、bye、chmod、chgrp、chown、df、get、help、mkdir等等。当然这些命令都是针对服务器端的操作,其中一些命令在加l前缀的情况下可以实现在本地下的操作。比如,lpwd命令会打印本地当前工作目录(即连接sftp前的当前工作目录)。这些命令中有两个是用来交换文档的,它们是get和put命令,如下:
》 put local_path [remote_path]
》 get remote_path [lcoal_path]
put 命令会把本地文件或目录“推”到服务器端;get命令则把服务器端文件或目录“拉”下来。
上面就是Linux使用sftp命令传输文件相关介绍了,相较于ftp而已,sftp命令传输文件更加安全,推荐使用sftp命令传文件。
前言: 虽然使用Putty和Xshell我们可以实现自己的电脑与Linux连接,但是有时也需要从Linux直接传输文件到Windows中,或者从Windows传输文件到Linux,这时就可以用rz和sz命令。
1.软件安装
yum安装
编译安装
2.软件使用
lrz命令是方便从windows传文件到Linux,在windows下通过连接工具进入linux系统,cd到自己需要的目录,命令行输入lrz,然后回车,之后会弹出一个选择框,选择我们需要上传的文件,然后add,最后上传就好了。
lsz命令是从Linux传输文件到windows,同样Linux下我们需要传的文件所在目录,命令行输入lsz,后面跟上需要传输的文件命,可以是一个文件,也可以跟多个文件名,同时传多个文件,然后回车,就可以传文件了。