如何在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之家本文地址:点击这里

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

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

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

posted on 2017-10-11 15:33  文轩宝宝  阅读(244)  评论(0编辑  收藏  举报