能从远程获得乐趣的 Linux 命令
使用这些工具从远程了解天气、阅读资料等。<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201901/12/153112se1b7tf780eb1011.png">Media</a>我们即将结束为期 24 天的 Linux 命令行玩具日历。希望你有一直在看,如果没有,请回到<a href="https://opensource.com/article/18/12/linux-toy-boxes">开始</a>,从头看过来。你会发现 Linux 终端有很多游戏、消遣和奇怪之处。虽然你之前可能已经看过我们日历中的一些玩具,但我们希望每个人都遇见一个新事物。今天的玩具(实际是玩具集合)有点不同。到目前为止,我主要是想把重点放在那些独立的玩具上,并且完全可在开源许可下使用。但是我从读者那里得到了一些很好的建议,利用开源工具远程访问一些开源或者不开源的东西。今天,我将介绍其中的一些。第一个是经典之作:使用 Telnet 观看星球大战的 ASCII 演绎版本。你的系统可能已经安装了 Telnet,因此你只需运行:<pre class="prettyprint linenums">$ telnet towel.blinkenlights.nl</pre>我第一次看到它是十年之前,因此我对于它还存在有点惊奇。如果你还没看过,请留出一点时间看一下。你不会后悔的。<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201901/12/153112yugbh5qterctcu5u.png">Media</a>接下来,Opensource.com 的撰稿人 <a href="https://opensource.com/users/ntlx">Manuel Dewald</a> 提出了一种从终端获取当地天气的方法。它很简单,你只需安装 curl(或者,wget)。<pre class="prettyprint linenums">$ curl wttr.in</pre><a href="https://dn-linuxcn.qbox.me/data/attachment/album/201901/12/153116jalcacu184z1r8a8.png">Media</a>最后,在假期中虽然你可以从<a href="https://opensource.com/article/16/12/web-browsers-linux-command-line">命令行 Web 浏览器</a>浏览你喜Ē…
使用这些工具从远程了解天气、阅读资料等。<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201901/12/153112se1b7tf780eb1011.png">Media</a>我们即将结束为期 24 天的 Linux 命令行玩具日历。希望你有一直在看,如果没有,请回到<a href="https://opensource.com/article/18/12/linux-toy-boxes">开始</a>,从头看过来。你会发现 Linux 终端有很多游戏、消遣和奇怪之处。虽然你之前可能已经看过我们日历中的一些玩具,但我们希望每个人都遇见一个新事物。今天的玩具(实际是玩具集合)有点不同。到目前为止,我主要是想把重点放在那些独立的玩具上,并且完全可在开源许可下使用。但是我从读者那里得到了一些很好的建议,利用开源工具远程访问一些开源或者不开源的东西。今天,我将介绍其中的一些。第一个是经典之作:使用 Telnet 观看星球大战的 ASCII 演绎版本。你的系统可能已经安装了 Telnet,因此你只需运行:<pre class="prettyprint linenums">$ telnet towel.blinkenlights.nl</pre>我第一次看到它是十年之前,因此我对于它还存在有点惊奇。如果你还没看过,请留出一点时间看一下。你不会后悔的。<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201901/12/153112yugbh5qterctcu5u.png">Media</a>接下来,Opensource.com 的撰稿人 <a href="https://opensource.com/users/ntlx">Manuel Dewald</a> 提出了一种从终端获取当地天气的方法。它很简单,你只需安装 curl(或者,wget)。<pre class="prettyprint linenums">$ curl wttr.in</pre><a href="https://dn-linuxcn.qbox.me/data/attachment/album/201901/12/153116jalcacu184z1r8a8.png">Media</a>最后,在假期中虽然你可以从<a href="https://opensource.com/article/16/12/web-browsers-linux-command-line">命令行 Web 浏览器</a>浏览你喜Ē…
在 Linux 中移除从源代码安装的程序的一种简单的方法
GNU Stow 是一个符号链接归集管理器,它可以收集文件系统上不同目录中的不同软件和/或数据包,使它们看起来像是一个整体。Media
via https://linux.cn/article-10438-1.html
GNU Stow 是一个符号链接归集管理器,它可以收集文件系统上不同目录中的不同软件和/或数据包,使它们看起来像是一个整体。Media
via https://linux.cn/article-10438-1.html
在 Linux 中移除从源代码安装的程序的一种简单的方法
<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201901/12/235455jw7erex3e3d3cdmq.jpg">Media</a>不是所有的程序都可以在官方或者第三方库中找到,因此你不能使用常规的包管理来安装它们。有时你不得不从源代码中手动构建这些程序。就如你已经知道的一样,当你从源代码中安装一个程序的时候,这个软件包所包含的文件将会复制到本地的多个位置,例如 /usr/local/bin、/usr/local/etc/。如果从源代码中安装的程序没有内置的卸载程序,当你不再需要这个程序的时候,卸载它就会很麻烦。你可能会花费双倍(甚至更多)的时间找出这些文件然后手动删除它们。我以前一直是这样做的,直到我发现了 GNU Stow。谢天谢地,Stow 有一个很棒的方法可以轻松管理从源代码安装的程序。引用官方网站里的一段介绍,GNU Stow 是一个符号链接归集管理器,它可以收集文件系统上不同目录中的不同软件和/或数据包,使它们看起来像是一个整体。简单来说,Stow 帮助你把这些程序文件以一种容易管理的方式组织在了一起。在这个方法中,文件将不会被复制到多个位置。所有的这些文件都会被保存在一个特定的文件夹中,通常是以程序名命名的,然后 Stow 会在一个合适的位置为所有的程序文件创建符号连接。比如 /usr/local/bin 中会包含 /usr/local/stow/vim/bin、/usr/local/stow/python/bin 中文件的符号链接。并且同样递归地用于其他的&#…
<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201901/12/235455jw7erex3e3d3cdmq.jpg">Media</a>不是所有的程序都可以在官方或者第三方库中找到,因此你不能使用常规的包管理来安装它们。有时你不得不从源代码中手动构建这些程序。就如你已经知道的一样,当你从源代码中安装一个程序的时候,这个软件包所包含的文件将会复制到本地的多个位置,例如 /usr/local/bin、/usr/local/etc/。如果从源代码中安装的程序没有内置的卸载程序,当你不再需要这个程序的时候,卸载它就会很麻烦。你可能会花费双倍(甚至更多)的时间找出这些文件然后手动删除它们。我以前一直是这样做的,直到我发现了 GNU Stow。谢天谢地,Stow 有一个很棒的方法可以轻松管理从源代码安装的程序。引用官方网站里的一段介绍,GNU Stow 是一个符号链接归集管理器,它可以收集文件系统上不同目录中的不同软件和/或数据包,使它们看起来像是一个整体。简单来说,Stow 帮助你把这些程序文件以一种容易管理的方式组织在了一起。在这个方法中,文件将不会被复制到多个位置。所有的这些文件都会被保存在一个特定的文件夹中,通常是以程序名命名的,然后 Stow 会在一个合适的位置为所有的程序文件创建符号连接。比如 /usr/local/bin 中会包含 /usr/local/stow/vim/bin、/usr/local/stow/python/bin 中文件的符号链接。并且同样递归地用于其他的&#…
如何使用 Beamer 创建演示文稿
Beamer 将 LaTeX 强大的排版功能和生态系统带进创建幻灯片中。Media
via https://linux.cn/article-10439-1.html
Beamer 将 LaTeX 强大的排版功能和生态系统带进创建幻灯片中。Media
via https://linux.cn/article-10439-1.html
如何使用 Beamer 创建演示文稿
Beamer 将 LaTeX 强大的排版功能和生态系统带进创建幻灯片中。<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201901/13/113905one2p82t58vtqgtq.jpeg">Media</a><a href="https://www.overleaf.com/learn/latex/Beamer">Beamer</a> 是用于生成幻灯片的 LaTeX 包。它最棒的功能之一是它可以利用 LaTeX 强大的排版系统和其生态系统中的所有其他软件包。例如,我经常在包含代码的 Beamer 演示文稿中使用 LaTeX 的 <a href="https://www.overleaf.com/learn/latex/Code_listing">listings</a> 包。创建演示文稿要创建一个 Beamer 文档,输入:<pre class="prettyprint linenums">\documentclass{beamer}</pre>与任何其他 LaTeX 文档一样,添加你要使用的任何包。例如,要使用 listings 包,请输入:<pre class="prettyprint linenums">\usepackage{listings}</pre>将所有内容放在 document 环境中:<pre class="prettyprint linenums">\begin{document}</pre>Beamer 文档通常时是一系列的 frame 环境。包含代码的 frame 应该被标记为 fragile:<pre class="prettyprint linenums">\begin{frame}[fragile]</pre>使用标题开始你的 frame:<pre class="prettyprint linenums">\frametitle{Function to Do Stuff}</pre>开始演示前测试你的代码世上最糟糕的感受之一你在演讲中说到代码时,突然发现了一个 bug —— 也许是拼错了关键词或者漏掉了括号。解决方法之一就是测试演示的代码。在多数演示环境中,这意味着创建一个单独的文件、编写测试接着拷贝和粘贴。然而,在 Beamer 中有一种更好的方法。想象一下,你有一个名为 do_stuff.py 的文件,其中包含代码。你可以在第二个文件中编写 do_stuff.py 代码的测试,你可以将其命名为 test_do_stuff.py,并且可以使用 <a href="https://docs.pytest.org/en/latest/">pytest</a> 测试。但是,do_stuff.py 中的大多数行都缺乏教学价值,比如定义辅ࡄ…
Beamer 将 LaTeX 强大的排版功能和生态系统带进创建幻灯片中。<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201901/13/113905one2p82t58vtqgtq.jpeg">Media</a><a href="https://www.overleaf.com/learn/latex/Beamer">Beamer</a> 是用于生成幻灯片的 LaTeX 包。它最棒的功能之一是它可以利用 LaTeX 强大的排版系统和其生态系统中的所有其他软件包。例如,我经常在包含代码的 Beamer 演示文稿中使用 LaTeX 的 <a href="https://www.overleaf.com/learn/latex/Code_listing">listings</a> 包。创建演示文稿要创建一个 Beamer 文档,输入:<pre class="prettyprint linenums">\documentclass{beamer}</pre>与任何其他 LaTeX 文档一样,添加你要使用的任何包。例如,要使用 listings 包,请输入:<pre class="prettyprint linenums">\usepackage{listings}</pre>将所有内容放在 document 环境中:<pre class="prettyprint linenums">\begin{document}</pre>Beamer 文档通常时是一系列的 frame 环境。包含代码的 frame 应该被标记为 fragile:<pre class="prettyprint linenums">\begin{frame}[fragile]</pre>使用标题开始你的 frame:<pre class="prettyprint linenums">\frametitle{Function to Do Stuff}</pre>开始演示前测试你的代码世上最糟糕的感受之一你在演讲中说到代码时,突然发现了一个 bug —— 也许是拼错了关键词或者漏掉了括号。解决方法之一就是测试演示的代码。在多数演示环境中,这意味着创建一个单独的文件、编写测试接着拷贝和粘贴。然而,在 Beamer 中有一种更好的方法。想象一下,你有一个名为 do_stuff.py 的文件,其中包含代码。你可以在第二个文件中编写 do_stuff.py 代码的测试,你可以将其命名为 test_do_stuff.py,并且可以使用 <a href="https://docs.pytest.org/en/latest/">pytest</a> 测试。但是,do_stuff.py 中的大多数行都缺乏教学价值,比如定义辅ࡄ…
JSON 的兴起与崛起
我们不禁要问为什么 XML 的噩运来的如此之快,以至于短短十来年,“异步 JavaScript 和 XML” 这个名称就成为一个很讽刺的误称。Media
via https://linux.cn/article-10440-1.html
我们不禁要问为什么 XML 的噩运来的如此之快,以至于短短十来年,“异步 JavaScript 和 XML” 这个名称就成为一个很讽刺的误称。Media
via https://linux.cn/article-10440-1.html
JSON 的兴起与崛起
<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201901/14/115006ibcnakngxqxi6lnl.png">Media</a>JSON 已经占领了全世界。当今,任何两个应用程序彼此通过互联网通信时,可以打赌它们在使用 JSON。它已被所有大型企业所采用:十大最受欢迎的 web API 接口列表中(主要由 Google、Facebook 和 Twitter 提供),仅仅只有一个 API 接口是以 XML 的格式开放数据的。<a href="#fn1">1</a> 这个列表中的 Twitter API 为此做了一个鲜活的注脚:其对 XML 格式的支持到 2013 年结束,其时发布的新版本的 API 取消 XML 格式,转而仅使用 JSON。JSON 也在程序编码级别和文件存储上被广泛采用:在 Stack Overflow(LCTT 译注:一个面向程序员的问答网站)上,现在更多的是关于 JSON 的问题,而不是其他的数据交换格式。<a href="#fn2">2</a><a href="https://dn-linuxcn.qbox.me/data/attachment/album/201901/14/115020iuvmnv5hfaaaovrq.svg">Media</a>XML 仍然在很多地方存在。网络上它被用于 SVG 和 RSS / Atom 信息流。Android 开发者想要获得用户权限许可时,需要在其 APP 的 manifest 文件中声明 —— 此文件是 XML 格式的。XML 的替代品也不仅仅只有 JSON,现在有很多人在使用 YAML 或 Google 的 Protocol Buffers 等技术,但这些技术的受欢迎程度远不如 JSON。目前来看,JSON 是应用程序在网络之间通信的首选协议格式。考虑到自 2005 年来 Web 编程世界就垂涎于 “异步 JavaScript 和 XML” 而非 “异步 JavaScript 和 JSON” 的技术潜力,你可以发现 JSON 的主导地位是如此的让人惊讶。当然了,这可能与这两种通信格式的受欢迎程度无关,而仅反映出缩写 “AJAX” 似乎比 “AJAJ” 更具吸引力。但是,即使在…
<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201901/14/115006ibcnakngxqxi6lnl.png">Media</a>JSON 已经占领了全世界。当今,任何两个应用程序彼此通过互联网通信时,可以打赌它们在使用 JSON。它已被所有大型企业所采用:十大最受欢迎的 web API 接口列表中(主要由 Google、Facebook 和 Twitter 提供),仅仅只有一个 API 接口是以 XML 的格式开放数据的。<a href="#fn1">1</a> 这个列表中的 Twitter API 为此做了一个鲜活的注脚:其对 XML 格式的支持到 2013 年结束,其时发布的新版本的 API 取消 XML 格式,转而仅使用 JSON。JSON 也在程序编码级别和文件存储上被广泛采用:在 Stack Overflow(LCTT 译注:一个面向程序员的问答网站)上,现在更多的是关于 JSON 的问题,而不是其他的数据交换格式。<a href="#fn2">2</a><a href="https://dn-linuxcn.qbox.me/data/attachment/album/201901/14/115020iuvmnv5hfaaaovrq.svg">Media</a>XML 仍然在很多地方存在。网络上它被用于 SVG 和 RSS / Atom 信息流。Android 开发者想要获得用户权限许可时,需要在其 APP 的 manifest 文件中声明 —— 此文件是 XML 格式的。XML 的替代品也不仅仅只有 JSON,现在有很多人在使用 YAML 或 Google 的 Protocol Buffers 等技术,但这些技术的受欢迎程度远不如 JSON。目前来看,JSON 是应用程序在网络之间通信的首选协议格式。考虑到自 2005 年来 Web 编程世界就垂涎于 “异步 JavaScript 和 XML” 而非 “异步 JavaScript 和 JSON” 的技术潜力,你可以发现 JSON 的主导地位是如此的让人惊讶。当然了,这可能与这两种通信格式的受欢迎程度无关,而仅反映出缩写 “AJAX” 似乎比 “AJAJ” 更具吸引力。但是,即使在…
Termtosvg:将你在 Linux 终端中操作录制成 SVG 动画
Termtosvg 是一个用 Python 编写的 Unix 终端录制器,它可以将你的命令行会话保存为 SVG 动画。Media
via https://linux.cn/article-10441-1.html
Termtosvg 是一个用 Python 编写的 Unix 终端录制器,它可以将你的命令行会话保存为 SVG 动画。Media
via https://linux.cn/article-10441-1.html
Termtosvg:将你在 Linux 终端中操作录制成 SVG 动画
<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201901/14/121313jcoeexcx1di7i1xl.jpg">Media</a>一般人喜欢使用历史命令功能来查看/再次调用之前在终端中输入的命令。不幸的是,那样做只会显示先前输入的命令,而不是之前输出的内容。在 Linux 中,有许多可以用来记录终端活动的实用工具。这种工具将会帮助我们记录用户在终端中的活动,并帮助我们识别输出中有用的信息。在这之前,我们已经介绍了一些这类实用工具了。今天,让我们接着讨论这类工具。如果你希望尝试其它一些记录你终端活动的工具,我推荐你试试 <a href="https://www.2daygeek.com/script-command-record-save-your-terminal-session-activity-linux/">script</a> 命令和 <a href="https://www.2daygeek.com/terminalizer-a-tool-to-record-your-terminal-and-generate-animated-gif-images/">Terminalizer</a> 工具。script 是在无头服务器中记录终端活动的最佳方式之一。script 是一个记录在终端中输入过的 Unix 命令的实用工具(在某些终端中,它会记录显示在你终端中的所有东西)。它会在当前工作目录下以文本文件方式储存所有终端输出。不过,如果你在寻找 <a href="https://www.2daygeek.com/category/gif-recorder/">GIF 录制器</a> ,你可以尝试 <a href="https://www.2daygeek.com/gifine-create-animated-gif-vedio-recorder-linux-mint-debian-ubuntu/">Gifine</a>、<a href="https://www.2daygeek.com/kgif-create-animated-gif-file-active-window-screen-recorder-capture-arch-linux-mint-fedora-ubuntu-debian-opensuse-centos/">Kgif</a> 和 <a href="https://www.2daygeek.com/peek-create-animated-gif-screen-recorder-capture-arch-linux-mint-fedora-ubuntu/">Peek</a>。什么是 TermtosvgTermtosvg 是一个用 Python 编写的 Unix 终端录制器,它可以将你的命令行会话保存为 SVG 动画。Termtosvg 的特点可以制作嵌入于项目主页的简洁美观的动画。可以在 SVG 模板…
<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201901/14/121313jcoeexcx1di7i1xl.jpg">Media</a>一般人喜欢使用历史命令功能来查看/再次调用之前在终端中输入的命令。不幸的是,那样做只会显示先前输入的命令,而不是之前输出的内容。在 Linux 中,有许多可以用来记录终端活动的实用工具。这种工具将会帮助我们记录用户在终端中的活动,并帮助我们识别输出中有用的信息。在这之前,我们已经介绍了一些这类实用工具了。今天,让我们接着讨论这类工具。如果你希望尝试其它一些记录你终端活动的工具,我推荐你试试 <a href="https://www.2daygeek.com/script-command-record-save-your-terminal-session-activity-linux/">script</a> 命令和 <a href="https://www.2daygeek.com/terminalizer-a-tool-to-record-your-terminal-and-generate-animated-gif-images/">Terminalizer</a> 工具。script 是在无头服务器中记录终端活动的最佳方式之一。script 是一个记录在终端中输入过的 Unix 命令的实用工具(在某些终端中,它会记录显示在你终端中的所有东西)。它会在当前工作目录下以文本文件方式储存所有终端输出。不过,如果你在寻找 <a href="https://www.2daygeek.com/category/gif-recorder/">GIF 录制器</a> ,你可以尝试 <a href="https://www.2daygeek.com/gifine-create-animated-gif-vedio-recorder-linux-mint-debian-ubuntu/">Gifine</a>、<a href="https://www.2daygeek.com/kgif-create-animated-gif-file-active-window-screen-recorder-capture-arch-linux-mint-fedora-ubuntu-debian-opensuse-centos/">Kgif</a> 和 <a href="https://www.2daygeek.com/peek-create-animated-gif-screen-recorder-capture-arch-linux-mint-fedora-ubuntu/">Peek</a>。什么是 TermtosvgTermtosvg 是一个用 Python 编写的 Unix 终端录制器,它可以将你的命令行会话保存为 SVG 动画。Termtosvg 的特点可以制作嵌入于项目主页的简洁美观的动画。可以在 SVG 模板…
极客漫画:你准备好微服务了吗?
微服务是个好东西,就像乐高积木一样,你可以拼成各种东西,当前,前提是你足够会玩。 从早些年的 SOA 和中间件,到现在的微服务和容器,但似乎历史总是螺旋式变化的。看起来笨拙而大而无当的独石应用,其实在很多场景,要比微服务更适合。Media
via https://linux.cn/article-10442-1.html
微服务是个好东西,就像乐高积木一样,你可以拼成各种东西,当前,前提是你足够会玩。 从早些年的 SOA 和中间件,到现在的微服务和容器,但似乎历史总是螺旋式变化的。看起来笨拙而大而无当的独石应用,其实在很多场景,要比微服务更适合。Media
via https://linux.cn/article-10442-1.html
极客漫画:你准备好微服务了吗?
Media微服务是个好东西,就像乐高积木一样,你可以拼成各种东西,当前,前提是你足够会玩。从早些年的 SOA 和中间件,到现在的微服务和容器,但似乎历史总是螺旋式变化的。看起来笨拙而大而无当的独石应用,其实在很多场景,要比微服务更适合。话说,微服务的锅该那只汤姆猫背吗?:->via: http://turnoff.us/geek/are-you-ready-for-microservices/作者:Daniel Stori 译者&点评&校对:wxy 合成:wxy 本文由 LCTT 原创编译,Linux中国 荣誉推出Media
via https://linux.cn/article-10442-1.html?utm_source=rss&utm_medium=rss
Media微服务是个好东西,就像乐高积木一样,你可以拼成各种东西,当前,前提是你足够会玩。从早些年的 SOA 和中间件,到现在的微服务和容器,但似乎历史总是螺旋式变化的。看起来笨拙而大而无当的独石应用,其实在很多场景,要比微服务更适合。话说,微服务的锅该那只汤姆猫背吗?:->via: http://turnoff.us/geek/are-you-ready-for-microservices/作者:Daniel Stori 译者&点评&校对:wxy 合成:wxy 本文由 LCTT 原创编译,Linux中国 荣誉推出Media
via https://linux.cn/article-10442-1.html?utm_source=rss&utm_medium=rss
Linux 上查看系统/服务器运行时间的 11 种方法
你是否想知道自己的 Linux 系统正常运行了多长时间而没有宕机?系统是什么时候启动的?Media
via https://linux.cn/article-10443-1.html
你是否想知道自己的 Linux 系统正常运行了多长时间而没有宕机?系统是什么时候启动的?Media
via https://linux.cn/article-10443-1.html
Linux 上查看系统/服务器运行时间的 11 种方法
<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201901/15/100936fvejs5lsgwkws552.jpg">Media</a>你是否想知道自己的 Linux 系统正常运行了多长时间而没有宕机?系统是什么时候启动的?Linux 上有多个查看服务器/系统运行时间的命令,大多数用户喜欢使用标准并且很有名的 uptime 命令获取这些具体的信息。服务器的运行时间对一些用户来说不那么重要,但是当服务器运行诸如在线商城门户portal、网上银行门户等关键任务应用mission-critical applications时,它对于服务器管理员server adminstrators来说就至关重要。它必须做到零宕机,因为一旦停机就会影响到数百万用户。正如我所说,许多命令都可以让用户看到 Linux 服务器的运行时间。在这篇教程里我会教你如何使用下面 11 种方式来查看。正常运行时间uptime指的是服务器自从上次关闭或重启以来经过的时间。uptime 命令获取 /proc 文件中的详细信息并输出正常运行时间,而 /proc 文件并不适合人直接看。以下这些命令会输出系统运行和启动的时间。也会显示一些额外的信息。方法 1:使用 uptime 命令uptime 命令会告诉你系统运行了多长时间。它会用一行显示以下信息。当前时间、系统运行时间、当前登录用户的数量、过去 1 分钟/5 分钟/15 分钟系统负载的均值。<pre class="prettyprint linenums"># uptime 08:34:29 up 21 days, 5:46, 1 user, load average: 0.06, 0.04, 0.00</pre>方法 2:使用 w 命令w 命令为每个登录进系统的用户,每个用户当前所做的事情,所有活动…
<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201901/15/100936fvejs5lsgwkws552.jpg">Media</a>你是否想知道自己的 Linux 系统正常运行了多长时间而没有宕机?系统是什么时候启动的?Linux 上有多个查看服务器/系统运行时间的命令,大多数用户喜欢使用标准并且很有名的 uptime 命令获取这些具体的信息。服务器的运行时间对一些用户来说不那么重要,但是当服务器运行诸如在线商城门户portal、网上银行门户等关键任务应用mission-critical applications时,它对于服务器管理员server adminstrators来说就至关重要。它必须做到零宕机,因为一旦停机就会影响到数百万用户。正如我所说,许多命令都可以让用户看到 Linux 服务器的运行时间。在这篇教程里我会教你如何使用下面 11 种方式来查看。正常运行时间uptime指的是服务器自从上次关闭或重启以来经过的时间。uptime 命令获取 /proc 文件中的详细信息并输出正常运行时间,而 /proc 文件并不适合人直接看。以下这些命令会输出系统运行和启动的时间。也会显示一些额外的信息。方法 1:使用 uptime 命令uptime 命令会告诉你系统运行了多长时间。它会用一行显示以下信息。当前时间、系统运行时间、当前登录用户的数量、过去 1 分钟/5 分钟/15 分钟系统负载的均值。<pre class="prettyprint linenums"># uptime 08:34:29 up 21 days, 5:46, 1 user, load average: 0.06, 0.04, 0.00</pre>方法 2:使用 w 命令w 命令为每个登录进系统的用户,每个用户当前所做的事情,所有活动…
为什么 cat 命令查看文件不会修改 atime
首先,在只读文件系统上你根本不可能修改文件的 atime,更重要的是这增加了磁盘 IO 数量。Media
via https://linux.cn/article-10444-1.html
首先,在只读文件系统上你根本不可能修改文件的 atime,更重要的是这增加了磁盘 IO 数量。Media
via https://linux.cn/article-10444-1.html
为什么 cat 命令查看文件不会修改 atime
<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201901/15/110042y3esr3cvjjj0f0kr.jpg">Media</a>今天在 QQ 群里有人问了一个问题:“为什么用 cat 查看文件内容后不会修改它的 atime 呢?”我试了一下,发现真的是这样的!例如下面这个例子<pre class="prettyprint linenums">export LANG=Ccd /tmptmpfile=$(mktemp)echo "-------------------------------" >${tmpfile}stat ${tmpfile} |grep Accesssleep 5cat ${tmpfile}stat ${tmpfile} |grep Access</pre><pre class="prettyprint linenums">Access: (0600/-rw-------) Uid: ( 1000/lujun9972) Gid: ( 1000/lujun9972)Access: 2018-10-10 21:15:35.195471306 +0800-------------------------------Access: (0600/-rw-------) Uid: ( 1000/lujun9972) Gid: ( 1000/lujun9972)Access: 2018-10-10 21:15:40.198804743 +0800</pre>这跟我们所熟知的 atime(访问时间)的说法不一样啊。经过一番探查,最终从 <a href="https://en.m.wikipedia.org/wiki/Stat_(system_call)#Criticism_of_atime">Criticism of atime</a> 中发现了原因。根据 <a href="https://en.m.wikipedia.org/wiki/Stat_(system_call)#Criticism_of_atime">Criticism of atime</a> 的说法,读取文件要修改 atime 本身是一件很不合理的事情,因为要修改文件的 atime 就意味着要对磁盘进行写操作。首先,在只读文件系统上你根本不可能修改文件的 atime,更重要的是这增加了磁盘 IO 数量。为了提高磁盘性能,我们可以完全禁止 atime 的修改(参看 mount 的 --noatime 和 --nodiratime 选项),但这会破坏 POSIX 兼容性,而且某些备份软件需要通过对比 atime 和 mtime/ctime (修改时间/创建时间)的时间来判断是否需要进行备份。针对这个问题,Linux 内核 2.6.20 开始为 mount 引入了一个 --relatime 选项,并从 2.6.30 开始这一选项默认是开启的。当开启了 --relatime 选项后,只有当 atime < mtime 或 atime < ctime 时,才会去更新 atime。通过这种方式,一方面可以大幅度减少 atime 引起的磁盘写操作,另一方面又保证了备份软件不受到影响,…
<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201901/15/110042y3esr3cvjjj0f0kr.jpg">Media</a>今天在 QQ 群里有人问了一个问题:“为什么用 cat 查看文件内容后不会修改它的 atime 呢?”我试了一下,发现真的是这样的!例如下面这个例子<pre class="prettyprint linenums">export LANG=Ccd /tmptmpfile=$(mktemp)echo "-------------------------------" >${tmpfile}stat ${tmpfile} |grep Accesssleep 5cat ${tmpfile}stat ${tmpfile} |grep Access</pre><pre class="prettyprint linenums">Access: (0600/-rw-------) Uid: ( 1000/lujun9972) Gid: ( 1000/lujun9972)Access: 2018-10-10 21:15:35.195471306 +0800-------------------------------Access: (0600/-rw-------) Uid: ( 1000/lujun9972) Gid: ( 1000/lujun9972)Access: 2018-10-10 21:15:40.198804743 +0800</pre>这跟我们所熟知的 atime(访问时间)的说法不一样啊。经过一番探查,最终从 <a href="https://en.m.wikipedia.org/wiki/Stat_(system_call)#Criticism_of_atime">Criticism of atime</a> 中发现了原因。根据 <a href="https://en.m.wikipedia.org/wiki/Stat_(system_call)#Criticism_of_atime">Criticism of atime</a> 的说法,读取文件要修改 atime 本身是一件很不合理的事情,因为要修改文件的 atime 就意味着要对磁盘进行写操作。首先,在只读文件系统上你根本不可能修改文件的 atime,更重要的是这增加了磁盘 IO 数量。为了提高磁盘性能,我们可以完全禁止 atime 的修改(参看 mount 的 --noatime 和 --nodiratime 选项),但这会破坏 POSIX 兼容性,而且某些备份软件需要通过对比 atime 和 mtime/ctime (修改时间/创建时间)的时间来判断是否需要进行备份。针对这个问题,Linux 内核 2.6.20 开始为 mount 引入了一个 --relatime 选项,并从 2.6.30 开始这一选项默认是开启的。当开启了 --relatime 选项后,只有当 atime < mtime 或 atime < ctime 时,才会去更新 atime。通过这种方式,一方面可以大幅度减少 atime 引起的磁盘写操作,另一方面又保证了备份软件不受到影响,…
开源分布式数据库能否支撑银行海量非结构化数据应用?
随着柜面无纸化、“一站式”综合店员、人工智能等系统的陆续应用,各大商业银行也将全面实现网点智能化转型建设。Media
via https://linux.cn/article-10445-1.html
随着柜面无纸化、“一站式”综合店员、人工智能等系统的陆续应用,各大商业银行也将全面实现网点智能化转型建设。Media
via https://linux.cn/article-10445-1.html
开源分布式数据库能否支撑银行海量非结构化数据应用?
<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201901/15/112835ysm3czzmc6zjb2fo.jpg">Media</a>随着银行业务的拓展以及网点业务的需求量加大,在新一轮技术浪潮驱动下,各大商业银行也在纷纷推进智能网点的建设。其中,商业银行的柜面无纸化就是最先推进的业务之一。银行智慧化业务转型包括广发银行、民生银行在内的大型商业银行,已经于近几年陆续上线柜面无纸化业务,并开始在全国网点进行推广使用。今后,随着柜面无纸化、“一站式”综合店员、人工智能等系统的陆续应用,各大商业银行也将全面实现网点智能化转型建设。 “无纸化”业务作为商业银行的新一代应用业务,对于数据管理带来了新的挑战。针对银行在新一代柜面无纸化业务上的痛点需求,巨杉数据库在保证稳定安全的基础上,利用其所支持的非结构化存储、结构化事务、可弹性扩张、高可用、以及多数据中心灾备等能力,全面支持广发、民生银行的柜面无纸化业务,为业务带来巨大提升。金融级分布式数据库助力大型商业银行巨杉数据库(SequoiaDB)为底层数据引擎的分布式非结构化数据管理平台,已经在包括民生银行、广发银行在内的超过 50 家大型银行业务应用。在某大型股份制商业银行业务系统中,巨杉数据库总集群部署节点数达到 122 台物理服务器,部署๬…
<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201901/15/112835ysm3czzmc6zjb2fo.jpg">Media</a>随着银行业务的拓展以及网点业务的需求量加大,在新一轮技术浪潮驱动下,各大商业银行也在纷纷推进智能网点的建设。其中,商业银行的柜面无纸化就是最先推进的业务之一。银行智慧化业务转型包括广发银行、民生银行在内的大型商业银行,已经于近几年陆续上线柜面无纸化业务,并开始在全国网点进行推广使用。今后,随着柜面无纸化、“一站式”综合店员、人工智能等系统的陆续应用,各大商业银行也将全面实现网点智能化转型建设。 “无纸化”业务作为商业银行的新一代应用业务,对于数据管理带来了新的挑战。针对银行在新一代柜面无纸化业务上的痛点需求,巨杉数据库在保证稳定安全的基础上,利用其所支持的非结构化存储、结构化事务、可弹性扩张、高可用、以及多数据中心灾备等能力,全面支持广发、民生银行的柜面无纸化业务,为业务带来巨大提升。金融级分布式数据库助力大型商业银行巨杉数据库(SequoiaDB)为底层数据引擎的分布式非结构化数据管理平台,已经在包括民生银行、广发银行在内的超过 50 家大型银行业务应用。在某大型股份制商业银行业务系统中,巨杉数据库总集群部署节点数达到 122 台物理服务器,部署๬…
将旧的 Linux 台式机变成家庭媒体中心
重新利用过时的计算机来浏览互联网并在大屏电视上观看视频。<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201901/16/083919nakdodn7qbl78fqg.jpg">Media</a>我第一次尝试搭建一台“娱乐电脑”是在 20 世纪 90 年代后期,使用了一台带 Trident ProVidia 9685 PCI 显卡的普通旧台式电脑。我使用了所谓的“电视输出”卡,它有一个额外的输出可以连接到标准电视端子上。屏幕显示看起来不太好,而且没有音频输出。并且外观很丑:有一条 S-Video 线穿过了客厅地板连接到我的 19 英寸 Sony Trinitron CRT 电视机上。我在 Linux 和 Windows 98 上得到了同样令人遗憾的结果。在和那些看起来不对劲的系统挣扎之后,我放弃了几年。值得庆幸的是,如今的 HDMI 拥有更好的性能和标准化的分辨率,这使得廉价的家庭媒体中心成为现实。我的新媒体中心娱乐电脑实际上是我的旧 Ubuntu Linux 桌面,最近我用更快的电脑替换了它。这台电脑在工作中太慢,但是它的 3.4GHz 的 AMD Phenom II X4 965 处理器和 8GB 的 RAM 足以满足一般浏览和视频流的要求。以下是我让旧系统在新角色中发挥最佳性能所采取的步骤。硬件首先,我移除了不必要的设备,包括读卡器、硬盘驱动器、DVD 驱动器和后置 USB 卡,我添加了一块 PCI-Express 无线网卡。我将 Ubuntu 安装到单个固态硬盘 (SSD) 上,这可以切实提高任何旧系统的性能。BIOS在 BIOS 中,我禁用了所有未使用的设备,例如软盘和 IDE 驱动器控制器。我禁用了Ĉ…
重新利用过时的计算机来浏览互联网并在大屏电视上观看视频。<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201901/16/083919nakdodn7qbl78fqg.jpg">Media</a>我第一次尝试搭建一台“娱乐电脑”是在 20 世纪 90 年代后期,使用了一台带 Trident ProVidia 9685 PCI 显卡的普通旧台式电脑。我使用了所谓的“电视输出”卡,它有一个额外的输出可以连接到标准电视端子上。屏幕显示看起来不太好,而且没有音频输出。并且外观很丑:有一条 S-Video 线穿过了客厅地板连接到我的 19 英寸 Sony Trinitron CRT 电视机上。我在 Linux 和 Windows 98 上得到了同样令人遗憾的结果。在和那些看起来不对劲的系统挣扎之后,我放弃了几年。值得庆幸的是,如今的 HDMI 拥有更好的性能和标准化的分辨率,这使得廉价的家庭媒体中心成为现实。我的新媒体中心娱乐电脑实际上是我的旧 Ubuntu Linux 桌面,最近我用更快的电脑替换了它。这台电脑在工作中太慢,但是它的 3.4GHz 的 AMD Phenom II X4 965 处理器和 8GB 的 RAM 足以满足一般浏览和视频流的要求。以下是我让旧系统在新角色中发挥最佳性能所采取的步骤。硬件首先,我移除了不必要的设备,包括读卡器、硬盘驱动器、DVD 驱动器和后置 USB 卡,我添加了一块 PCI-Express 无线网卡。我将 Ubuntu 安装到单个固态硬盘 (SSD) 上,这可以切实提高任何旧系统的性能。BIOS在 BIOS 中,我禁用了所有未使用的设备,例如软盘和 IDE 驱动器控制器。我禁用了Ĉ…
2 的威力,Linux 的威力:终端中的 2048
正在寻找基于终端的游戏来打发时间么?来看看 2048-cli 吧。Media
via https://linux.cn/article-10447-1.html
正在寻找基于终端的游戏来打发时间么?来看看 2048-cli 吧。Media
via https://linux.cn/article-10447-1.html
2 的威力,Linux 的威力:终端中的 2048
正在寻找基于终端的游戏来打发时间么?来看看 2048-cli 吧。<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201901/16/085325rtbawhbxb55z1skk.png">Media</a>你好,欢迎来到今天的 Linux 命令行玩具日历。每天,我们会为你的终端带来一个不同的玩具:它可能是一个游戏或任何简单的消遣,可以帮助你获得乐趣。很可能你们中的一些人之前已经看过我们日历中的各种玩具,但我们希望每个人至少见到一件新事物。今天的玩具是我最喜欢的休闲游戏之一 <a href="https://github.com/gabrielecirulli/2048">2048</a> (它本身就是另外一个克隆品的克隆)的<a href="https://github.com/tiehuis/2048-cli">命令行版本</a>。要进行游戏,你只需将滑块向上、向下、向左、向右移动,组合成对的数字,并增加数值,直到你得到数字为 2048 的块。最吸引人的地方(以及挑战)是你不能只移动一个滑块,而是需要移动屏幕上的每一块。(LCTT 译注:不知道有没有人在我们 Linux 中国的网站上遇到过 <a href="https://linux.cn/404">404</a> 页面?那就是一个 2048 游戏,经常我错误地打开一个不存在的页面时,本应该去修复这个问题,却不小心沉迷于其中……)它简单、有趣,很容易在里面沉迷几个小时。这个 2048 的克隆 <a href="https://github.com/tiehuis/2048-cli">2048-cli</a> 是 Marc Tiehuis 用 C 编写的,并在 MIT 许可下开源。你可以在 <a href="https://github.com/tiehuis/2048-cli">GitHub</a> 上找到源代码,你也可在这找到适用于你的平台的安装说明。由于它已为 Fedora 打包,因此我来说,安装就像下面那Ċ…
正在寻找基于终端的游戏来打发时间么?来看看 2048-cli 吧。<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201901/16/085325rtbawhbxb55z1skk.png">Media</a>你好,欢迎来到今天的 Linux 命令行玩具日历。每天,我们会为你的终端带来一个不同的玩具:它可能是一个游戏或任何简单的消遣,可以帮助你获得乐趣。很可能你们中的一些人之前已经看过我们日历中的各种玩具,但我们希望每个人至少见到一件新事物。今天的玩具是我最喜欢的休闲游戏之一 <a href="https://github.com/gabrielecirulli/2048">2048</a> (它本身就是另外一个克隆品的克隆)的<a href="https://github.com/tiehuis/2048-cli">命令行版本</a>。要进行游戏,你只需将滑块向上、向下、向左、向右移动,组合成对的数字,并增加数值,直到你得到数字为 2048 的块。最吸引人的地方(以及挑战)是你不能只移动一个滑块,而是需要移动屏幕上的每一块。(LCTT 译注:不知道有没有人在我们 Linux 中国的网站上遇到过 <a href="https://linux.cn/404">404</a> 页面?那就是一个 2048 游戏,经常我错误地打开一个不存在的页面时,本应该去修复这个问题,却不小心沉迷于其中……)它简单、有趣,很容易在里面沉迷几个小时。这个 2048 的克隆 <a href="https://github.com/tiehuis/2048-cli">2048-cli</a> 是 Marc Tiehuis 用 C 编写的,并在 MIT 许可下开源。你可以在 <a href="https://github.com/tiehuis/2048-cli">GitHub</a> 上找到源代码,你也可在这找到适用于你的平台的安装说明。由于它已为 Fedora 打包,因此我来说,安装就像下面那Ċ…