站长资源操作系统

Linux利用sftp命令传输文件(极少数人知道的方法)

整理:jimmy2024/11/20浏览2
简介sftp是Linux系统中的命令,使用的人数不多,所以很多用户并不知道sftp命令的用途,sftp命令能够用来传输文件,和ftp有些相似,下面小编就给大家介绍Linux使用sftp命令传输文件的方法。1.常用登陆方式:格式:sftp 《user》@《host》通过sftp连接《host》,端口为默认

  sftp是Linux系统中的命令,使用的人数不多,所以很多用户并不知道sftp命令的用途,sftp命令能够用来传输文件,和ftp有些相似,下面小编就给大家介绍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 。。。]

  参数说明:

  -o 用来向ssh传递参数,比如-oPort=222,会告诉ssh使用连接服务器的222端口,而不是默认的22端口。这个在遇到服务器端把ssh服务默认的22号端口改变的情况时会有用。

  后面的file1、file2代表文件名,也可以是一个目录。在没有指定文件时会打开一个交互界面,在交互界面下可以通过命令来传递文档。

  如:

  $ sftp -o port = 222 user@www.xitongzhijia.net

  命令说明:

  在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命令传文件。