http://wangxuedong.com/index.php/archives/182/

前言

有时候想上传文件到服务器或者从服务器下载一个文件到本地,但是服务器还没有配置ftp等环境,这时候可以通过scp来达到该效果。

介绍

scp是 secure copy的缩写, scp是linux系统下基于ssh登陆进行安全的远程文件拷贝命令。在mac下可以直接在终端使用scp命令。

上传文件

> scp local_file remote_name@remote_ip:remote_folder

示例:上传本地的a.txt文件到服务器root目录下

> scp a.txt root@8.8.8.8:/root

上传文件及目录

增加一个-r参数即可。

> scp -r local_file remote_name@remote_ip:remote_folder

示例:上传本地的demo目录到服务器的root目录下

> scp -r demo root@8.8.8.8:/root

下载文件

> scp remote_name@remote_ip:remote_file local_folder

示例:下载服务器root目录下a.txt文件

> scp demo root@8.8.8.8:/root/a.txt

下载文件及目录

增加-r参数

> scp -r remote_name@remote_ip:remote_file local_folder

示例:下载服务器root目录下www目录所有文件

> scp -r root@8.8.8.8:/root/www

其他参数

可能有用的几个参数 :

  1. -v 和大多数 linux 命令中的-v意思一样,用来显示进度,可以用来查看连接认证或是配置错误。
  2. -C 使能压缩选项。
  3. -P 选择端口注意-p已经被rcp使用。
  4. -4 强行使用IPV4地址。
  5. -6 强行使用IPV6地址。

前言

折腾scp的时候的时候发现的,也可以直接给服务器传输或从服务器下载文件。

介绍

sftp是Secure File Transfer Protocol的缩写,安全文件传送协议。可以为传输文件提供一种安全的网络的加密方法。sftp 与 ftp 有着几乎一样的语法和功能。SFTP 为 SSH的其中一部分,是一种传输档案至 Blogger 伺服器的安全方式。其实在SSH软件包中,已经包含了一个叫作SFTP(Secure File Transfer Protocol)的安全文件信息传输子系统,SFTP本身没有单独的守护进程,它必须使用sshd守护进程(端口号默认是22)来完成相应的连接和答复操作,所以从某种意义上来说,SFTP并不像一个服务器程序,而更像是一个客户端程序。SFTP同样是使用加密传输认证信息和传输的数据,所以,使用SFTP是非常安全的。但是,由于这种传输方式使用了加密/解密技术,所以传输效率比普通的FTP要低得多,如果您对网络安全性要求更高时,可以使用SFTP代替FTP。

摘自《百度百科》

连接到服务器

> sftp remote_name@remote_ip

示例:sftp连接到服务器,默认是root目录

> sftp root@8.8.8.8

回车,输入密码即可。可以输入问号?查看更多命令。

上传文件

> put filename

示例:上传文件a.txt到服务器root目录

> put a.txt

上传目录

> put -r folfer

示例:上传本地的root目录到服务器的root目录

> put -r demo

下载文件

> get filename

示例:从服务器root目录下载a.txt到本地

> get b.txt

下载目录

> get -r folder

示例:下载服务器root目录下的project目录到本地

> get -r project

常用命令

命令

说明

cd [ remote-directory ]

改变用户的当前工作目录

cdup

改变用户的工作目录为当前工作目录的上一级目录

pwd

显示用户的当前工作路径

dir/ls [ -l | -a ] [ remote-directory ]

显示指定目录下的文件列表。dir与ls执行的效果是一样的

rmdir remote-directory &<1-10>

删除服务器上指定的目录。一次最多可以删除10个目录。

但使用该命令删除目录时,目录中不能有文件,否则会删除失败

mkdir remote-directory

在服务器上创建新指定目录

rename old-name new-name

改变服务器上指定的文件的名字

get remote-filename [ local-filename ]

下载远程服务器上指定的文件

put local-filename [ remote-filename ]

上传指定的本地文件到远程服务器

remove remote-filename &<1-10>

删除服务器上文件。一次最多可以删除10个文件

help [ all | command-name ]

请求SFTP客户端命令帮助

 

