在Ubuntu中,sftp
(SSH文件传输协议)是一个非常实用的工具,用于通过安全的SSH连接在本地和远程计算机之间传输文件
使用密钥对进行身份验证: 如果你已经为SSH设置了公钥/私钥对,可以使用
-i
选项指定私钥文件,以便在SFTP会话中使用。例如:sftp -i /path/to/private_key user@remote_host
传输文件或目录: 要将本地文件上传到远程主机,可以使用
put
命令。相反,要从远程主机下载文件,可以使用get
命令。例如:put local_file remote_file get remote_file local_file
若要上传或下载整个目录,可以使用
-r
选项。例如:put -r local_directory remote_directory get -r remote_directory local_directory
在SFTP会话中使用命令别名: 你可以在SFTP会话中为常用命令创建别名,以便更快地执行它们。例如,要为
ls -l
命令创建一个别名ll
,可以使用以下命令:alias ll ls -l
然后,你可以在SFTP会话中使用
ll
来执行ls -l
命令。使用通配符进行文件操作: SFTP支持使用通配符(如
*
和?
)进行文件操作。例如,要删除所有以.txt
结尾的文件,可以使用以下命令:rm *.txt
使用条件表达式进行文件操作: SFTP还支持使用条件表达式(如
&&
和||
)进行文件操作。例如,要在成功上传文件后删除本地文件,可以使用以下命令:put local_file remote_file && rm local_file
使用
!
运行本地命令: 在SFTP会话中,你可以使用!
运行本地计算机上的命令。例如,要在本地计算机上列出当前目录的内容,可以使用以下命令:!ls
使用
&
在后台运行命令: 如果你希望在SFTP会话中同时执行多个命令,可以使用&
在后台运行命令。例如,要在后台上传多个文件,可以使用以下命令:put file1 remote_file1 & put file2 remote_file2 &
使用
|
进行管道操作: SFTP支持使用|
进行管道操作。例如,要列出远程主机上的文件并将其传输到本地计算机上的文件中,可以使用以下命令:ls | !tee files.txt
这些高级用法可以帮助你更有效地使用SFTP在本地和远程计算机之间传输文件。请注意,这些示例仅展示了SFTP的一部分功能。要了解更多关于SFTP的信息,可以查看其手册页(通过运行man sftp
命令)。