zoukankan      html  css  js  c++  java
  • 如何在Win10的Linux子系统里查询天气

    今夜阳光明媚,今夜多云转晴,在这天朗气清,惠风和畅,小鸟啾啾啾叫的日子里,文轩宝宝来教大家如何查询天气。

    有些同学可能就会问啦,查询天气不是很简单的么,问MSN天气,问度娘,问小娜,都可以啊。

    欸~咱们今天查询天气方式有点不一样,啊,我们会在命令提示符或者Powershell里利用Windows10的Linux子系统来查询,非常酷炫。有多酷炫呢?给大家举个栗子,笔者在查询成功之后笑了半分钟,然后感叹,还有这种操作?!

    从实用性的角度来讲,用命令行查询天气肯定是不如直接打开APP或者浏览器查询方便,你在命令行里得到的天气信息也当然不如APP里展示的丰富,不过,就像笔者当年第一次在Linux里运行cal命令一样,当看到终端里出现的日历时,心里有一种莫名的欢喜,有些时候,我们大概不能绝对地用“它是否实用”来衡量一件事物的价值,重要的是,它能为你带来多少乐趣。

    文中的演示是在Win10的Linux子系统中进行的,在其他的Linux发行版上,这种方法同样适用。下面我们开始。

    首先,我们在Win10中安装Linux子系统,虽然很多同学已经知道安装的方法了,不过为了照顾那些还不知道的同学,笔者这里再简单说一下:

    在微软小娜里搜索并进入启用或关闭Windows功能;

    勾选适用于Linux的Windows子系统(Beta),然后点击确定按钮;

    重启你的电脑;

    电脑重启过之后,打开命令提示符或者Powershell,输入bash,回车,此时Linux子系统将开始安装;

    安装完成后,你就可以在开始菜单里看到Bash on Ubuntu on Windows了,你可以点击它进入Windows子系统,也可以随时在命令提示符或者Powershell里输入bash,回车。

    好的,至此,我们的准备工作就完成了,下面我们来看如何在命令行里查询天气。

    想要查询天气,这里需要用到一个命令:curl,一般的Linux发行版里都有这个命令,你可以通过以下命令来找到它的位置:

    which curl

    这次,我们要通过curl命令来获取目标站点wttr.in的信息,这个站点将为我们提供天气数据。

    我们需要用到的命令十分简单:

    curl wttr.in

    回车;

    查询到的结果是这样的:

    眼尖的同学可能看到了,这怎么是济南的天气嘛,作者你在在青岛啊~

    是的,因为wttr.in会通过你的IP来地址确定你的地理位置,有时通过IP地址来定位确实不太准。

    所以,我们需要给wttr.in一个确切的地理位置——青岛。

    输入命令:

    curl wttr.in/Qingdao

    回车;

    这样,我们就可以得到青岛的天气信息了:

    你可以为你查询的城市指定国家,我们这里来试一下,如果我查询“美国青岛”的天气,会得到什么结果;

    输入命令:

    curl wttr.in/Qingdao,USA

    回车;

    因为青岛并不是美国的,所以wttr.in有点懵圈,给了一个俄罗斯某城市的天气信息(那个城市后天还会下雪,真是羡慕):

    我们的查询范围还可以更精确,比如,我们需要查询青岛市沈阳路的天气;

    那么只需要输入命令:

    curl wttr.in/~Qingdao+Shenyang+Rd

    回车;

    这时,你就可以得到青岛市市北区沈阳路的天气信息:

    与此同时,我们可以通过机场代码来查询某个机场的天气信息;

    比如我们输入命令:

    curl wttr.in/SHE

    回车;

    你就可以知道沈阳桃仙国际机场的天气:

    通过地理位置坐标来查询天气也是没问题的,比如沈阳的地理位置坐标是北纬48°80′,东经123°43′,那么我们可以通过命令:

    curl wttr.in/41.80,123.43

    回车;

    来查询该位置的天气:

    有些同学这时可能会问,为啥我们查到的天气信息都是英文的啊,看不懂啊。

    没关系,我们可以在命令的最后加上表示语言的参数,你若希望天气信息以中文显示,那么只需在命令的最后加上?lang=zh,比如:

    curl wttr.in/Qingdao?lang=zh

    结果如下:

    同理,我们也可以将语言参数设置为俄文:

    curl wttr.in/Qingdao?lang=ru

    结果如下:

    顺便,我们说说其他的参数。

    你若只希望知道当天大概的天气信息,不需要信息详细,也不想知道未来几天的,那么你可以在命令的最后加上?0参数,比如:

    curl wttr.in/Qingdao?0

    回车;

    结果如下:

    如果你只需要知道当天的详细天气,不需要知道未来几天的,那么你可以在命令的最后加上?1参数,比如:

    curl wttr.in/Qingdao?1

    结果如下:

    如果你需要知道今明两天的天气,那么你可以在命令的最后加上?2参数,比如:

    curl wttr.in/Qingdao?2

    结果如下:

    如果你对天气的时间精度要求不高,只需知道正午和夜晚的天气信息,而不需要知道清晨和傍晚的天气信息,那么你可以在命令的最后加上?n参数,比如:

    curl wttr.in/Qingdao?n

    结果如下:

    如果你觉得彩色的字符看起来眼花缭乱,需要纯色显示,那么你可以在命令的最后加上?T参数,比如:

    curl wttr.in/Qingdao?T

    结果如下:

    除了查询天气之外,wttr.in还可以查询月相,特别好玩,

    如果你要查询当前时间的月相,那只需输入命令:

    curl wttr.in/Moon

    回车;

    结果如下:

    如果你要查询特定日期的月相,比如2012年12月12日的,那只需输入命令:

    curl wttr.in/Moon@2012-12-12

    回车;

    结果如下:

    有些同学这时可能就要嘤嘤嘤了,不想在Win10里安装Linux子系统,怎么办……

    没关系,我们使用浏览器可以达到相同的效果。

    很简单,你只需在浏览器的地址栏里输入

    wttr.in

    然后回车;

    你就可以看到这个:

    和上文所述的用法相同,你若想查询某地的天气,那么只需在wttr.in后跟上/地名,比如:

    wttr.in/Shenyang

    回车;

    结果如下:

    更好玩的是,你可以将当前显示的天气信息保存为图片文件,保存方式简单粗暴,只要在地址的最后加上.png然后回车即可,比如:

    wttr.in/SHE.png

    这时,天气信息将以图片的形式显示,这时,你点击鼠标右键,就可以将此图片保存了:

    curl命令与wttr.in站点还有很多好玩之处,

    若想了解curl命令的更多玩法,请在bash命令行中输入:

    curl -h

    回车;

    若想了解wttr.in站点的更多玩法,请在bash命令行中输入:

    curl wttr.in/:help

    回车

    或在浏览器地址栏输入:

    wttr.in/:help

    回车。

    好的,这次的教程就到这里,开开心心地玩儿去吧~

    本文由文轩宝宝(本博客作者)于2017年6月2日首发于IT之家,IT之家本文地址:点击这里

    欢迎关注文轩宝宝的微信公众号【爱兔教程】:

    本文欢迎任何形式的转载,转载请注明出处和作者。

    出处:爱兔教程;作者:文轩宝宝

  • 相关阅读:
    spring中bean配置和bean注入
    使用nginx搭建https服务器(转)
    Mysql-Proxy实现mysql读写分离、负载均衡 (转)
    RSync实现文件备份同步
    解决bash: mysql: command not found 的方法
    Proftp设置虚拟用户(转)
    详解zabbix安装部署(Server端篇) (转)
    CCKiller:Linux轻量级CC攻击防御工具,秒级检查、自动拉黑和释放 《CCKiller:Linux轻量级CC攻击防御工具,秒级检查、自动拉黑和释放》来自张戈博客
    Linux系统防CC攻击自动拉黑IP增强版Shell脚本 《Linux系统防CC攻击自动拉黑IP增强版Shell脚本》来自张戈博客
    linux中防CC攻击两种实现方法(转)
  • 原文地址:https://www.cnblogs.com/win10skills/p/7650875.html
Copyright © 2011-2022 走看看