5.9 使用pscp传输文件 —— Linux教程 命令指令 运维 服务器 项目上线 CentOS 从入门到精通
目录:
SFTP(SSH文件传输协议)是一种安全文件协议,用于通过加密的SSH传输访问,管理和传输文件。
与传统的FTP协议相比,SFTP提供了FTP的所有功能,并且更易于配置。
与仅允许文件传输的
scp command
不同,
sftp
命令允许您对远程文件执行一系列操作并恢复文件传输。
在本教程中,我们将向您展示如何使用Linux
sftp
命令。
在你开始之前
为了能够通过SFTP传输和管理文件,您必须在远程系统上具有写权限。
传输大文件时,建议在屏幕或tmux会话内运行sftp命令。
运行
sftp
命令的目录是本地工作目录。
建立SFTP连接
SFTP在客户端-服务器模型上工作。 它是SSH的子系统,并支持所有SSH身份验证机制。
尽管默认情况下会设置传统密码身份验证并且易于使用,但是如果您定期通过SSH / SFTP连接到服务器,建议您创建SSH密钥并设置无密码SFTP登录。
要打开与远程系统的SFTP连接,请使用
sftp
命令,后跟远程服务器用户名以及IP地址或域名:
sftp remote_username@server_ip_or_hostname
连接后,将显示
sftp
提示符,您可以开始与远程计算机进行交互:
Connected to remote_username@server_ip_or_hostname. sftp>
如果远程SSH服务器未在默认端口22上侦听,请使用
-oPort
选项指定备用端口:
sftp -oPort=custom_port remote_username@server_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
shell还提供用于本地导航,信息和文件管理的命令。 本地命令以字母
l
为前缀。
例如,要打印本地工作目录,请输入:
cd lpwd
Local working directory: /home/local_username
使用SFTP传输文件
使用SFTP,您可以在两台计算机之间安全地传输文件。
当您在没有GUI的服务器上工作并且想要传输文件或对远程文件执行其他操作时,
sftp
命令很有用。
使用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
的语法相同:
使用SFTP命令上传文件
要将文件从本地计算机上载到远程SFTP服务器,请使用
put
命令:
put filename.zip
输出应如下所示:
Uploading filename.zip to /home/remote_username/filename.zip filename.zip 100% 12MB 1.7MB/s 00:06
如果要上传的文件不在当前工作目录中,请使用该文件的绝对路径。
使用
put
,可以使用
get
命令可用的相同选项。
要上传本地目录,请输入:
put -r locale_directory
要恢复中断的上传:
使用SFTP进行文件操作
通常,要在远程服务器上执行任务,您将通过SSH连接到远程服务器并使用Shell终端进行工作。 但是,在某些情况下,用户可能只有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
您必须将用户ID提供给
chown
和chgrp
命令。使用以下命令更改远程文件的组所有者:
chgrp group_id file_name
完成工作后,请键入
bye
或
quit
关闭连接。
结论
在本教程中,我们向您展示了如何使用
sftp
命令将文件下载和上传到远程SFTP服务器。
您可能还需要设置基于SSH密钥的身份验证并连接到Linux服务器,而无需输入密码。
如果您有任何疑问或反馈,请随时发表评论。
sftp终端如何使用linux ftp命令传输文件
FTP(文件传输协议)是一种标准的网络协议,用于在远程网络之间传输文件。 在本教程中,我们将通过实际示例向您展示如何使用linux ftp命令。
如何使用linux sleep命令暂停bash脚本
Sleep是一个命令行实用程序,可让您在指定的时间中挂起调用进程。 在本教程中,我们将向您展示如何使用Linux sleep命令。