红联Linux门户
Linux帮助

还有这种操作?在Win10的Linux子系统里查询天气

发布时间:2017-06-03 08:43:17来源:IT之家作者:文轩
今天阳光明媚,多云转晴,在这天朗气清,惠风和畅,小鸟啾啾啾叫的日子里,来教大家如何查询天气。
有些同学可能就会问啦,查询天气不是很简单的么,问MSN天气,问小娜,都可以啊。
咱们今天查询天气方式有点不一样,啊,我们会在命令提示符或者Powershell里利用Windows10的Linux子系统来查询,非常酷炫。有多酷炫呢?给大家举个栗子,小编在查询成功之后笑了半分钟,然后感叹,还有这种操作?
从实用性的角度来讲,用命令行查询天气肯定是不如直接打开APP或者浏览器查询方便,你在命令行里得到的天气信息也当然不如APP里展示的丰富,不过,就像小编当年第一次在Linux里运行cal命令一样,当看到终端里出现的日历时,心里有一种莫名的欢喜,有些时候,我们大概不能绝对地用“它是否实用”来衡量一件事物的价值,重要的是,它能为你带来多少乐趣。
文中的演示是在Win10的Linux子系统中进行的,在其他的Linux发行版上,这种方法同样适用。下面我们开始。
 
首先,我们在Win10中安装Linux子系统,虽然很多同学已经知道安装的方法了,不过为了照顾那些还不知道的同学,小编这里再简单说一下:
在微软小娜里搜索并进入启用或关闭Windows功能;
还有这种操作?在Win10的Linux子系统里查询天气
勾选适用于Linux的Windows子系统(Beta),然后点击确定按钮;
还有这种操作?在Win10的Linux子系统里查询天气
重启你的电脑;
还有这种操作?在Win10的Linux子系统里查询天气
电脑重启过之后,打开命令提示符或者Powershell,输入bash,回车,此时Linux子系统将开始安装;
还有这种操作?在Win10的Linux子系统里查询天气
安装完成后,你就可以在开始菜单里看到Bash on Ubuntu on Windows了,你可以点击它进入Windows子系统,也可以随时在命令提示符或者Powershell里输入bash,回车。
还有这种操作?在Win10的Linux子系统里查询天气
还有这种操作?在Win10的Linux子系统里查询天气
好的,至此,我们的准备工作就完成了,下面我们来看如何在命令行里查询天气。
 
想要查询天气,这里需要用到一个命令:curl,一般的Linux发行版里都有这个命令,你可以通过以下命令来找到它的位置:
which curl
还有这种操作?在Win10的Linux子系统里查询天气
这次,我们要通过curl命令来获取目标站点wttr.in的信息,这个站点将为我们提供天气数据。
我们需要用到的命令十分简单:
curl wttr.in
回车;
查询到的结果是这样的:
还有这种操作?在Win10的Linux子系统里查询天气
眼尖的同学可能看到了,这怎么是济南的天气嘛。
是的,因为wttr.in会通过你的IP来地址确定你的地理位置,有时通过IP地址来定位确实不太准。
所以,我们需要给wttr.in一个确切的地理位置——青岛。
输入命令:
curl wttr.in/Qingdao
回车;
这样,我们就可以得到青岛的天气信息了:
还有这种操作?在Win10的Linux子系统里查询天气
你可以为你查询的城市指定国家,我们这里来试一下,如果我查询“美国青岛”的天气,会得到什么结果;
输入命令:
curl wttr.in/Qingdao,USA
回车;
因为青岛并不是美国的,所以wttr.in有点懵圈,给了一个俄罗斯某城市的天气信息(那个城市后天还会下雪,真是羡慕):
还有这种操作?在Win10的Linux子系统里查询天气
我们的查询范围还可以更精确,比如,我们需要查询青岛市沈阳路的天气;
那么只需要输入命令:
curl wttr.in/~Qingdao+Shenyang+Rd
回车;
这时,你就可以得到青岛市市北区沈阳路的天气信息:
还有这种操作?在Win10的Linux子系统里查询天气
与此同时,我们可以通过机场代码来查询某个机场的天气信息;
比如我们输入命令:
curl wttr.in/SHE
回车;
你就可以知道沈阳桃仙国际机场的天气:
还有这种操作?在Win10的Linux子系统里查询天气
通过地理位置坐标来查询天气也是没问题的,比如沈阳的地理位置坐标是北纬48°80′,东经123°43′,那么我们可以通过命令:
curl wttr.in/41.80,123.43
回车;
来查询该位置的天气:
还有这种操作?在Win10的Linux子系统里查询天气
 
