如何列出在 Linux 上已启用/激活的仓库
<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201810/28/235306c9l9v687b4q62575.jpg">Media</a>有很多方法可以列出在 Linux 已启用的仓库。我们将在下面展示给你列出已激活仓库的简便方法。这有助于你知晓你的系统上都启用了哪些仓库。一旦你掌握了这些信息,你就可以添加任何之前还没有准备启用的仓库了。举个例子,如果你想启用 epel 仓库,你需要先检查它是否已经启用了。这篇教程将会帮助你做这件事情。什么是仓库?存储特定程序软件包的中枢位置就是一个软件仓库。所有的 Linux 发行版都在维护自己的仓库,而且允许用户下载并安装这些软件包到他们的机器上。每个仓库提供者都提供了一套包管理工具,用以管理他们的仓库,比如搜索、安装、更新、升级、移除等等。大多数 Linux 发行版都作为免费软件,除了 RHEL 和 SUSE,要访问他们的仓库你需要先购买订阅。<strong>建议阅读:</strong><a href="https://www.2daygeek.com/how-to-add-enable-disable-a-repository-dnf-yum-config-manager-on-linux/">在 Linux 上,如何通过 DNF/YUM 设置管理命令添加、启用、关闭一个仓库</a><a href="https://www.2daygeek.com/how-to-list-installed-packages-by-size-largest-on-linux/">在 Linux 上如何按大小列出已安装的包</a><a href="https://www.2daygeek.com/how-to-view-list-the-available-packages-updates-in-linux/">在 Linux 上如何列出升级的包</a><a href="https://www.2daygeek.com/how-to-view-a-particular-package-installed-updated-upgraded-removed-erased-date-on-linux/">在 Linux 上如何查看一个特定包安装/升级/更新/移除/清除的日期</a><a href="https://www.2daygeek.com/how-to-view-detailed-information-about-a-package-in-linux/">在 Linux 上如何查看一个包的详细信息</a><a href="https://www.2daygeek.com/how-to-search-if-a-package-is-available-on-your-linux…
<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201810/28/235306c9l9v687b4q62575.jpg">Media</a>有很多方法可以列出在 Linux 已启用的仓库。我们将在下面展示给你列出已激活仓库的简便方法。这有助于你知晓你的系统上都启用了哪些仓库。一旦你掌握了这些信息,你就可以添加任何之前还没有准备启用的仓库了。举个例子,如果你想启用 epel 仓库,你需要先检查它是否已经启用了。这篇教程将会帮助你做这件事情。什么是仓库?存储特定程序软件包的中枢位置就是一个软件仓库。所有的 Linux 发行版都在维护自己的仓库,而且允许用户下载并安装这些软件包到他们的机器上。每个仓库提供者都提供了一套包管理工具,用以管理他们的仓库,比如搜索、安装、更新、升级、移除等等。大多数 Linux 发行版都作为免费软件,除了 RHEL 和 SUSE,要访问他们的仓库你需要先购买订阅。<strong>建议阅读:</strong><a href="https://www.2daygeek.com/how-to-add-enable-disable-a-repository-dnf-yum-config-manager-on-linux/">在 Linux 上,如何通过 DNF/YUM 设置管理命令添加、启用、关闭一个仓库</a><a href="https://www.2daygeek.com/how-to-list-installed-packages-by-size-largest-on-linux/">在 Linux 上如何按大小列出已安装的包</a><a href="https://www.2daygeek.com/how-to-view-list-the-available-packages-updates-in-linux/">在 Linux 上如何列出升级的包</a><a href="https://www.2daygeek.com/how-to-view-a-particular-package-installed-updated-upgraded-removed-erased-date-on-linux/">在 Linux 上如何查看一个特定包安装/升级/更新/移除/清除的日期</a><a href="https://www.2daygeek.com/how-to-view-detailed-information-about-a-package-in-linux/">在 Linux 上如何查看一个包的详细信息</a><a href="https://www.2daygeek.com/how-to-search-if-a-package-is-available-on-your-linux…
如何在 Linux 上锁定虚拟控制台会话
我知道有个简单的技巧来锁定自己的会话,同时仍然允许其他用户在其他虚拟控制台上使用该系统。Media
via https://linux.cn/article-10169-1.html
我知道有个简单的技巧来锁定自己的会话,同时仍然允许其他用户在其他虚拟控制台上使用该系统。Media
via https://linux.cn/article-10169-1.html
如何在 Linux 上锁定虚拟控制台会话
<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201810/29/184916y0fikww5t8sh4z75.png">Media</a>当你在共享的系统上工作时,你可能不希望其他用户偷窥你的控制台中看你在做什么。如果是这样,我知道有个简单的技巧来锁定自己的会话,同时仍然允许其他用户在其他虚拟控制台上使用该系统。要感谢 <strong>Vlock</strong>(<strong>V</strong>irtual Console <strong>lock</strong>),这是一个命令行程序,用于锁定 Linux 控制台上的一个或多个会话。如有必要,你可以锁定整个控制台并完全禁用虚拟控制台切换功能。Vlock 对于有多个用户访问控制台的共享 Linux 系统特别有用。安装 Vlock在基于 Arch 的系统上,Vlock 软件包被替换为默认预安装的 <strong>kpd</strong> 包,因此你无需为安装烦恼。在 Debian、Ubuntu、Linux Mint 上,运行以下命令来安装 Vlock:<pre class="prettyprint linenums">$ sudo apt-get install vlock</pre>在 Fedora 上:<pre class="prettyprint linenums">$ sudo dnf install vlock</pre>在 RHEL、CentOS 上:<pre class="prettyprint linenums">$ sudo yum install vlock</pre>在 Linux 上锁定虚拟控制台会话Vlock 的一般语法是:<pre class="prettyprint linenums">vlock [ -acnshv ] [ -t <timeout> ] [ plugins... ]</pre>这里:a —— 锁定所有虚拟控制台会话,c —— 锁定当前虚拟控制台会话,n —— 在锁定所有会话之前切换到新的空控制台,s —— 禁用 SysRq 键机制,t —— 指定屏保插件的超时时间,h —— 显示帮助,v —— 显示版本。让我举几个例子。1、 锁定当前控制台会话在没有任何参数的情况下运行 Vlock 时,它默认锁定当前控制台会话 (TYY)。要解锁会话,你需要输入当前用户的密码或 root 密码。<pre class="prettyprint linenums">$ vlock</pre><a href="https://dn-linuxcn.qbox.me/data/atta…
<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201810/29/184916y0fikww5t8sh4z75.png">Media</a>当你在共享的系统上工作时,你可能不希望其他用户偷窥你的控制台中看你在做什么。如果是这样,我知道有个简单的技巧来锁定自己的会话,同时仍然允许其他用户在其他虚拟控制台上使用该系统。要感谢 <strong>Vlock</strong>(<strong>V</strong>irtual Console <strong>lock</strong>),这是一个命令行程序,用于锁定 Linux 控制台上的一个或多个会话。如有必要,你可以锁定整个控制台并完全禁用虚拟控制台切换功能。Vlock 对于有多个用户访问控制台的共享 Linux 系统特别有用。安装 Vlock在基于 Arch 的系统上,Vlock 软件包被替换为默认预安装的 <strong>kpd</strong> 包,因此你无需为安装烦恼。在 Debian、Ubuntu、Linux Mint 上,运行以下命令来安装 Vlock:<pre class="prettyprint linenums">$ sudo apt-get install vlock</pre>在 Fedora 上:<pre class="prettyprint linenums">$ sudo dnf install vlock</pre>在 RHEL、CentOS 上:<pre class="prettyprint linenums">$ sudo yum install vlock</pre>在 Linux 上锁定虚拟控制台会话Vlock 的一般语法是:<pre class="prettyprint linenums">vlock [ -acnshv ] [ -t <timeout> ] [ plugins... ]</pre>这里:a —— 锁定所有虚拟控制台会话,c —— 锁定当前虚拟控制台会话,n —— 在锁定所有会话之前切换到新的空控制台,s —— 禁用 SysRq 键机制,t —— 指定屏保插件的超时时间,h —— 显示帮助,v —— 显示版本。让我举几个例子。1、 锁定当前控制台会话在没有任何参数的情况下运行 Vlock 时,它默认锁定当前控制台会话 (TYY)。要解锁会话,你需要输入当前用户的密码或 root 密码。<pre class="prettyprint linenums">$ vlock</pre><a href="https://dn-linuxcn.qbox.me/data/atta…
如何移除或禁用 Ubuntu Dock
如果你想用其它 dock(例如 Plank dock)或面板来替换 Ubuntu 18.04 中的 Dock,或者你想要移除或禁用 Ubuntu Dock,本文会告诉你如何做。Media
via https://linux.cn/article-10170-1.html
如果你想用其它 dock(例如 Plank dock)或面板来替换 Ubuntu 18.04 中的 Dock,或者你想要移除或禁用 Ubuntu Dock,本文会告诉你如何做。Media
via https://linux.cn/article-10170-1.html
如何移除或禁用 Ubuntu Dock
<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201810/29/193718cfrnf5uwtczfq38n.png">Media</a>如果你想用其它 dock(例如 Plank dock)或面板来替换 Ubuntu 18.04 中的 Dock,或者你想要移除或禁用 Ubuntu Dock,本文会告诉你如何做。Ubuntu Dock - 屏幕左侧栏,可用于固定应用程序或访问已安装的应用程序。使用默认的 Ubuntu 会话时,<a href="https://bugs.launchpad.net/ubuntu/+source/gnome-tweak-tool/+bug/1713020">无法</a>使用 Gnome Tweaks 禁用它(禁用无效)。但是如果你需要,还是有几种方法来摆脱它的。下面我将列出 4 种方法可以移除或禁用 Ubuntu Dock,以及每个方法的缺点(如果有的话),还有如何撤销每个方法的更改。本文还包括在没有 Ubuntu Dock 的情况下访问活动概览Activities Overview和已安装应用程序列表的其它方法。如何在没有 Ubuntu Dock 的情况下访问活动概览如果没有 Ubuntu Dock,你可能无法访问活动的或已安装的应用程序列表(可以通过单击 Dock 底部的“显示应用程序”按钮从 Ubuntu Dock 访问)。例如,如果你想使用 Plank Dock 就是这样。显然,如果你安装了 Dash to Panel 扩展来替代 Ubuntu Dock,那么还好。因为 Dash to Panel 提供了一个按钮来访问活动概览或已安装的应用程序。根据你计划用来替代 Ubuntu Dock 的软件,如果无法访问活动概览,那么你可以启用“活动概览热角”选项,只需将鼠标移动到屏幕的左上角即可打开活动概览。访问已安装的应用程序列表的另一种方法是使用快捷键:Super + A。如果要启用“活动概览热角”,使用以下命令:<pre class="prettyprint linenums">gsettings set org.gnome.shell enable-hot…
<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201810/29/193718cfrnf5uwtczfq38n.png">Media</a>如果你想用其它 dock(例如 Plank dock)或面板来替换 Ubuntu 18.04 中的 Dock,或者你想要移除或禁用 Ubuntu Dock,本文会告诉你如何做。Ubuntu Dock - 屏幕左侧栏,可用于固定应用程序或访问已安装的应用程序。使用默认的 Ubuntu 会话时,<a href="https://bugs.launchpad.net/ubuntu/+source/gnome-tweak-tool/+bug/1713020">无法</a>使用 Gnome Tweaks 禁用它(禁用无效)。但是如果你需要,还是有几种方法来摆脱它的。下面我将列出 4 种方法可以移除或禁用 Ubuntu Dock,以及每个方法的缺点(如果有的话),还有如何撤销每个方法的更改。本文还包括在没有 Ubuntu Dock 的情况下访问活动概览Activities Overview和已安装应用程序列表的其它方法。如何在没有 Ubuntu Dock 的情况下访问活动概览如果没有 Ubuntu Dock,你可能无法访问活动的或已安装的应用程序列表(可以通过单击 Dock 底部的“显示应用程序”按钮从 Ubuntu Dock 访问)。例如,如果你想使用 Plank Dock 就是这样。显然,如果你安装了 Dash to Panel 扩展来替代 Ubuntu Dock,那么还好。因为 Dash to Panel 提供了一个按钮来访问活动概览或已安装的应用程序。根据你计划用来替代 Ubuntu Dock 的软件,如果无法访问活动概览,那么你可以启用“活动概览热角”选项,只需将鼠标移动到屏幕的左上角即可打开活动概览。访问已安装的应用程序列表的另一种方法是使用快捷键:Super + A。如果要启用“活动概览热角”,使用以下命令:<pre class="prettyprint linenums">gsettings set org.gnome.shell enable-hot…
命令行:增强版
<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201810/29/204617yz2aaxzfrlyc22nl.jpg">Media</a>我不确定有多少 Web 开发者能完全避免使用命令行。就我来说,我从 1997 年上大学就开始使用命令行了,那时的 l33t-hacker 让我着迷,同时我也觉得它很难掌握。过去这些年我的命令行本领在逐步加强,我经常会去搜寻工作中能用的更好的命令行工具。下面就是我现在使用的用于增强原有命令行工具的列表。怎么忽略我所做的命令行增强通常情况下我会用别名将新的增强的命令行工具覆盖原来的命令(如 cat 和 ping)。如果我需要运行原来的命令的话(有时我确实需要这么做),我会像下面这样来运行未加修改的原始命令。(我用的是 Mac,你的用法可能不一样)<pre class="prettyprint linenums">$ \cat # 忽略叫 "cat" 的别名 - 具体解释: https://stackoverflow.com/a/16506263/22617$ command cat # 忽略函数和别名</pre>bat > catcat 用于打印文件的内容,如果你平时用命令行很多的话,例如语法高亮之类的功能会非常有用。我首先发现了 <a href="https://github.com/jingweno/ccat">ccat</a> 这个有语法高亮功能的工具,然后我发现了 <a href="https://github.com/sharkdp/bat">bat</a>,它的功能有语法高亮、分页、行号和 git 集成。bat 命令也能让我在(多于一屏的)输出里使用 / 搜索(和用 less 搜索功能一样)。<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201810/29/204653xppy14y8y4zu6h7s.gif">Simple bat output</a>我将别名 cat 指到了 bat 命令:<pre class="prettyprint linenums">alias cat='bat'</pre><a href="https://github.com/sharkdp/bat">安装指引</a>prettyping > pingping 非常有用,当我碰到“糟了,是不是 X 挂了?/我的网不通了?”这种情况下我最先想到的工具就是它了。但是 prettyping(“prettyping” 可不是指“pre typing”)在 ping 的基础上加了友好的输出,这可让我感觉命令行友好了很多呢。<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201810/29/204655zcznq3x70xjexzv3.gif">prettyping</a>我也将 ping 用别名链接到了 prettyping 命令:<pre class="prettyprint linenums">alias ping='prettyping --nolegend'</pre><a href="http://denilson.sa.nom.br/prettyping/">安装指引</a>fzf > ctrl+r在终端里,使用 ctrl+r 将允许你在命令历史里<a href="https://lifehacker.com/278888/ctrl%252Br-to-search-and-other-terminal-history-tricks">反向搜索</a>使用过的命令,这是个挺好的小技巧,尽管它有点麻烦。fzf 这个工具相比于 ctrl+r 有了<strong>巨大的</strong>进步。它能针对命令行历史进行模糊查询,并且提供了对可能的合格结果进行全面交互式预览。除了搜索命令历史,fzf 还能预览和打开文件,我在下面的视频里展示了这些功能。为了这个预览的效果,我创建了一个叫 preview 的别名,它将 fzf 和前文提到的 bat 组合起来完成预览功能,还给上面绑定了一个定制的热键 ctrl+o 来打开 VS Code:<pre class="prettyprint linenums">alias preview="fzf --preview 'bat --color \"always\" {}'"# 支持在 VS Code 里用 ctrl+o 来打开选择的文件export FZF_DEFAULT_OPTS="--bind='ctrl-o:execute(code {})+abort'"</pre><a href="https://github.com/junegunn/fzf">安装指引</a>htop > toptop 是当我想快速诊断为什么机器上的 CPU 跑的那么累或者风扇为什么突然呼呼大做的时候首先会想到的工具。我在生产环境也会使用这个工具。讨厌的是 Mac 上的 top 和 Linux 上的 top 有着极大的不同(恕我直言,应该是差的多)。不过,htop 是对 Linux 上的 top 和 Mac 上蹩脚的 top 的极大改进。它增加了包括颜色输出,键盘热键绑定以及不同的视图输出,这对理解进程之间的父子关系有极大帮助。一些很容易上手的热键:P —— 按 CPU 使用率排序M —— 按内存使用排序F4 —— 用字符串过滤进程(例如只看包括 node 的进程)space —— 锚定一个单独进程,这样我能观察它是否有尖峰状态<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201810/29/204657hnfne1peg857gtdq.jpg">htop output</a>在 Mac Sierra 上 htop 有个奇怪的 bug,不过这个 bug 可以通过以 root 运行来绕过(我实在记不清这个 bug 是什么,但是这个别名能搞定它,有点讨厌的是我得每次都输入 root 密码。):<pre class="prettyprint linenums">alias top="sudo htop" # 给 top 加上别名并且绕过 Sierra 上的 bug</pre><a href="http://hisham.hm/htop/">安装指引</a>diff-so-fancy > diff我非常确定我是几年前从 Paul Irish 那儿学来的这个技巧,尽管我很少直接使用 diff,但我的 git 命令行会一直使用 diff。diff-so-fancy 给了我代码语法颜色和更改字符高亮的功能。<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201810/29/204658r8zajeo2b98ase4b.jpg">diff so fancy</a>在我的 ~/.gitconfig 文件里我用了下面的选项来打开 git diff 和 git show 的 diff-so-fancy 功能。<pre class="prettyprint linenums">[pager] diff = diff-so-fancy | less --tabs=1,5 -RFX show = diff-so-fancy | less --tabs=1,5 -RFX</pre><a href="https://github.com/so-fancy/diff-so-fancy">安装指引</a>fd > find尽管我使用 Mac,但我绝不是 Spotlight 的粉丝,我觉得它的性能很差,关键字也难记,加上更新它自己的数据库时会拖慢 CPU,简直一无是处。我经常使用 <a href="https://www.alfredapp.com/">Alfred</a>,但是它的搜索功能也不是很好。我倾向于在命令行中搜索文件,但是 find 的难用在于很难去记住那些合适的表达式来描述我想要的文件。(而且 Mac 上的 find 命令和非 Mac 的 find 命令还有些许不同,这更加深了我的失望。)fd 是一个很好的替代品(它的作者和 bat 的作者是同一个人)。它非常快而且对于我经常要搜索的命令非常好记。几个上手的例子:<pre class="prettyprint linenums">$ fd cli # 所有包含 "cli" 的文件名$ fd -e md # 所有以 .md 作为扩展名的文件$ fd cli -x wc -w # 搜索 "cli" 并且在每个搜索结果上运行 `wc -w`</pre><a href="https://dn-linuxcn.qbox.me/data/attachment/album/201810/29/204700varcm94gce19m91g.png">fd output</a><a href="https://github.com/sharkdp/fd/">安装指引</a>ncdu > du对我来说,知道当前磁盘空间被什么占用了非常重要。我用过 Mac 上的 <a href="https://daisydiskapp.com/">DaisyDisk</a>,但是我觉得那个程序产生结果有点慢。du -sh 命令是我经常会运行的命令(-sh 是指结果以“汇总…
<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201810/29/204617yz2aaxzfrlyc22nl.jpg">Media</a>我不确定有多少 Web 开发者能完全避免使用命令行。就我来说,我从 1997 年上大学就开始使用命令行了,那时的 l33t-hacker 让我着迷,同时我也觉得它很难掌握。过去这些年我的命令行本领在逐步加强,我经常会去搜寻工作中能用的更好的命令行工具。下面就是我现在使用的用于增强原有命令行工具的列表。怎么忽略我所做的命令行增强通常情况下我会用别名将新的增强的命令行工具覆盖原来的命令(如 cat 和 ping)。如果我需要运行原来的命令的话(有时我确实需要这么做),我会像下面这样来运行未加修改的原始命令。(我用的是 Mac,你的用法可能不一样)<pre class="prettyprint linenums">$ \cat # 忽略叫 "cat" 的别名 - 具体解释: https://stackoverflow.com/a/16506263/22617$ command cat # 忽略函数和别名</pre>bat > catcat 用于打印文件的内容,如果你平时用命令行很多的话,例如语法高亮之类的功能会非常有用。我首先发现了 <a href="https://github.com/jingweno/ccat">ccat</a> 这个有语法高亮功能的工具,然后我发现了 <a href="https://github.com/sharkdp/bat">bat</a>,它的功能有语法高亮、分页、行号和 git 集成。bat 命令也能让我在(多于一屏的)输出里使用 / 搜索(和用 less 搜索功能一样)。<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201810/29/204653xppy14y8y4zu6h7s.gif">Simple bat output</a>我将别名 cat 指到了 bat 命令:<pre class="prettyprint linenums">alias cat='bat'</pre><a href="https://github.com/sharkdp/bat">安装指引</a>prettyping > pingping 非常有用,当我碰到“糟了,是不是 X 挂了?/我的网不通了?”这种情况下我最先想到的工具就是它了。但是 prettyping(“prettyping” 可不是指“pre typing”)在 ping 的基础上加了友好的输出,这可让我感觉命令行友好了很多呢。<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201810/29/204655zcznq3x70xjexzv3.gif">prettyping</a>我也将 ping 用别名链接到了 prettyping 命令:<pre class="prettyprint linenums">alias ping='prettyping --nolegend'</pre><a href="http://denilson.sa.nom.br/prettyping/">安装指引</a>fzf > ctrl+r在终端里,使用 ctrl+r 将允许你在命令历史里<a href="https://lifehacker.com/278888/ctrl%252Br-to-search-and-other-terminal-history-tricks">反向搜索</a>使用过的命令,这是个挺好的小技巧,尽管它有点麻烦。fzf 这个工具相比于 ctrl+r 有了<strong>巨大的</strong>进步。它能针对命令行历史进行模糊查询,并且提供了对可能的合格结果进行全面交互式预览。除了搜索命令历史,fzf 还能预览和打开文件,我在下面的视频里展示了这些功能。为了这个预览的效果,我创建了一个叫 preview 的别名,它将 fzf 和前文提到的 bat 组合起来完成预览功能,还给上面绑定了一个定制的热键 ctrl+o 来打开 VS Code:<pre class="prettyprint linenums">alias preview="fzf --preview 'bat --color \"always\" {}'"# 支持在 VS Code 里用 ctrl+o 来打开选择的文件export FZF_DEFAULT_OPTS="--bind='ctrl-o:execute(code {})+abort'"</pre><a href="https://github.com/junegunn/fzf">安装指引</a>htop > toptop 是当我想快速诊断为什么机器上的 CPU 跑的那么累或者风扇为什么突然呼呼大做的时候首先会想到的工具。我在生产环境也会使用这个工具。讨厌的是 Mac 上的 top 和 Linux 上的 top 有着极大的不同(恕我直言,应该是差的多)。不过,htop 是对 Linux 上的 top 和 Mac 上蹩脚的 top 的极大改进。它增加了包括颜色输出,键盘热键绑定以及不同的视图输出,这对理解进程之间的父子关系有极大帮助。一些很容易上手的热键:P —— 按 CPU 使用率排序M —— 按内存使用排序F4 —— 用字符串过滤进程(例如只看包括 node 的进程)space —— 锚定一个单独进程,这样我能观察它是否有尖峰状态<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201810/29/204657hnfne1peg857gtdq.jpg">htop output</a>在 Mac Sierra 上 htop 有个奇怪的 bug,不过这个 bug 可以通过以 root 运行来绕过(我实在记不清这个 bug 是什么,但是这个别名能搞定它,有点讨厌的是我得每次都输入 root 密码。):<pre class="prettyprint linenums">alias top="sudo htop" # 给 top 加上别名并且绕过 Sierra 上的 bug</pre><a href="http://hisham.hm/htop/">安装指引</a>diff-so-fancy > diff我非常确定我是几年前从 Paul Irish 那儿学来的这个技巧,尽管我很少直接使用 diff,但我的 git 命令行会一直使用 diff。diff-so-fancy 给了我代码语法颜色和更改字符高亮的功能。<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201810/29/204658r8zajeo2b98ase4b.jpg">diff so fancy</a>在我的 ~/.gitconfig 文件里我用了下面的选项来打开 git diff 和 git show 的 diff-so-fancy 功能。<pre class="prettyprint linenums">[pager] diff = diff-so-fancy | less --tabs=1,5 -RFX show = diff-so-fancy | less --tabs=1,5 -RFX</pre><a href="https://github.com/so-fancy/diff-so-fancy">安装指引</a>fd > find尽管我使用 Mac,但我绝不是 Spotlight 的粉丝,我觉得它的性能很差,关键字也难记,加上更新它自己的数据库时会拖慢 CPU,简直一无是处。我经常使用 <a href="https://www.alfredapp.com/">Alfred</a>,但是它的搜索功能也不是很好。我倾向于在命令行中搜索文件,但是 find 的难用在于很难去记住那些合适的表达式来描述我想要的文件。(而且 Mac 上的 find 命令和非 Mac 的 find 命令还有些许不同,这更加深了我的失望。)fd 是一个很好的替代品(它的作者和 bat 的作者是同一个人)。它非常快而且对于我经常要搜索的命令非常好记。几个上手的例子:<pre class="prettyprint linenums">$ fd cli # 所有包含 "cli" 的文件名$ fd -e md # 所有以 .md 作为扩展名的文件$ fd cli -x wc -w # 搜索 "cli" 并且在每个搜索结果上运行 `wc -w`</pre><a href="https://dn-linuxcn.qbox.me/data/attachment/album/201810/29/204700varcm94gce19m91g.png">fd output</a><a href="https://github.com/sharkdp/fd/">安装指引</a>ncdu > du对我来说,知道当前磁盘空间被什么占用了非常重要。我用过 Mac 上的 <a href="https://daisydiskapp.com/">DaisyDisk</a>,但是我觉得那个程序产生结果有点慢。du -sh 命令是我经常会运行的命令(-sh 是指结果以“汇总…
用这个漂亮的工具将方程式截图迅速转换为 LaTeX
Mathpix 是一个漂亮的小工具,它允许你截取复杂数学方程式的截图,并立即将其转换为 LaTeX 可编辑文本。Media
via https://linux.cn/article-10172-1.html
Mathpix 是一个漂亮的小工具,它允许你截取复杂数学方程式的截图,并立即将其转换为 LaTeX 可编辑文本。Media
via https://linux.cn/article-10172-1.html
理解 Linux 链接(一)
链接是可以将文件和目录放在你希望它们放在的位置的另一种方式。<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201810/30/235607uc4dohmhoal96u28.jpg">Media</a>除了 cp 和 mv 这两个我们在<a href="https://www.linux.com/blog/2018/8/linux-beginners-moving-things-around">本系列的前一部分</a>中详细讨论过的,链接是可以将文件和目录放在你希望它们放在的位置的另一种方式。它的优点是可以让你同时在多个位置显示一个文件或目录。如前所述,在物理磁盘这个级别上,文件和目录之类的东西并不真正存在。文件系统是为了方便人类使用,将它们虚构出来。但在磁盘级别上,有一个名为分区表partition table的东西,它位于每个分区的开头,然后数据分散在磁盘的其余部分。虽然有不同类型的分区表,但是在分区开头的那个表包含的数据将映射每个目录和文件的开始和结束位置。分区表的就像一个索引:当从磁盘加载文件时,操作系统会查找表中的条目,分区表会告诉文件在磁盘上的起始位置和结束位置。然后磁盘头移动到起点,读取数据,直到它到达终点,您看:这就是你的文件。硬链接硬链接只是分区表中的一个条目,它指向磁盘上的某个区域,表示该区域<strong>已经被分配给文件</strong>。换句话说,硬链接指向已经被另一个条目索引的数据。让我们看看它是如何工作的。打开终端,创建一个实验目录并进入:<pre class="prettyprint linenums">mkdir test_dircd test_dir</pre>使用 <a href="https://www.linux.com/…
链接是可以将文件和目录放在你希望它们放在的位置的另一种方式。<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201810/30/235607uc4dohmhoal96u28.jpg">Media</a>除了 cp 和 mv 这两个我们在<a href="https://www.linux.com/blog/2018/8/linux-beginners-moving-things-around">本系列的前一部分</a>中详细讨论过的,链接是可以将文件和目录放在你希望它们放在的位置的另一种方式。它的优点是可以让你同时在多个位置显示一个文件或目录。如前所述,在物理磁盘这个级别上,文件和目录之类的东西并不真正存在。文件系统是为了方便人类使用,将它们虚构出来。但在磁盘级别上,有一个名为分区表partition table的东西,它位于每个分区的开头,然后数据分散在磁盘的其余部分。虽然有不同类型的分区表,但是在分区开头的那个表包含的数据将映射每个目录和文件的开始和结束位置。分区表的就像一个索引:当从磁盘加载文件时,操作系统会查找表中的条目,分区表会告诉文件在磁盘上的起始位置和结束位置。然后磁盘头移动到起点,读取数据,直到它到达终点,您看:这就是你的文件。硬链接硬链接只是分区表中的一个条目,它指向磁盘上的某个区域,表示该区域<strong>已经被分配给文件</strong>。换句话说,硬链接指向已经被另一个条目索引的数据。让我们看看它是如何工作的。打开终端,创建一个实验目录并进入:<pre class="prettyprint linenums">mkdir test_dircd test_dir</pre>使用 <a href="https://www.linux.com/…
如何在 Linux 中一次重命名多个文件
在本教程中,我们将学习使用 Linux 中的 mmv 命令一次重命名多个文件。 此命令用于在类 Unix 操作系统中使用标准通配符批量移动、复制、追加和重命名文件。Media
via https://linux.cn/article-10174-1.html
在本教程中,我们将学习使用 Linux 中的 mmv 命令一次重命名多个文件。 此命令用于在类 Unix 操作系统中使用标准通配符批量移动、复制、追加和重命名文件。Media
via https://linux.cn/article-10174-1.html
如何在 Linux 中一次重命名多个文件
<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201810/31/092758rlc51ctl3tlcr9cl.png">Media</a>你可能已经知道,我们使用 mv 命令在类 Unix 操作系统中重命名或者移动文件和目录。 但是,mv 命令不支持一次重命名多个文件。 不用担心。 在本教程中,我们将学习使用 Linux 中的 mmv 命令一次重命名多个文件。 此命令用于在类 Unix 操作系统中使用标准通配符批量移动、复制、追加和重命名文件。在 Linux 中一次重命名多个文件mmv 程序可在基于 Debian 的系统的默认仓库中使用。 要想在 Debian、Ubuntu、Linux Mint 上安装它,请运行以下命令:<pre class="prettyprint linenums">$ sudo apt-get install mmv</pre>我们假设你在当前目录中有以下文件。<pre class="prettyprint linenums">$ lsa1.txt a2.txt a3.txt</pre>现在,你想要将所有以字母 “a” 开头的文件重命名为以 “b” 开头的。 当然,你可以在几秒钟内手动执行此操作。 但是想想你是否有数百个文件想要重命名? 这是一个非常耗时的过程。 这时候 mmv 命令就很有帮助了。要将所有以字母 “a” 开头的文件重命名为以字母 “b” 开头的,只需要运行:<pre class="prettyprint linenums">$ mmv a\* b\#1</pre>让我们检查一下文件是否都已经重命名了。<pre class="prettyprint linenums">$ lsb1.txt b2.txt b3.txt</pre>如你所见,所有以字母 “a” 开头的文件(即 a1.txt、a2.txt、a3.txt)都重命名为 b1.txt、b2.txt、b3.txt。<strong>解释</strong>在上面的例子中,第一个参数(a\*)是 “from” 模式,第二个参数是 “to” 模式(b\#1)。根据上面的例子,mmv 将查找任何以字母 “a” 开头的文件名,并根据第二个参数重命名匹配的…
<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201810/31/092758rlc51ctl3tlcr9cl.png">Media</a>你可能已经知道,我们使用 mv 命令在类 Unix 操作系统中重命名或者移动文件和目录。 但是,mv 命令不支持一次重命名多个文件。 不用担心。 在本教程中,我们将学习使用 Linux 中的 mmv 命令一次重命名多个文件。 此命令用于在类 Unix 操作系统中使用标准通配符批量移动、复制、追加和重命名文件。在 Linux 中一次重命名多个文件mmv 程序可在基于 Debian 的系统的默认仓库中使用。 要想在 Debian、Ubuntu、Linux Mint 上安装它,请运行以下命令:<pre class="prettyprint linenums">$ sudo apt-get install mmv</pre>我们假设你在当前目录中有以下文件。<pre class="prettyprint linenums">$ lsa1.txt a2.txt a3.txt</pre>现在,你想要将所有以字母 “a” 开头的文件重命名为以 “b” 开头的。 当然,你可以在几秒钟内手动执行此操作。 但是想想你是否有数百个文件想要重命名? 这是一个非常耗时的过程。 这时候 mmv 命令就很有帮助了。要将所有以字母 “a” 开头的文件重命名为以字母 “b” 开头的,只需要运行:<pre class="prettyprint linenums">$ mmv a\* b\#1</pre>让我们检查一下文件是否都已经重命名了。<pre class="prettyprint linenums">$ lsb1.txt b2.txt b3.txt</pre>如你所见,所有以字母 “a” 开头的文件(即 a1.txt、a2.txt、a3.txt)都重命名为 b1.txt、b2.txt、b3.txt。<strong>解释</strong>在上面的例子中,第一个参数(a\*)是 “from” 模式,第二个参数是 “to” 模式(b\#1)。根据上面的例子,mmv 将查找任何以字母 “a” 开头的文件名,并根据第二个参数重命名匹配的…
MidnightBSD 发布 1.0!
Lucas 创建了 MightnightBSD,这成为桌面用户和 BSD 新手的一个选择。他想创造一个能让人们快速体验 BSD 桌面的东西。他认为其他发行版过于关注服务器市场。Media
via https://linux.cn/article-10175-1.html
Lucas 创建了 MightnightBSD,这成为桌面用户和 BSD 新手的一个选择。他想创造一个能让人们快速体验 BSD 桌面的东西。他认为其他发行版过于关注服务器市场。Media
via https://linux.cn/article-10175-1.html
MidnightBSD 发布 1.0!
几天前,Lucas Holt 宣布发布 MidnightBSD 1.0。让我们快速看一下这个新版本中包含的内容。什么是 MidnightBSD?<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201810/31/093807l88xtkvfcqob3tlk.jpg">MidnightBSD</a><a href="https://www.midnightbsd.org/">MidnightBSD</a> 是 FreeBSD 的一个分支。Lucas 创建了 MightnightBSD,这成为桌面用户和 BSD 新手的一个选择。他想创造一个能让人们快速体验 BSD 桌面的东西。他认为其他发行版过于关注服务器市场。MidnightBSD 1.0 中有什么?根据<a href="https://www.midnightbsd.org/notes/">发布说明</a>(<a href="https://www.youtube.com/embed/-rlk2wFsjJ4">视频</a>),1.0 中的大部分工作都是更新基础系统,改进包管理器和更新工具。新版本与 FreeBSD 10-Stable 兼容。Mports(MidnightBSD 的包管理系统)已经升级支持使用一个命令安装多个包。<code>mport upgrade</code> 命令已经修复。Mports 现在会跟踪已弃用和过期的包。它还引入了新的包格式。其他变化包括:现在支持 <a href="https://itsfoss.com/what-is-zfs/">ZFS</a> 作为启动文件系统。以前,ZFS 只能用于附加存储。 * 支持 NVME SSD。 * AMD Ryzen 和 Radeon 的支持得到了改善。 * Intel、Broadcom 和其他驱动程序已更新。 * 已从 FreeBSD 移植 bhyve 支持。 * 传感器框架已被删除,因为它导致锁定问题。 * 删除了 Sudo 并用 OpenBSD 中的 <a href="https://man.openbsd.org/doas">doas</a> 替换。 * 增加了对 Microsoft hyper-v 的支持。升级之前如果你当前是 MidnightBSD 的用户或正在考虑尝试新版本,那么还是再等一会。Lucas 目前正在重建软件包以支持新的软件包格式和工具。他还计划在未来几个月内升级软件包和移植桌面环境。他目前正致力于移植 Firefox 52 ESR,因为它是最后一È…
几天前,Lucas Holt 宣布发布 MidnightBSD 1.0。让我们快速看一下这个新版本中包含的内容。什么是 MidnightBSD?<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201810/31/093807l88xtkvfcqob3tlk.jpg">MidnightBSD</a><a href="https://www.midnightbsd.org/">MidnightBSD</a> 是 FreeBSD 的一个分支。Lucas 创建了 MightnightBSD,这成为桌面用户和 BSD 新手的一个选择。他想创造一个能让人们快速体验 BSD 桌面的东西。他认为其他发行版过于关注服务器市场。MidnightBSD 1.0 中有什么?根据<a href="https://www.midnightbsd.org/notes/">发布说明</a>(<a href="https://www.youtube.com/embed/-rlk2wFsjJ4">视频</a>),1.0 中的大部分工作都是更新基础系统,改进包管理器和更新工具。新版本与 FreeBSD 10-Stable 兼容。Mports(MidnightBSD 的包管理系统)已经升级支持使用一个命令安装多个包。<code>mport upgrade</code> 命令已经修复。Mports 现在会跟踪已弃用和过期的包。它还引入了新的包格式。其他变化包括:现在支持 <a href="https://itsfoss.com/what-is-zfs/">ZFS</a> 作为启动文件系统。以前,ZFS 只能用于附加存储。 * 支持 NVME SSD。 * AMD Ryzen 和 Radeon 的支持得到了改善。 * Intel、Broadcom 和其他驱动程序已更新。 * 已从 FreeBSD 移植 bhyve 支持。 * 传感器框架已被删除,因为它导致锁定问题。 * 删除了 Sudo 并用 OpenBSD 中的 <a href="https://man.openbsd.org/doas">doas</a> 替换。 * 增加了对 Microsoft hyper-v 的支持。升级之前如果你当前是 MidnightBSD 的用户或正在考虑尝试新版本,那么还是再等一会。Lucas 目前正在重建软件包以支持新的软件包格式和工具。他还计划在未来几个月内升级软件包和移植桌面环境。他目前正致力于移植 Firefox 52 ESR,因为它是最后一È…
用 350 行代码从零开始,将 Lisp 编译成 JavaScript
我们将会在本篇文章中看到从零开始实现的编译器,将简单的类 LISP 计算语言编译成 JavaScript。Media
via https://linux.cn/article-10176-1.html
我们将会在本篇文章中看到从零开始实现的编译器,将简单的类 LISP 计算语言编译成 JavaScript。Media
via https://linux.cn/article-10176-1.html
用 350 行代码从零开始,将 Lisp 编译成 JavaScript
<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201810/31/101755m9sy6j1zdhzh9gh2.jpg">Media</a>我们将会在本篇文章中看到从零开始实现的编译器,将简单的类 LISP 计算语言编译成 JavaScript。完整的源代码在 <a href="https://gist.github.com/soupi/d4ff0727ccb739045fad6cdf533ca7dd">这里</a>。我们将会:自定义语言,并用它编写一个简单的程序实现一个简单的解析器组合器为该语言实现一个解析器为该语言实现一个美观的打印器为我们的用途定义 JavaScript 的一个子集实现代码转译器,将代码转译成我们定义的 JavaScript 子集把所有东西整合在一起开始吧!1、定义语言Lisp 族语言最迷人的地方在于,它们的语法就是树状表示的,这就是这门语言很容易解析的原因。我们很快就能接触到它。但首先让我们把自己的语言定义好。关于我们语言的语法的范式(BNF)描述如下:<pre class="prettyprint linenums">program ::= exprexpr ::= <integer> | <name> | ([<expr>])</pre>基本上,我们可以在该语言的最顶层定义表达式并对其进行运算。表达式由一个整数(比如 5)、一个变量(比如 x)或者一个表达式列表(比如 (add x 1))组成。整数对应它本身的值,变量对应它在当前环境中绑定的值,表达式列表对应一个函数调用,该列表的第一个参数是相应的函数,剩下的表达式是传递给这个函数的参数。该语言中,我们保留一些内建的特殊形式,这样我们就能做一些更有意思的事情:let 表达式使我们可以在它的 body 环境中引入新…
<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201810/31/101755m9sy6j1zdhzh9gh2.jpg">Media</a>我们将会在本篇文章中看到从零开始实现的编译器,将简单的类 LISP 计算语言编译成 JavaScript。完整的源代码在 <a href="https://gist.github.com/soupi/d4ff0727ccb739045fad6cdf533ca7dd">这里</a>。我们将会:自定义语言,并用它编写一个简单的程序实现一个简单的解析器组合器为该语言实现一个解析器为该语言实现一个美观的打印器为我们的用途定义 JavaScript 的一个子集实现代码转译器,将代码转译成我们定义的 JavaScript 子集把所有东西整合在一起开始吧!1、定义语言Lisp 族语言最迷人的地方在于,它们的语法就是树状表示的,这就是这门语言很容易解析的原因。我们很快就能接触到它。但首先让我们把自己的语言定义好。关于我们语言的语法的范式(BNF)描述如下:<pre class="prettyprint linenums">program ::= exprexpr ::= <integer> | <name> | ([<expr>])</pre>基本上,我们可以在该语言的最顶层定义表达式并对其进行运算。表达式由一个整数(比如 5)、一个变量(比如 x)或者一个表达式列表(比如 (add x 1))组成。整数对应它本身的值,变量对应它在当前环境中绑定的值,表达式列表对应一个函数调用,该列表的第一个参数是相应的函数,剩下的表达式是传递给这个函数的参数。该语言中,我们保留一些内建的特殊形式,这样我们就能做一些更有意思的事情:let 表达式使我们可以在它的 body 环境中引入新…
重启和关闭 Linux 系统的 6 个终端命令
对于 Linux 管理员来说,重启和关闭系统是其诸多风险操作中的一例,有时候,由于某些原因,这些操作可能无法挽回,他们需要更多的时间来排查问题。Media
via https://linux.cn/article-10177-1.html
对于 Linux 管理员来说,重启和关闭系统是其诸多风险操作中的一例,有时候,由于某些原因,这些操作可能无法挽回,他们需要更多的时间来排查问题。Media
via https://linux.cn/article-10177-1.html
重启和关闭 Linux 系统的 6 个终端命令
<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201810/31/205455k6w9oawuwpbifku9.png">Media</a>在 Linux 管理员的日程当中,有很多需要执行的任务,其中就有系统的重启和关闭。对于 Linux 管理员来说,重启和关闭系统是其诸多风险操作中的一例,有时候,由于某些原因,这些操作可能无法挽回,他们需要更多的时间来排查问题。在 Linux 命令行模式下我们可以执行这些任务。很多时候,由于熟悉命令行,Linux 管理员更倾向于在命令行下完成这些任务。重启和关闭系统的 Linux 命令并不多,用户需要根据需要,选择合适的命令来完成任务。以下所有命令都有其自身特点,并允许被 Linux 管理员使用.<strong>建议阅读:</strong><a href="https://www.2daygeek.com/11-methods-to-find-check-system-server-uptime-in-linux/">查看系统/服务器正常运行时间的 11 个方法</a><a href="https://www.2daygeek.com/tuptime-a-tool-to-report-the-historical-and-statistical-running-time-of-linux-system/">Tuptime 一款为 Linux 系统保存历史记录、统计运行时间工具</a>系统重启和关闭之始,会通知所有已登录的用户和进程。当然,如果使用了时间参数,系统将拒绝新的用户登入。执行此类操作之前,我建议您坚持复查,因为您只能得到很少的提示来确保这一切顺利。下面陈列了一些步骤:确保您拥有一个可以处理故障的控制台,以防之后可能会发生的问题。 VMWare 可以访问虚拟机,而 IPMI、iLO 和 iDRAC 可以访问物理服务器。您需要通过公司的流程,申请修改或故障的执行权直到得到许可。为安…
<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201810/31/205455k6w9oawuwpbifku9.png">Media</a>在 Linux 管理员的日程当中,有很多需要执行的任务,其中就有系统的重启和关闭。对于 Linux 管理员来说,重启和关闭系统是其诸多风险操作中的一例,有时候,由于某些原因,这些操作可能无法挽回,他们需要更多的时间来排查问题。在 Linux 命令行模式下我们可以执行这些任务。很多时候,由于熟悉命令行,Linux 管理员更倾向于在命令行下完成这些任务。重启和关闭系统的 Linux 命令并不多,用户需要根据需要,选择合适的命令来完成任务。以下所有命令都有其自身特点,并允许被 Linux 管理员使用.<strong>建议阅读:</strong><a href="https://www.2daygeek.com/11-methods-to-find-check-system-server-uptime-in-linux/">查看系统/服务器正常运行时间的 11 个方法</a><a href="https://www.2daygeek.com/tuptime-a-tool-to-report-the-historical-and-statistical-running-time-of-linux-system/">Tuptime 一款为 Linux 系统保存历史记录、统计运行时间工具</a>系统重启和关闭之始,会通知所有已登录的用户和进程。当然,如果使用了时间参数,系统将拒绝新的用户登入。执行此类操作之前,我建议您坚持复查,因为您只能得到很少的提示来确保这一切顺利。下面陈列了一些步骤:确保您拥有一个可以处理故障的控制台,以防之后可能会发生的问题。 VMWare 可以访问虚拟机,而 IPMI、iLO 和 iDRAC 可以访问物理服务器。您需要通过公司的流程,申请修改或故障的执行权直到得到许可。为安…
Linux 中国通证商城发布
这次上线的“Linux 中国通证商城”—— https://shop.linux.cn ,是基于 WooCommerce 所构建的,并专门自行开发了支持 ERC20 通证的插件,以支持我们的 LCCN 通证的链上支付。Media
via https://linux.cn/article-10178-1.html
这次上线的“Linux 中国通证商城”—— https://shop.linux.cn ,是基于 WooCommerce 所构建的,并专门自行开发了支持 ERC20 通证的插件,以支持我们的 LCCN 通证的链上支付。Media
via https://linux.cn/article-10178-1.html
Linux 中国通证商城发布
<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201811/01/120610ylpd9pklyiqz1gll.jpg">Media</a>在我们发布了 Linux 中国的<a href="https://linux.cn/article-9886-1.html">社区通证 LCCN</a> 之后,我们又在通证经济建设方向迈出了一步。通证作为一个经济体系中流转的价值凭证,其不但可以根据社区成员的行为进行精细的通证分发,而且还需要建立通证的流通渠道。按照我们之前的设计,我们流通 LCCN 的通道有二:社区提供通证的 B2C 消费渠道通证持有者个人的通证消费渠道作为社区,我们可以将社区所拥有的大部分资源,比如媒体资源、客户置换资源、定制礼品等以 LCCN 兑换的方式提供给社区成员。比如这次,我们就将官方网站的广告位、认证微信的文章推送、认证微博的转发等资源开放给社区来兑换。我们也同时将从合作伙伴中置换和赞助来的资源(如兑换券、书籍等)。此外,我们也小规模组织了二手物品的交换群,可供大家用 LCCN 交换其他人手中的闲置物品。目前已经发生了多笔交易,交易了包括手机、树莓派、书籍等物品,最高交易额高达 Ⓛ28800。<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201811/01/115719nkaaaavjla9rkci0.jpg">Media</a>这次上线的“Linux 中国通证商城”—— <a href="https://shop.linux.cn">https://shop.linux.cn</a> ,是基于 WooCommerce 所构建的,并专门自行开发了支持 ERC20 通证的插件,以支持我们的 LCCN 通证的链上支付。当然,作为开源社区,我们的插件同样遵循开源精神,开源到了 <a href="https://github.com/inKerk/woocommerce-erc20-payment-gateway">GitHub</a> 上。我们&…
<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201811/01/120610ylpd9pklyiqz1gll.jpg">Media</a>在我们发布了 Linux 中国的<a href="https://linux.cn/article-9886-1.html">社区通证 LCCN</a> 之后,我们又在通证经济建设方向迈出了一步。通证作为一个经济体系中流转的价值凭证,其不但可以根据社区成员的行为进行精细的通证分发,而且还需要建立通证的流通渠道。按照我们之前的设计,我们流通 LCCN 的通道有二:社区提供通证的 B2C 消费渠道通证持有者个人的通证消费渠道作为社区,我们可以将社区所拥有的大部分资源,比如媒体资源、客户置换资源、定制礼品等以 LCCN 兑换的方式提供给社区成员。比如这次,我们就将官方网站的广告位、认证微信的文章推送、认证微博的转发等资源开放给社区来兑换。我们也同时将从合作伙伴中置换和赞助来的资源(如兑换券、书籍等)。此外,我们也小规模组织了二手物品的交换群,可供大家用 LCCN 交换其他人手中的闲置物品。目前已经发生了多笔交易,交易了包括手机、树莓派、书籍等物品,最高交易额高达 Ⓛ28800。<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201811/01/115719nkaaaavjla9rkci0.jpg">Media</a>这次上线的“Linux 中国通证商城”—— <a href="https://shop.linux.cn">https://shop.linux.cn</a> ,是基于 WooCommerce 所构建的,并专门自行开发了支持 ERC20 通证的插件,以支持我们的 LCCN 通证的链上支付。当然,作为开源社区,我们的插件同样遵循开源精神,开源到了 <a href="https://github.com/inKerk/woocommerce-erc20-payment-gateway">GitHub</a> 上。我们&…