在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
命令)。