[转]scp、sftp命令使用的更多相关文章

  1. scp命令和sftp命令

    scp帮助命令: man scpscp功能:下载远程文件或者目录到本地,如果想上传或者想下载目录,最好的办法是采用tar压缩一下,是最明智的选择.从远程主机下载东西到本地电脑拷贝文件命令 scp us ...

  2. shell脚本实现文件的自动上传以及下载 scp sftp lftp 还有expect命令

    转至: 最近需求要求定期从一个[定期更新的文件] 中解析员工信息 ,插入到数据库中. 按理来说很简单,  无非就是io流读文件,然后crud balalalala..... 其实不是的, 我我写的这个 ...

  3. linux下如何使用sftp命令【转】

    linux下如何使用sftp命令 from:   http://www.cnblogs.com/chen1987lei/archive/2010/11/26/1888391.html sftp 是一个 ...

  4. 用scp这个命令来通过ssh传输文件

    小结: 1. upload files 到 ssh 服务器 localhost $ scp localfile root@172.20.34.**:~/remotepath 2. 从 ssh 服务器d ...

  5. cmd窗口使用sftp命令非密钥和密钥登录SFTP服务器的两种方式

    cmd窗口使用sftp命令非密钥和密钥登录SFTP服务器的两种方式 一.在Windows环境下搭建SFTP服务器可参见http://www.cnblogs.com/Kevin00/p/6341295. ...

  6. 在linux下一般用scp这个命令来通过ssh传输文件

    在linux下一般用scp这个命令来通过ssh传输文件. 1.从服务器上下载文件scp username@servername:/path/filename /var/www/local_dir(本地 ...

  7. sftp命令不被识别

    sftp命令不被识别 原因:C:\Windows\System32文件夹下面没有sftp可执行程序 解决方案:安装openssh,安装完成之后可发现在path系统变量的值中多了openssh的安装目录 ...

  8. linux记录sftp命令

    使用以下配置方法不需要配置chroot. 编辑sshd_config文件 vi /etc/ssh/sshd_config 增加: Subsystem sftp /usr/libexec/openssh ...

  9. linux文件上传下载笔记(rz,sz,sftp,scp)命令

    软件(包)安装/卸载 yum -y install 包名(支持*) :自动选择y,全自动yum install 包名(支持*) :手动选择y or nyum remove 包名(不支持*)rpm -i ...

随机推荐

  1. Efuse--芯片存储

    1.Efuse是什么 Efuse类似于EEPROM,是一次性可编程存储器,在芯片出场之前会被写入信息,在一个芯片中,efuse的容量通常很小,一些芯片efuse只有128bit. 2.efuse的作用 ...

  2. expect学习笔记及实例详解

    因为最近正在学习expect脚本,但是发现网上好多文章都是转载的,觉得这篇文章还不错,所以简单修改之后拿过来和大家分享一下~ 1. expect是基于tcl演变而来的,所以很多语法和tcl类似,基本的 ...

  3. Zabbix3.2监控Windows的内存使用百分比并在内存使用率超过85%的时候触发报警

    内存使用率key:vm.memory.size[pused]

  4. python学习第42、43天 HTML\CSS

    前端是什么? 帮助不了解后端程序的客户轻松使用程序的工具,可以提升工作效率,提供各种各样的体验. 通用的前端大致会使用三种语言,用在三个不同的方面对前端进行架构和优化,这里也只介绍这三种 web前端常 ...

  5. Vuex与axios介绍

    Vuex集中式状态管理里架构 axios (Ajax) Vuex集中式状态管理架构 -简单介绍: vuex是一个专门为Vue.js设计的集中式状态管理架构. 我们把它理解为在data中需要共享给其他组 ...

  6. JQery插件clipboard.js ----将文本复制到剪贴板的现代化方法

    ### 之前用了js自带的剪贴板对象clipboardData 对象以为就可以实现粘贴复制,但是种只支持IE的. 就找了jq的一个插件Zclip,但是网上的说法是利用了flesh来实现的,我用了之后可 ...

  7. python介绍、解释器、变量及其它

    python 一.python及编程语言介绍 编程语言发展:机器语言==>汇编语言==>高级语言 机器语言:由数字电路发展而来编程都是靠0101的二进制进行 汇编语言:汇编语言的实质和机器 ...

  8. a标签的4种状态及设置CSS

    a:link 超链接的默认样式 a:visited 访问过的(已经看过的)链接样式 a:hover 鼠标处于鼠标悬停状态的链接样式 a:active 当鼠标左键按下时,被激活(就是鼠标按下去那一瞬间) ...

  9. vue-cli 3配置接口代理

    vue.config.js vue.config.js是一个可选的配置文件,新建该文件,存放在项目根目录(将自动加载)中 // 作为配置文件,直接导出配置对象即可 module.exports = { ...

  10. Java并发编程基础-线程安全问题及JMM(volatile)

    什么情况下应该使用多线程 : 线程出现的目的是什么?解决进程中多任务的实时性问题?其实简单来说,也就是解决“阻塞”的问题,阻塞的意思就是程序运行到某个函数或过程后等待某些事件发生而暂时停止 CPU 占 ...