如何使用Linux SFTP命令传输文件
SFTP SSH文件传输协议是一种安全的文件传输协议,通过加密的SSH连接来访问,管理和传输文件。与传统的FTP协议相比更加安全,SFTP提供了FTP的所有功能,并且更易于配置。
SFTP与仅允许文件传输的scp命令不同,SFTP命令允许您对远程文件执行一系列操作并恢复文件传输。在本教程中,我们将向您展示如何使用Linux sftp命令。
在本教程中我们将说明如何使用sftp命令建立SFTP连接,SFTP命令基本语法与子命令,使用SFTP导航,使用SFTP命令下载文件,使用SFTP命令上传文件,使用SFTP进行文件操作。
在你开始之前
为了能够通过SFTP传输和管理文件,您必须具有远程系统的写入权限,传输大文件时,建议使用screen,tmux,nohup运行sftp命令。
建立SFTP连接
SFTP架构是客户端-服务器模型架构。它是SSH的子系统,支持所有SSH身份验证机制。虽然默认的配置是使用传统密码验证,但易于使用,但如果您经常通过SSH/SFTP连接到服务器,建议创建SSH密钥并设置无密码SFTP登录。
要打开与远程系统的SFTP连接,请使用sftp
命令,后跟远程服务器用户名和IP地址或域名:
sftp [email protected]_ip_or_hostname
如果您使用的是密码验证,系统将提示您输入用户密码。连接后,远程服务器将显示确认消息和sftp>
提示。
Connected to [email protected]_ip_or_hostname.sftp>
如果SSH服务器未在默认端口22上侦听,请使用oPort
选项指定端口:
sftp -oPort=custom_port [email protected]_ip_or_hostname
SFTP命令
大多数SFTP命令与您在Linux shell提示符中使用的命令类似或相同。您可以通过键入help
或?
获取所有可用SFTP命令的列表。
help
Available commands:bye Quit sftp
cd path Change remote directory to 'path'
...
...
version Show SFTP version
!command Execute 'command' in local shell
! Escape to local shell
? Synonym for help
使用SFTP导航
登录到远程服务器后,当前工作目录是远程用户家目录。你可以输入以下内容来检查:
pwd
Remote working directory: /home/remote_username
列出文件和目录,请使用ls
命令:
ls
使用cd
命令导航到另一个目录。例如,要切换到/tmp
目录键入:
cd /tmp
所有上述命令都用于导航和处理远程位置。sftp
提示符还提供用于本地导航的信息和文件管理的命令。例如,要打印本地工作目录,您可以键入:
cd lpwd
Local working directory: /home/local_username
使用SFTP传输文件
SFTP允许您在两台计算机之间安全地传输文件。在大多数情况下,您将使用桌面SFTP客户端(如WinSCP或FileZilla)连接到远程服务器并下载或上传文件。但是,当您在没有GUI的服务器上工作时,并且想要传输文件或希望对远程文件执行其他操作时,该命令很有用。
使用SFTP命令下载文件
登录到远程服务器后,当前工作目录是远程用户家目录。使用sftp
命令下载文件时,文件将下载到您键入sftp
命令的目录中。
要从远程服务器下载单个文件,请使用get
命令:
get filename.zip
输出应该如下所示:
Fetching /home/remote_username/filename.zip to filename.zip/home/remote_username/filename.zip 100% 24MB 1.8MB/s 00:13
如果要使用其他名称保存下载的文件,请在后面指定名称:
get filename.zip local_filename.zip
要从远程系统下载目录,请使用-r
选项:
get -r remote_directory
如果文件传输失败或中断,您可以使用reget
命令恢复它。reget
语法与get
语法相同:
reget filename.zip
使用SFTP命令上传文件
要将文件从本地目录上传到远程FTP服务器,请使用以下put
命令:
put filename.zip
输出应该如下所示:
Uploading filename.zip to /home/remote_username/filename.zipfilename.zip 100% 12MB 1.7MB/s 00:06
如果要上传不在当前工作目录中的文件,请使用该文件的绝对路径。put
命令选项跟get
命令选项时一样的。要上传本地目录到远程服务器,请键入:
put -r locale_directory
要恢复中断的上传:
reput filename.zip
使用SFTP进行文件操作
通常,您可以使用SSH连接到服务器并与远程服务器shell终端进行交互,但在某些情况下,您只能通过SFTP访问远程服务器。这时就只能使用SFTP进行基本文件操作。
SFTP允许您执行一些基本的文件操作命令。以下是如何使用SFTP shell的一些示例。例如显示远程系统磁盘使用情况的统计信息:
df
Size Used Avail (root) %Capacity 20616252 1548776 18002580 19067476 7%
在远程服务器上创建一个新目录:
mkdir directory_name
重命名远程服务器上的文件:
rename file_name new_file_name
删除远程服务器上的文件:
rm file_name
删除远程服务器上的目录:
rmdir directory_name
更改远程系统上文件的权限:
chmod 644 file_name
更改远程系统上文件的所有者:
chown user_id file_name
您必须为chown
和chgrp
命令提供用户标识。使用以下命令更改远程文件组的所有者:
chgrp group_id file_name
完成工作后,您可以通过键入bye
或quit
关闭连接。
结论
在本教程中,您学习了如何使用sftp命令下载文件并将文件上传到远程SFTP服务器。
以上是 如何使用Linux SFTP命令传输文件 的全部内容, 来源链接: utcz.com/z/506952.html