如何移除或禁用 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> 上。我们&…
用 Pandoc 生成一篇调研论文
学习如何用 Markdown 管理章节引用、图像、表格以及更多。<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201811/01/130402un9z690xd92o60ik.jpg">Media</a>这篇文章对于使用 <a href="https://en.wikipedia.org/wiki/Markdown">Markdown</a> 语法做一篇调研论文进行了一个深度体验。覆盖了如何创建和引用章节、图像(用 Markdown 和 <a href="https://www.latex-project.org/">LaTeX</a>)和参考书目。我们也讨论了一些棘手的案例和为什么使用 LaTex 是一个正确的做法。调研调研论文一般包括对章节、图像、表格和参考书目的引用。<a href="https://pandoc.org/">Pandoc</a> 本身并不能交叉引用这些,但是它能够利用 <a href="http://lierdakil.github.io/pandoc-crossref/">pandoc-crossref</a> 过滤器来完成自动编号和章节、图像、表格的交叉引用。让我们从重写原本以 LaTax 撰写的 <a href="https://dl.acm.org/citation.cfm?id=3270118">一个教育调研报告的例子</a> 开始,然后用 Markdown(和一些 LaTax)、Pandoc 和 Pandoc-crossref 重写。添加并引用章节要想章节被自动编号,必须使用 Markdown H1 标题编写。子章节使用 H2-H4 子标题编写(通常不需要更多级别了)。例如一个章节的标题是 “Implementation”,写作 # Implementation {#sec: implementation},然后 Pandoc 会把它转化为 3. Implementation(或者转换为相应的章节编号)。Implementation 这个标题使用了 H1 并且声明了一个 {#sec: implementation} 的标签,这是作者用于引用该章节的标签。要想引用一个章节,输入 @ 符号并跟上对应章节标签,使用方括号括起来即可: [@ sec:implementation]<a href="https://dl.acm.org/citation.cfm?id=3270118">在这篇论文中</a>, 我们发现了下面这个例子:<pre class="prettyprint linenums">we lack experience (consistency between TAs, [@sec:implementation]).</pre>Pandoc 转换:<pre class="prettyprint…
学习如何用 Markdown 管理章节引用、图像、表格以及更多。<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201811/01/130402un9z690xd92o60ik.jpg">Media</a>这篇文章对于使用 <a href="https://en.wikipedia.org/wiki/Markdown">Markdown</a> 语法做一篇调研论文进行了一个深度体验。覆盖了如何创建和引用章节、图像(用 Markdown 和 <a href="https://www.latex-project.org/">LaTeX</a>)和参考书目。我们也讨论了一些棘手的案例和为什么使用 LaTex 是一个正确的做法。调研调研论文一般包括对章节、图像、表格和参考书目的引用。<a href="https://pandoc.org/">Pandoc</a> 本身并不能交叉引用这些,但是它能够利用 <a href="http://lierdakil.github.io/pandoc-crossref/">pandoc-crossref</a> 过滤器来完成自动编号和章节、图像、表格的交叉引用。让我们从重写原本以 LaTax 撰写的 <a href="https://dl.acm.org/citation.cfm?id=3270118">一个教育调研报告的例子</a> 开始,然后用 Markdown(和一些 LaTax)、Pandoc 和 Pandoc-crossref 重写。添加并引用章节要想章节被自动编号,必须使用 Markdown H1 标题编写。子章节使用 H2-H4 子标题编写(通常不需要更多级别了)。例如一个章节的标题是 “Implementation”,写作 # Implementation {#sec: implementation},然后 Pandoc 会把它转化为 3. Implementation(或者转换为相应的章节编号)。Implementation 这个标题使用了 H1 并且声明了一个 {#sec: implementation} 的标签,这是作者用于引用该章节的标签。要想引用一个章节,输入 @ 符号并跟上对应章节标签,使用方括号括起来即可: [@ sec:implementation]<a href="https://dl.acm.org/citation.cfm?id=3270118">在这篇论文中</a>, 我们发现了下面这个例子:<pre class="prettyprint linenums">we lack experience (consistency between TAs, [@sec:implementation]).</pre>Pandoc 转换:<pre class="prettyprint…
Flameshot:一个简洁但功能丰富的截图工具
在本教程中,我们将看到如何安装 Flameshot 以及如何使用它来截图。Media
via https://linux.cn/article-10180-1.html
在本教程中,我们将看到如何安装 Flameshot 以及如何使用它来截图。Media
via https://linux.cn/article-10180-1.html
Flameshot:一个简洁但功能丰富的截图工具
<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201811/01/131936ytmy79zy9fvf69vl.png">Media</a>截图是我工作的一部分,我先前使用深度截图工具来截图,深度截图是一个简单、轻量级且非常简洁的截图工具。它自带许多功能例如窗口识别、快捷键支持、图片编辑、延时截图、社交分享、智能存储以及图片清晰度调整等功能。今天我碰巧发现了另一个具备多种功能的截图工具,它就是 Flameshot ,一个简单但功能丰富的针对类 Unix 系统的截图工具。它简单易用,可定制并且有选项可以支持上传截图到在线图片分享网站 imgur 上。同时 Flameshot 有一个 CLI 版本,所以你也可以从命令行来进行截图。Flameshot 是一个完全免费且开源的工具。在本教程中,我们将看到如何安装 Flameshot 以及如何使用它来截图。安装 Flameshot在 Arch Linux 上:Flameshot 可以从 Arch LInux 的 [community] 仓库中获取。确保你已经启用了 community 仓库,然后就可以像下面展示的那样使用 pacman 来安装 Flameshot :<pre class="prettyprint linenums">$ sudo pacman -S flameshot</pre>它也可以从 <a href="https://aur.archlinux.org/packages/flameshot-git">AUR</a> 中获取,所以你还可以使用任意一个 AUR 帮助程序(例如 <a href="https://www.ostechnix.com/yay-found-yet-another-reliable-aur-helper/">Yay</a>)来在基于 Arch 的系统中安装它:<pre class="prettyprint linenums">$ yay -S flameshot-git</pre>在 Fedora 中:<pre class="prettyprint linenums">$ sudo dnf install flameshot</pre>在 Debian 10+ 和 Ubuntu 18.04+ 中,可以使用 APT 包管理器来安装它:<pre class="prettyprint linenums">$ sudo apt install flameshot</pre>在 openSUSE 上:<pre class="prettyprint linenums">$ sudo zypper install flameshot</pre>在其他的 Linux 发行版中,可以从源代码编译并安装它。编译过程&#…
<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201811/01/131936ytmy79zy9fvf69vl.png">Media</a>截图是我工作的一部分,我先前使用深度截图工具来截图,深度截图是一个简单、轻量级且非常简洁的截图工具。它自带许多功能例如窗口识别、快捷键支持、图片编辑、延时截图、社交分享、智能存储以及图片清晰度调整等功能。今天我碰巧发现了另一个具备多种功能的截图工具,它就是 Flameshot ,一个简单但功能丰富的针对类 Unix 系统的截图工具。它简单易用,可定制并且有选项可以支持上传截图到在线图片分享网站 imgur 上。同时 Flameshot 有一个 CLI 版本,所以你也可以从命令行来进行截图。Flameshot 是一个完全免费且开源的工具。在本教程中,我们将看到如何安装 Flameshot 以及如何使用它来截图。安装 Flameshot在 Arch Linux 上:Flameshot 可以从 Arch LInux 的 [community] 仓库中获取。确保你已经启用了 community 仓库,然后就可以像下面展示的那样使用 pacman 来安装 Flameshot :<pre class="prettyprint linenums">$ sudo pacman -S flameshot</pre>它也可以从 <a href="https://aur.archlinux.org/packages/flameshot-git">AUR</a> 中获取,所以你还可以使用任意一个 AUR 帮助程序(例如 <a href="https://www.ostechnix.com/yay-found-yet-another-reliable-aur-helper/">Yay</a>)来在基于 Arch 的系统中安装它:<pre class="prettyprint linenums">$ yay -S flameshot-git</pre>在 Fedora 中:<pre class="prettyprint linenums">$ sudo dnf install flameshot</pre>在 Debian 10+ 和 Ubuntu 18.04+ 中,可以使用 APT 包管理器来安装它:<pre class="prettyprint linenums">$ sudo apt install flameshot</pre>在 openSUSE 上:<pre class="prettyprint linenums">$ sudo zypper install flameshot</pre>在其他的 Linux 发行版中,可以从源代码编译并安装它。编译过程&#…