macOS终端SFTP上传或下载服务器的文件
1. 前言
在 macOS 上,不用第三方开源或商业软件进行 SSH 登录,已经实现用默认终端进行 SSH 管理 1。
如果要上传或下载服务器的文件或文件夹,可以使用默认终端的 SFTP 工具。
SFTP(SSH File Transfer Protocol,SSH 文件传输协议)和 SCP(Secure Copy,安全拷贝)是两种用于安全文件传输的协议,均使用SSH协议来传输文件。2
SCP 之前已经写过一篇文章 3。
2. SFTP 操作
- 本地终端连接服务器
sftp name@IP
如果,本地已经设置了 ~/.ssh/config
1,可以直接用命令:sftp server
- 上传文件/文件夹
首先,可以通过 !ls
查看本地当前路径下的文件。
输入:
put a.txt /home/name
a.txt
为本地当前路径下的文件/home/name
为服务器的路径- 加
-r
可以对文件夹操作
- 下载文件/文件夹
首先,可以通过 ls
查看服务器的当前路径下的文件。
输入:
get b.txt .
b.txt
为服务器当前路径下的文件.
表示本地当前路径- 加
-r
可以对文件夹操作
- 帮助
输入 help
,得到如下内容:
Available commands:
bye Quit sftp
cd path Change remote directory to 'path'
chgrp [-h] grp path Change group of file 'path' to 'grp'
chmod [-h] mode path Change permissions of file 'path' to 'mode'
chown [-h] own path Change owner of file 'path' to 'own'
copy oldpath newpath Copy remote file
cp oldpath newpath Copy remote file
df [-hi] [path] Display statistics for current directory or
filesystem containing 'path'
exit Quit sftp
get [-afpR] remote [local] Download file
help Display this help text
lcd path Change local directory to 'path'
lls [ls-options [path]] Display local directory listing
lmkdir path Create local directory
ln [-s] oldpath newpath Link remote file (-s for symlink)
lpwd Print local working directory
ls [-1afhlnrSt] [path] Display remote directory listing
lumask umask Set local umask to 'umask'
mkdir path Create remote directory
progress Toggle display of progress meter
put [-afpR] local [remote] Upload file
pwd Display remote working directory
quit Quit sftp
reget [-fpR] remote [local] Resume download file
rename oldpath newpath Rename remote file
reput [-fpR] local [remote] Resume upload file
rm path Delete remote file
rmdir path Remove remote directory
symlink oldpath newpath Symlink remote file
version Show SFTP version
!command Execute 'command' in local shell
! Escape to local shell
? Synonym for help