如何在Linux中使用SFTP命令在远程服务器上传输文件
SFTP是一种协议,提供安全和私有频道,用于使用加密在系统之间传输文件。
关于缩写的SFTP存在误解,有些人认为它代表安全文件传输协议。
它代表SSH文件传输协议。
在"FTPS"不同的位置,FTPS客户端将首先检查FTPS服务器的证书是否可信并使用安全套接字层协议(TLS)。
很高兴阅读如何在Ubuntu 18.04上使用SSL/TLS配置VSFTPD SFTP
可以易于认为SFTP和FTP在功能方面类似,但是,这两个采用了各种协议。
因此,我们不能使用标准FTP客户端连接到SFTP服务器。
在本教程中,我们将专注于常用的SFTP命令。
SFTP的标准应用是在自己环境中的命令界面上运行。
这就是为什么在大多数情况下,我们将注意到程序界面更改为提示SFTP>。
我们调用了SFTP会话的那一刻,除非使用SFTP命令行标准中的特定语言调用它们,否则通常的系统命令不会执行。
并非所有计算机都可以处理SFTP命令。
我们可以选择使用SFTP或者命令行的图形界面版本,具体取决于我们使用的操作系统。
GUI接口要求我们安装SFTP实用程序。
在本文中,我们将带我们通过Unix/Linux命令行使用的一些SFTP命令示例。
如何与SFTP连接
用于建立通信的SSH协议与SFTP通道所需的SSH协议相同。
大多数人更喜欢将保存的密码设置为默认值,但我建议使用我们可以在需要访问任何系统时使用的SSH键。
要启动SFTP会话,我们需要一个用户名和远程主机名。
或者,我们可以在下面的提示下使用主机名的IP地址:
~ # sftp [email protected] [email protected]'s password: Connected to [email protected].
在上面的示例中,如果存在允许处理上面的命令的连接,则在获得访问之前,我们将期望密码提示。
1)如何在提示处获得帮助
如果我们在SFTP命令行上使用的类型或者格式没有CLUE,请使用"?
"或者在提示中的"帮助"如下
sftp ?
2)确认工作目录
使用命令LPWD将提供有关工作目录的更多信息。
PWD用于检查遥控程序。
sftp> lpwd
输出
Local working directory: /root
sftp> pwd
输出
Remote working directory: /upload
3)列表文件
在SFTP命令提示符下,我们使用不同的命令列出了遥控器和本地文件。
远程上市
sftp> ls
本地上市
sftp> lls
4)上传文件
可以通过在远程主机上放置单个或者多个文件来进行上传。
远程主机上的单个文件,
sftp> put Hello-World.txt
输出
Uploading Hello-World.txt to /upload/Hello-World.txt Hello-World.txt
远程主机上的多个文件
sftp> mput *.txt
输出
Uploading Hello-World.txt to /upload/Hello-World.txt Hello-World.txt 100% 0 0.0KB/s 00:00 Uploading file1.txt to /upload/file1.txt file1.txt 100% 0 0.0KB/s 00:00 Uploading file2.txt to /upload/file2.txt file2.txt 100% 0 0.0KB/s 00:00 Uploading file3.txt to /upload/file3.txt file3.txt 100% 0 0.0KB/s 00:00 Uploading file4.txt to /upload/file4.txt file4.txt 100% 0 0.0KB/s 00:00
5)下载文件
我们将能够在本地路径或者系统中下载单个或者多个文件。
sftp> get file1.pdf
输出
Fetching /upload/file1.pdf to file1.pdf
在本地路径或者系统上下载多个文件
sftp> mget * .pdf
输出
Fetching /upload/file1.pdf to file1.pdf Fetching /upload/file2.pdf to file2.pdf Fetching /upload/file3.pdf to file3.pdf Fetching /upload/file4.pdf to file4.pdf Fetching /upload/file5.pdf to file5.pdf
很明显,在本地系统中下载文件时,使用相同的名称完成。
当我们想在远程文件下载上使用不同的名称时,应在命令的末尾指定名称。
6)切换目录
在远程服务器上,我们使用该命令,
sftp> cd test
在本地计算机上,我们使用该命令,
sftp> lcd Documents
7)创建目录
可以在远程和本地路径上创建目录
本地路径上的一个新目录
sftp> mkdir test
远程主机上的新目录
sftp> lmkdir Documents
8)删除目录
删除远程主机中的目录或者文件
删除远程主机中的文件
sftp> rm Report.xls
删除远程主机中的目录
sftp> rmdir Department
注意:如果目标目录为空,则此命令只能工作
9)退出命令shell
感叹号! (在这种情况下称为命令)用于超出SFTP命令提示符,如以下示例所示。
sftp>! [root@sftp ~]# exit Shell exited with status 1 sftp>