专栏首页林德熙的博客dotnet serve 一句话开启文件服务器 通过 HTTP 将文件共享给其他设备

dotnet serve 一句话开启文件服务器 通过 HTTP 将文件共享给其他设备

在当前的 IT 领域,我推荐每个开发设备都应该安装 dotnet 这个工具,在 dotnet 这个工具上有大量开发者提供了无数好用的工具。本文要告诉小伙伴的工具是 natemcmaster 大佬提供了 serve 工具,可以用来开启本地文件服务器,使用非常简单。这个方案适合在 Windows 系统和 Linux 系统和 MAC 上使用,发布的 HTTP 服务可以在任何能访问到的设备上使用

默认小伙伴电脑已经安装了 dotnet 工具,如果还没有安装,请到官网下载安装

首次使用需要安装,请打开 cmd 控制台输入下面代码安装

dotnet tool install --global dotnet-serve

安装完成之后通过 cmd 控制台进入到需要发布共享的文件夹里面,如我需要发布 F:\lindexi\foo.txt 这个资源到我的笔记本 ubuntu 系统,我先进入到 F:\lindexi 文件夹

cd /d F:\lindexi

然后就是一句话开启文件服务器了

dotnet serve -p 1007

默认会使用 8080 端口,上面代码的 -p 就是指定端口为 1007 如果接受默认端口,那么可以使用 dotnet serve 开启服务器

此时用浏览器访问 http://127.0.0.1:1007 就可以看到文件了

等等,我还有个问题,我不想用 8080 端口,我也不想去想一个端口,毕竟我不知道哪个端口可以用,可以使用 -p 0 这样就能自动给一个随机端口

我还有一个问题,为什么在我的另一个设备上访问 ip 的方式拿不到?原因是上面的命令开启的是 localhost 的监听,想要让其他设备也能访问到,可以使用下面命令

dotnet serve -p 0 -a 0.0.0.0

上面代码的 -p 0 有仔细看文章的小伙伴就知道是用来做什么的,后续的 -a 0.0.0.0 的意思就是监听本地的所有 IP 地址,此时通过 ipconfig 或 Linux 下的 ifconfig 可以看到本地所在局域网内的 ip 地址,让其他设备通过 http://ip:端口 在浏览器打开就可以访问到了

在 Linux 下可以通过 wget 命令输入链接下载到文件,如我的设备上可以通过下面代码 wget -nc htp://172.18.134.16:1007/foo.txt 拿到我另一个设备的文件

那我不想要开启服务器了可以如何关闭?其实运行时有提示按下 ctrl+C 也就是复制键就可以关闭服务了,或者关闭控制台也可以关闭服务

这个命令工具特别适合用来暂时开启本地文件的共享,当然也适合用来做二次开发,用其他弱功能的脚本调用命令行让弱功能的脚本能做到开启本地服务

如果小伙伴想要了解这个工具是如何做的,请看源代码 如果访问不了,那么请到 gitee.com 注册帐号点击新建项目,粘贴 https://github.com/natemcmaster/dotnet-serve 就可以将 github 的仓库同步到国内的 gitee 了

如果我还要让外网的其他小伙伴和我不在一个局域网的访问,可以怎么办?请看 dotnet core 通过 frp 发布自己的网站

在外网发布了,我就想使用 gzip 减少内容传输,此时可以添加 -z 命令

这个工具也适合前端的小伙伴开启本地服务器,看自己写的前端代码


本作品采用 知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议 进行许可。欢迎转载、使用、重新发布,但务必保留文章署名林德熙(包含链接: https://blog.lindexi.com ),不得用于商业目的,基于本文修改后的作品务必以相同的许可发布。如有任何疑问,请 与我联系

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 程序猿修养 从安装 dotnet 开始

    本来程序员的开始应该是从命令行开始,但是能看到博客的小伙伴,预计都了解命令行了。但是如果是一个空命令行,能做的事情实在不够清真,能提升的效率也有限。如何站在巨人...

    林德熙
  • Roslyn 如何基于 Microsoft.NET.Sdk 制作源代码包

    本文告诉大家如何做源代码包,源代码包的意思是安装的包不是安装dll的方式,而是使用源代码的方式。也就是最后是编译包的源代码而不是添加dll,这个方式是解决想要把...

    林德熙
  • dotnet 通过 WMI 获取设备厂商

    Win32_ComputerSystem class - Windows applications

    林德熙
  • 一种清除windows通知区域“僵尸”图标的方案——XP系统解决方案

            从《一种清除windows通知区域“僵尸”图标的方案——问题分析》(以后简称《问题分析》)一文中分析的通知区域结构可以看出,XP的通知区域结构是...

    方亮
  • php学习笔记之require()和include()

    include()在执行文件时每次都要进行读取和评估,如果每次执行代码时是读取不同的文件,或者通过一组文件迭代循环,就使用include();

    solate
  • 预测链ForecastChain如何构建区块链预测生态?

    随着大数据、人工智能(AI)和机器学习(ML)的发展,预测分析开始变得高度可靠。2017开始,作为最火热的区块链技术,随着研究的不断深入和“区块链+产业”不断推...

    拜占庭教主
  • 预测模型数据挖掘之预测模型

    定性研究与定量研究的结合,是科学的预测的发展趋势。在实际预测工作中,应该将定性预测和定量预测结合起来使用,即在对系统做出正确分析的基础上,根据定量预测得出的量化...

    用户2909867
  • 天猫精灵疯魔

    双十一硝烟弥漫,按照惯例,硬件巨头都将针对双11推出专属款和特别价,谋个好销量。

    罗超频道
  • 最新 Android 热门开源项目公布

    LeanCloud 工程师收集了 2019 年 5 月 GitHub 上比较流行的 9 个和 Android 开发相关的开源项目,分享给各位开发者,内容包括对话...

    CCCruch
  • 当creator遇上protobufjs—感谢有你,再战2.0

    首先在这里感谢昨天在公众号留言的网友蓝小野,感谢他提醒我的pbkiller插件在 Cocos Creator 2.0上不能正常工作的问题。

    张晓衡

扫码关注云+社区

领取腾讯云代金券