假设要把服务器a的路径xxx下的某文件m内容复制到服务器b去
因为Jumpserver的权限问题,scp不能直接复制,所以使用sftp命令传输
1.进入本地需要复制的文件目录下
1 |
cd xx/xxx/ |
其下是需要复制的文件m
2.连接远程服务器
1 |
sftp -P 端口号 用户名@主机 |
例如:
sftp -P 80 ubuntu@172.168.0.1 并按照提示输入密码
3.分别使用命令查看本地当前路径(Local) 和远程路径(Remote)
其中lpwd则展示的当前进入的路径xx/xxx/
4.使用 cd 远程路径和 lcd 本地路径分别进入对应目录
如果进入失败要一个一个进,可使用ls查看当前的目录进
5.put -r 文件夹 进行复制put -r m
文件传输命令允许你通过网络在系统间移动文件。这对于将文件复制到远程服务器或从互联网下载内容非常有用。
scp (安全复制)命令通过 SSH 连接在主机间复制文件。所有数据传输都经过加密,以确保安全。
scp 语法可将文件从源路径复制到定义为 user@host 的目的地:
1 |
scp source user@host:destination |
例子:
1 |
scp image.jpg user@server:/uploads/ |
这样就能以 user 身份将 image.jpg 复制到 server 上的 /uploads 文件夹。
scp 的工作原理与 cp 命令类似,但用于远程文件传输。它利用 SSH(Secure Shell)进行数据传输,提供加密功能,确保不会在网络上泄露密码等敏感数据。身份验证通常使用 SSH 密钥,但也可以使用密码。文件既可以复制到远程主机,也可以从远程主机复制。
rsync 工具可在两个位置之间同步文件,同时使用 delta 编码尽量减少数据传输。这使得同步大型目录树的速度更快。
rsync 语法同步源文件到目标文件:
1 |
rsync [options] source destination |
例子:
1 |
rsync -ahv ~/documents user@server:/backups/ |
上述示例命令将 documents 文件夹递归同步到 server:/backups/,并显示冗长的、人类可读的输出。
有用的 rsync 选项:
rsync 是将文件和文件夹同步到远程系统并保持分散备份和安全的理想工具。
sftp 程序通过 SSH 提供交互式文件传输,与普通 FTP 类似,但已加密。它可以在远程系统之间传输文件。
sftp 连接到主机,然后接受以下命令:
1 2 3 |
sftp user@host get remotefile localfile (复制远程文件到本地,此时remotefile可以是文件,也可以是文件夹) put localfile remotefile (把本地文件复制到远程,此时localfile如果是文件夹,前面要加-r) |
这样就能从服务器上获取 remotefile ,并将 localfile 复制到远程主机上。
sftp 有一个交互式 shell,用于浏览远程文件系统、传输文件和目录以及管理权限和属性。
wget(World Wide Web get)是从互联网检索内容的实用工具。它拥有最大的flags之一。
有用的 wget 选项:
wget 是编写自动下载脚本和镜像网站的理想工具。
以下是您如何从GitHub获取一个Python文件:
1 2 3 4 5 |
wget https://example.com/cookies.py #保存为链接尾部名称cookies.py
wget -O myfile.py https://example.com/cookies.py #保存为myfile.py |
curl 命令可使用支持的协议与网络服务器之间传输数据。它支持多种常用协议,包括 HTTP、HTTPS、FTP、FTPS、SCP、SFTP、SMTP、POP3、IMAP、Telnet 和 DICT。
通过 curl,我们可以发送请求,获取网页内容、下载文件,以及执行其他网络操作。
例子:
1 2 3 4 5 |
curl -o example.html https://example.com #该命令会将 https://example.com 的响应保存为名为 example.html 的文件。
curl -L https://example.com #该命令会自动跟踪 https://example.com 的重定向,并获取最终的响应内容。 |
上述命令从 HTTPS URL 获取数据并输出。
有用的 curl 选项:
curl 旨在以编程方式跨网络传输数据。
ps:以上只做粗略介绍,撬开入门的第一块砖,更深入的知识请自行查资料了解。