一 、 sftp用文件的上传和下载
sftp登录格式如下:
sftp [user@]host[:file ...]
sftp [user@]host[:dir[/]]
sftp -b batchfile [user@]host
例如
sftp apple@127.0.0.1
sftp apple@127.0.0.1:/home/xx
1、 上传
本地文件上传远程目录
#上传一个本地文件到远程目录
put local-file [remote-file]
#上传一个本地目录到远程目录
put -r local-dir [remote-file]
#上传多个本地文件(支持通配符*)到远程目录
mput local-files [remote-file]
#上传多个本地目录(支持通配符*)到远程目录
mput -r local-files [remote-file]
2、 下载
远程文件下载到本地目录
#下载远程文件到本地目录
get remote-file [local-file]
#下载远程目录到本地目录
get -r remote-dir [local-file]
#下载多个远程文件(支持通配符*)到本地目录
mget remote-files [local-file]
#下载多个远程目录(支持通配符*)到本地目录
mget -r remote-dirs [local-file]
3、远程常规命令执行
远程常规命令执行和本地一样,如:
#远程文件
rm [remote-files]
#进入远程目录
cd remote-directory
#修改远程文件属性
chmod mode file-name
4、 执行本地命令
sftp登录后,若要执行本地命令,有两种方式
方式一,部分命令只需在常规命令前加l。如:
#查看当前目录,常规命令ls
lls
#查看当前路径,常规命令pwd
lpwd
方式二,在命令前加!,即格式为!command,如:
#在本地机器创建t.txt文件
!touch t.txt
5、查看帮助
#直接查看
man sftp
#登录sftp后查看
help
二、 scp从一台服务器传数据到另一台
$ scp [option] /path/to/source/file user@server-ip:/path/to/destination/directory
/path/to/source/file– 这是打算复制到远程主机的源文件。
user@server-IP:– 这是远程系统的用户名和 IP 地址。请注意 IP 地址后面加冒号。
/path/to/destination/directory– 这是文件将复制到的远程系统上的目标目录。
可以将文件从远程节点复制到本地系统,如下所示:
$ scp [option] user@server-ip:/path/to/source/file /path/to/local/directory
以下是scp命令常用的几个选项:
-C - 这会在复制过程中压缩文件或目录。
-P - 如果默认 SSH 端口不是 22,则使用此选项指定 SSH 端口。
-r - 此选项递归复制目录及其内容。
-p - 保留文件的访问和修改时间。