有些同学这时可能会问,为啥我们查到的天气信息都是英文的啊,看不懂啊。
没关系,我们可以在命令的最后加上表示语言的参数,你若希望天气信息以中文显示,那么只需在命令的最后加上?lang=zh,比如:
curl wttr.in/Qingdao?lang=zh
结果如下:
还有这种操作?在Win10的Linux子系统里查询天气
同理,我们也可以将语言参数设置为俄文:
curl wttr.in/Qingdao?lang=ru
结果如下:
还有这种操作?在Win10的Linux子系统里查询天气
顺便,我们说说其他的参数。
你若只希望知道当天大概的天气信息,不需要信息详细,也不想知道未来几天的,那么你可以在命令的最后加上?0参数,比如:
curl wttr.in/Qingdao?0
回车;
结果如下:
还有这种操作?在Win10的Linux子系统里查询天气
如果你只需要知道当天的详细天气,不需要知道未来几天的,那么你可以在命令的最后加上?1参数,比如:
curl wttr.in/Qingdao?1
结果如下:
还有这种操作?在Win10的Linux子系统里查询天气
如果你需要知道今明两天的天气,那么你可以在命令的最后加上?2参数,比如:
curl wttr.in/Qingdao?2
结果如下:
还有这种操作?在Win10的Linux子系统里查询天气
如果你对天气的时间精度要求不高,只需知道正午和夜晚的天气信息,而不需要知道清晨和傍晚的天气信息,那么你可以在命令的最后加上?n参数,比如:
curl wttr.in/Qingdao?n
结果如下:
还有这种操作?在Win10的Linux子系统里查询天气
如果你觉得彩色的字符看起来眼花缭乱,需要纯色显示,那么你可以在命令的最后加上?T参数,比如:
curl wttr.in/Qingdao?T
结果如下:
还有这种操作?在Win10的Linux子系统里查询天气
 
除了查询天气之外,wttr.in还可以查询月相,特别好玩,
如果你要查询当前时间的月相,那只需输入命令:
curl wttr.in/Moon
回车;
结果如下:
还有这种操作?在Win10的Linux子系统里查询天气
如果你要查询特定日期的月相,比如2012年12月12日的,那只需输入命令:
curl wttr.in/Moon@2012-12-12
回车;
结果如下:
还有这种操作?在Win10的Linux子系统里查询天气
有些同学这时可能就要嘤嘤嘤了,不想在Win10里安装Linux子系统,怎么办?
没关系,我们使用浏览器可以达到相同的效果。
很简单,你只需在浏览器的地址栏里输入
wttr.in
然后回车;
你就可以看到这个:
还有这种操作?在Win10的Linux子系统里查询天气
和上文所述的用法相同,你若想查询某地的天气,那么只需在wttr.in后跟上/地名,比如:
wttr.in/Shenyang
回车;
结果如下:
还有这种操作?在Win10的Linux子系统里查询天气
更好玩的是,你可以将当前显示的天气信息保存为图片文件,保存方式简单粗暴,只要在地址的最后加上.png然后回车即可,比如:
wttr.in/SHE.png
还有这种操作?在Win10的Linux子系统里查询天气
这时,天气信息将以图片的形式显示,这时,你点击鼠标右键,就可以将此图片保存了:
还有这种操作?在Win10的Linux子系统里查询天气
 
curl命令与wttr.in站点还有很多好玩之处,若想了解curl命令的更多玩法,请在bash命令行中输入:
curl -h
回车;
若想了解wttr.in站点的更多玩法,请在bash命令行中输入:
curl wttr.in/:help
回车
或在浏览器地址栏输入:
wttr.in/:help
回车。
 
好的,这次的教材教程就到这里,开开心心地玩儿去吧。
 
本文永久更新地址:http://www.linuxdiyf.com/linux/31225.html