在Linux中传输文件/目录的scp命令
Linux管理员应该熟悉命令行环境。由于在Linux服务器中通常不安装GUI模式。SSH可能是使得Linux管理员通过远程安全方式管理服务器的最流行协议。与SSH命令一起内建的是SCP命令。SCP用于用安全方式在服务器之间复制文件。
SCP命令的基本语法
以下命令将读成在本机上复制一个文件source_file_name到在以用户username登录的destination_host机器上文件夹destination_folder中。
scp source_file_name username@destination_host:destination_folder
在SCP命令中有很多你能够使用的参数。这里是在日常使用中可能使用的参数。
使用-v参数提供scp过程的详细信息
不带参数的基本scp命令将在后台复制文件。除非过程结束或者某个错误发生,否则你看到不任何东西。
你可以使用"-v"参数打印调试信息到屏幕。它可以帮助你调试连接,验证和配置问题。
[root@rockygu test]# scp -v test.tar.gz root@192.168.50.228:/root/want/
Executing: program /usr/bin/ssh host 192.168.50.228, user root, command scp -v -t /root/want/
OpenSSH_8.0p1, OpenSSL 1.1.1k FIPS 25 Mar 2021
debug1: Reading configuration data /etc/ssh/ssh_config
...
test.tar.gz 100% 2951KB 140.8KB/s 00:20
debug1: client_input_channel_req: channel 0 rtype exit-status reply 0
debug1: channel 0: free: client-session, nchannels 1
Transferred: sent 3025856, received 3044 bytes, in 21.1 seconds
Bytes per second: sent 143240.0, received 144.1
debug1: Exit status 0
提供来自源文件的修改时间,访问时间和模式
"-p"参数将做这件事。一个预计时间和连接速度将在屏幕上出现。
[root@rockygu test]# scp -p test.tar.gz root@192.168.50.228:/root/want/
root@192.168.50.228's password:
Permission denied, please try again.
root@106.13.171.84's password:
test.tar.gz 100% 2951KB 141.9KB/s 00:20
[root@rockygu test]# ls -l test.tar.gz
-rw-r--r-- 1 root root 3021419 Jul 3 09:04 test.tar.gz
在目标位置上:
-bash-4.2# ls -l
total 2952
-rw-r--r-- 1 root root 3021419 Jul 3 09:04 test.tar.gz
使用-C参数使得文件传输更快
能够加速你文件传输的其中一个参数是"-C"参数。"-C"参数将在工作前压缩你的文件。唯一的事情是只在网络中压缩。当文件到达目的服务器时,它将变到与压缩发生前的原先大小一样。
看一下以下命令。它使用一个17MB的文件。
[root@rockygu test]# scp -pv base.tar 192.168.50.228:/root/want
Executing: program /usr/bin/ssh host 192.168.50.228, user (unspecified), command scp -v -p -t /root/want
...
Transferred: sent 17318804, received 5296 bytes, in 123.0 seconds
Bytes per second: sent 140797.3, received 43.1
debug1: Exit status 0
不带"-C"参数复制文件将产生123.0秒。你把这个结果与使用"-C"参数的命令做比较。
[root@rockygu test]# scp -Cpv base.tar 192.168.50.228:/root/want
Executing: program /usr/bin/ssh host 192.168.50.228, user (unspecified), command scp -v -p -t /root/want
...
Transferred: sent 3050816, received 5284 bytes, in 21.2 seconds
Bytes per second: sent 144019.6, received 249.4
debug1: Exit status 0
debug1: compress outgoing: raw data 17311149, compressed 3038822, factor 0.18
debug1: compress incoming: raw data 1867, compressed 1205, factor 0.65
如你所见,当你使用压缩时,传输过程在XX秒完成。它比不使用"-C"参数快XX倍。如果你在网络中复制大量文件,"-C"参数将帮助你减少你需要的整个时间。
我们应该注意的事情是压缩方法不是对所有文件有效。当源文件已经被压缩时,你将在那里没有改善。诸如.zip, .rar, .iso文件将不受"-C"参数影响。
更改SCP密码来加密文件
默认SCP使用"AES-128"来加密文件。如果你想要另一个密码来加密它,你可以使用"-c"参数。看一下以下命令。
[root@rockygu test]# scp -c aes256-ctr test.tar.gz root@192.168.50.228:/root/want/
root@192.168.50.228's password:
test.tar.gz 100% 2951KB 142.3KB/s 00:20
以上命令告诉SCP使用aes256-ctr算法加密文件。请注意这个参数使用"-c"不是"-C"。
限制于SCP命令一起的带宽使用
另一个有用的参数是"-l"参数。"-l"参数将限制使用的带宽。如果你写了一个复制大量文件的自动化脚本,但你不想带宽被SCP进程耗尽,这个参数是有用的。
[root@rockygu test]# scp -l 80 test.tar.gz root@192.168.50.228:/root/want/
192.168.50.228's password:
test.tar.gz 100% 2951KB 10.0KB/s 04:54
在-l参数后面的80值表示我们限制SCP进程的带宽只有10KB/s。要记住的一件事情是用Kilobits/sec(kbps)指定带宽。它表示8比特等于1字节。
SCP要以KB/s计数。所以你想要限制SCP最大带宽只有10KB/s,你需要设置它为10*8=80。
为与SCP一起使用指定特定端口
通常,SCP是使用22作为默认端口。但出于安全原因,你会更改这个端口为另一个端口号。例如,我们使用6666。则命令应该像这样:
[blctrl@areadetector ~]$ scp -P 6666 edm-master.zip root@192.168.50.74:/root
root@192.168.50.74's password:
edm-master.zip 100% 3320KB 52.4MB/s 00:00
由于"p"已经用于保留时间和模式,确认它使用大写"P"。
在目录中递归复制文件
有时我们需要复制目录以及在它中的所有文件/目录。如果我们在一条命令中做它将更好。SCP使用"-r"选项支持那种场景。
[root@rockygu ~]# scp -r test root@106.13.171.84:/root/want
root@106.13.171.84's password:
guid.txt 100% 0 0.0KB/s 00:00
perm.txt 100% 0 0.0KB/s 00:00
suid.txt 100% 0 0.0KB/s 00:00
.hidden 100% 0 0.0KB/s 00:00
rocky.sh 100% 0 0.0KB/s 00:00
rock.html 100% 0 0.0KB/s 00:00
rocky.c 100% 0 0.0KB/s 00:00
Rock.txt 100% 5 0.1KB/s 00:00
1.txt 100% 0 0.0KB/s 00:00
2.txt 100% 0 0.0KB/s 00:00
3.txt 100% 0 0.0KB/s 00:00
4.txt 100% 0 0.0KB/s 00:00
5.txt 100% 0 0.0KB/s 00:00
test.tar.gz 100% 2951KB 141.7KB/s 00:20
当复制过程结束时,你将在目标服务器上找到一个带有其所有文件的名为"test"目录。将自动创建文件夹"test"。
禁止进度条和警告/诊断信息
如果你选择不看来自SCP的进度条和警告/诊断消息,你可以使用"-q"参数禁用它。这是示例:
[root@rockygu ~]# scp -q test/test.tar.gz root@106.13.171.84:/root/want
root@106.13.171.84's password:
[root@rockygu ~]#
如你所见,在你输入密码后,没有有关SCP进度的信息。在这个过程结束后,你将再次看到一个提示。
在Linux中传输文件/目录的scp命令相关推荐
- linux中对文件进行归档,linux归档压缩命令 linux中对文件进行归档的命令为
13. 为了将当前目录下的归档文件myftp.tgz解压缩到/tmp目录下,用户可以使用命令 A. tar xvzf myftp.tgz –C /tmp B. tar : xvzf : myftp.t ...
- linux用命令设置读权限,linux中的文件权限和chmod命令的使用
1.linux中的文件权限 linux中用ls -al列出文件列表时,会看到第一列有rwx这样的字样,这个表示该文件的权限设置属性.在linux中,权限划分主要分为三种身份:所有者(owner或者us ...
- linux c语言文件拷贝_linux - scp命令远程文件拷贝
简介 scp就是secure copy,是用来进行远程文件拷贝的.数据传输使用ssh1,并且和ssh1使用相同的认证方式,提供相同的安全保证. scp只要通过sshd服务进行通讯,而且要求两端都有sc ...
- linux中传输文件方法,Linux快速传输文件几种方法
直接scp传输 [root@zenoss29 zenoss29]# time scp MySQL-server-5.5.18-1.rhel5.i386.rpm MySQL-client-5.5.1 ...
- linux中查看文件内容常用的命令
文章目录 前言 cat more less head tail 前言 大家都知道查看文件,我们常常使用cat,但是这个命令的缺点在于会显示所有文件内容,对于一个大文件来说,也许我们只想看前面几行,这个 ...
- Linux中的文件复制:cp和scp
在使用操作系统的使用过程中,常常需要复制文件到本地或者传输文件到其他电脑上,这时候用到两个命令cp和scp. cp命令用来复制文件或者目录.scp是secure copy的简写,用来在Linux下进行 ...
- Linux中的文件传输优化
Linux中的文件传输优化 1.scp远程传输命令 1.1把本地文件复制到远程主机 1.2把远程文件复制到本地 2.rsync远程同步命令 2.1 rsync和scp对比 2.2 rsync用法 3. ...
- linux复制文件scp命令,Linux 中的文件复制cp命令和scp命令详解
Linux 中的文件复制cp命令和scp命令详解 在使用操作系统的使用过程中,常常需要复制文件到本地或者传输文件到其他电脑上,这时候用到两个命令cp和scp. cp命令用来复制文件或者目录.scp是s ...
- linux下cp复制目录时排除某些目录的方法分享,CP / SCP / RSYNC 如何在Linux中排除特定目录?...
对于任何系统管理员或一般Linux操作系统用户而言,在服务器之间执行文件复制操作都是一项常见任务.在将文件从一个系统复制到另一个系统时,由于某些特定原因,我们可能需要排除某些文件和目录被复制.即使在同 ...
最新文章
- 参加软件测试培训需要学什么技术
- 今日头条员工感慨:30岁以上既可怜又可悲,宁愿选择23岁的,便宜、听话、好用!...
- STM32-USART控制led和蜂鸣器
- web后端轻量级框架flask基础调用程序模板
- 成功解决ProxyError: Conda cannot proceed due to an error in your proxy configuration.Check for typos an
- Java集合Collection与List的关系、常见用法
- mybatis学习(51):扩展集
- Kubernetes-NodePort(十七)
- JAVA读锁不使用效果一样_Java使用读写锁替代同步锁
- 算法思想——贪心(详细举例理解~)
- map std 浮点数索引_C std :: map持有任何类型的值
- 帝国CMS操作类型一览表
- gps天线拆解图片_威旺M20如何拆解中控导航及找出gps天线
- MODIS数据下载——CSV模式直接下载hdf文件
- 项目管理高手常用的10张图表推荐!(小白也能懂的项目管理)
- 计算机电源 通电,笔记本电脑开不了机,通电后电源指示灯不亮
- android 电视 vob格式转换,Android手机、Android智能电视、Android平板电脑视频和音频转换器---佳佳安卓视频格式转换器...
- 43_sql注入绕waf
- PgSql之操作JSON类型字段
- 电脑用久了卡,学会这四招解决你的电脑卡顿问题!
热门文章
- edge浏览器受信任_微软Edge浏览器利用虚拟化技术做安全防护
- Aviutl 视频处理软件
- Android电池信息(Battery information)
- P背景软件测试,软件测试的背景和发展
- java mongodb gridfs_MongoDB-4 GridFS 文件存储
- 求取SHP文件的最小外接矩形并裁剪图像
- 两个cgi的莫名其妙的core dump问题的解决
- 2016年GitHub上史上最全的Android开源项目分类汇总
- 微软推出游戏服务器,成为云玩家 微软将推出“Project xCloud”云游戏服务
- 数据结构之树家族介绍