Linux常用拉取文件方法

这里是在windows系统开启共享服务,拉文件到linux系统里面。

开启python服务

在需要共享的文件下进入cmd执行以下命令(一般为自己主机windows系统)

python -m http.service 8000

8000为端口,可自定义

开启浏览器访问

访问上面开启服务的主机IP:端口

开始拉取文件

1.使用curl命令

curl是另一个流行的命令行工具,用于与服务器进行数据传输,支持文件下载。

curl -o 22.txt http://172.16.128.42:8000/111.txt

22.txt为111.txt下载到本地的文件重命名

常见选项

  • -O:下载文件并保存为原文件名。

  • -L:跟随重定向。

  • -C -:断点续传。

2.使用wget命令

wget http://172.16.128.42:8000/111.txt

默认情况下,wget会把文件下载到当前工作目录

常见选项

  • -O filename:指定输出文件名。

  • -c:断点续传。

  • -r:递归下载。

总结一下

Linux中常用的拉取文件的方法有多种,每种方法适用于不同的场景:

  1. wget:适用于通过HTTP/HTTPS从网络上下载文件。支持断点续传,常用于简单的文件下载。

  2. curl:功能更为强大,支持多种协议(HTTP, HTTPS, FTP等),适用于更加灵活的文件下载和上传。

  3. scp:适用于SSH协议,用于从远程服务器安全地复制文件到本地。

  4. rsync:用于同步文件或目录,适合大规模文件传输和增量备份,支持断点续传。

  5. FTP/SFTP:分别适用于文件传输协议(FTP)和安全文件传输协议(SFTP),通常用于通过网络从服务器拉取文件。

  6. git:用于从Git仓库中拉取代码或文件,适用于版本控制和代码管理。

  7. nfs:适用于挂载远程共享目录并访问文件,适合在多台机器间共享文件系统。

  8. s3cmd:用于从Amazon S3存储中下载文件,适用于云存储环境。

每种方法都有其特定的用途,选择合适的工具能更高效地完成文件拉取任务。

### 使用 SCP 或 SFTP 从 Linux 服务器下载文件到 Windows #### 方法一:使用 SCP 命令 SCP 是一种基于 SSH 的协议,用于安全地复制文件。要在 Windows 上通过命令行工具(如 PowerShell 或 Git Bash)执行此操作,可以运行以下命令: ```bash scp username@linux_server_ip:/path/to/remote/file /path/to/local/directory ``` 其中 `username` 替换为您的用户名,`linux_server_ip` 替换为目标 Linux 服务器的 IP 地址或主机名,`/path/to/remote/file` 表示远程文件路径,而 `/path/to/local/directory` 则表示本地存储位置[^1]。 如果需要上传文件,则只需交换源和目标的位置即可。 --- #### 方法二:使用 SFTP 客户端 SFTP 提供了一种交互式的界面来管理文件传输。以下是具体的操作方法: 1. **连接至服务器** 打开终端并输入以下命令以建立连接: ```bash sftp username@linux_server_ip ``` 2. **获帮助** 如果不熟悉可用命令,在提示符下键入 `help` 可查看所有支持的功能[^3]。 3. **下载单个文件** 要将某个特定文件服务器下来,请使用如下指令: ```bash get /path/to/remote/file /path/to/local/directory ``` 4. **批量下载目录** 若要同步整个目录的内容,可采用递归选项 `-r` 来完成任务: ```bash get -r /path/to/remote/folder /path/to/local/folder ``` 5. **断开连接** 文件传输完成后退出会话可以通过简单的 `exit` 实现[^2]。 --- #### 自动化脚本实现 对于频繁的任务需求,编写批处理脚本来简化流程很有必要。下面是一个 Python 示例程序展示如何利用 paramiko 库自动登录并通过 SFTP 下载数据: ```python import os from paramiko import SSHClient, AutoAddPolicy def fetch_file(remote_path, local_path, host, port=22, user='root', password=None, key_filename=None): client = SSHClient() client.set_missing_host_key_policy(AutoAddPolicy()) try: if key_filename: client.connect(host, port, user, key_filename=key_filename) elif password: client.connect(host, port, user, password=password) with client.open_sftp() as sftp: sftp.get(remote_path, local_path) finally: client.close() if __name__ == "__main__": REMOTE_FILE_PATH = '/home/user/example.txt' LOCAL_SAVE_PATH = 'C:\\Users\\User\\Downloads\\example.txt' SERVER_HOSTNAME = '192.168.x.x' fetch_file(REMOTE_FILE_PATH, LOCAL_SAVE_PATH, SERVER_HOSTNAME, password="yourpassword") ``` 上述代码片段展示了如何借助第三方库 Paramiko 构建更复杂的解决方案。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值