前言

在使用linux服务器时,有可能会需要在服务器之间传入文件,在这里记录了两种命令来进行实现。

分别是scp命令和stpf命令。下面将详细介绍这两个命令的使用。


一、scp命令

scp:远程文件拷贝程序,是secure copy  program的的缩写

1.简单用法:

scp [-r] usename@ip:sourcefile  target  
#把远程主机上的sourcefile 文件[文件夹]复制到target目录下
#如果复制的是文件夹则需要加-r选项,ip后面的文件路径需要由":"隔开

输入命令后,会提示需要访问密码,远程主机对应的访问密码即可

2.使用示例:

2.1.复制文件到本地

#1.从远程服务器复制文件到本机
scp root@192.168.25.133:/root/nginx-1.8.0.tar.gz ./

root@192.168.25.133's password:  #2.要求数据访问密码

#密码输入正确后,完成复制

#3.通过ll命令查看文件
drwxr-xr-x. 9 root root    186 Jul 30 07:08 nginx-1.8.0

2.2.复制文件夹到本地

#1.从远程服务器复制文件夹到本机
scp -r  root@192.168.25.133:/root/nginx-1.8.0 ./

root@192.168.25.133's password:  #2.要求数据访问密码

#密码输入正确后,完成复制

#3.通过ll命令查看文件
drwxr-xr-x. 9 root root 186 Jul 30 07:21 nginx-1.8.0

另外,如果详细使用参数细节可以通过man scp 命令查看。

详细信息也可以参考博客:scp命令详解_蓝天居士的博客-CSDN博客_scp命令

二、sftp命令

sftp:安全的文件传输程序 是secure file transfer program的缩写。

1.简单用法:

#连接远程主机的dir文件夹
sftp [user@]host[:dir]

#例如 1.数据连接命令
sftp root@192.168.25.133:./a

#2.要求输入密码
root@192.168.25.133's password: 

#3.查看所在位置
sftp> pwd
Remote working directory: /root/a


#1.也可以不指定dir参数,默认是用户工作目录
sftp root@192.168.25.133
#2.查看当前所在位置
sftp> pwd
Remote working directory: /root

sftp提供了下载文件,上传文件,远程命令

2.使用示例

2.1下载文件

#1.下载远程文件到本地目录
get remote-file [local-file]
#示例:把nginx-1.8.0.tar.gz从远程主机复制到本地
get nginx-1.8.0.tar.gz ./

#2.下载远程目录到本地目录
get -r remote-dir [local-file]
#示例:把nginx-1.8.0 从远程主机复制到本地
get -r nginx-1.8.0 ./


#3.以匹配符的方式下载多个远程文件(支持通配符*)到本地目录
mget remote-files [local-file]
#示例:下载后缀为.txt的文件
meget *.txt ./

#4.以匹配符的方式下载多个远程目录(支持通配符*)到本地目录
mget -r remote-dirs [local-file]
#示例:现在当前文件夹下的所有文件及文件夹
meget -r *  ./

2.2上传文件

#1.上传一个本地文件到远程目录
put a.txt remote_dir
#例如:
put a.txt ./

#上传一个本地目录到远程目录
put -r local_dir remote_dir
#例如:
#note:需要在远程服务器上提前创建一个名字与源文件相同的文件夹
sftp> mkdir data
put -r data ./


#上传多个本地文件到远程目录
mput f*.txt remote_dir
例如:
mput *.txt ./

#上传多个本地目录到远程目录
mput -r local_dir* remote_dir
例如:mput -r * ./ 同样的,如果远程服务器中没有的文件夹不会被复制

至于其他的命令可以参考帮助文档 man sftp

文中sftp命令的使用参考:sftp命令使用_panda-star的博客-CSDN博客_sftp


总结

关于scp和sftp命令,scp命令较为简单,适合单纯的从远程服务器中复制文件的场景,sftp提供了更加丰富的文件操作,不紧可以下载文件还可以长传文件到远程服务器。同时还具备操作远程服务器文件的能力,如创建文件(夹),删除文件(夹)等功能。其中部分内容借鉴与网络中的大佬,表示感谢!

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