分类 分享 下的文章

使用 sl 命令,你可以让自己驾驶火车,带来一个有趣的命令行体验。

现在是 12 月,每个 Linux 终端用户都值得这一年的奖励。因此,我们将为你带来一个 Linux 命令行玩具的日历。什么是命令行玩具?它可能是一个游戏、一个小的无意义的打发时间的东西,或者为你在终端带来快乐的东西。

今天的 Linux 命令行玩具来自 Opensource.com 社区版主 Ben Cotton 的建议。Ben 建议 sl,它是 蒸汽机车 steam locomotive 的简称。

而对于 Linux ls 命令来说,sl 也是一个常见的拼写错误,这并不是巧合(LCTT 译注:意即 sl 是专门用来设计提醒 ls 打错的)。想要不再打错吗?尝试安装 sl。它可能已经在默认仓库中打包。对我而言,在 Fedora 中,这意味着安装起来很简单:

$ sudo dnf install sl -y

现在,只需键入 sl 即可测试。

你可能会像我一样注意到,Ctrl+C 不会让你的火车脱轨,所以你必须等待整列火车通过。这会让你知道打错了 ls

想查看 sl 源码?它已经在在 GitHub 上

sl 也是分享我个人关于开源许可证的见解的绝佳机会。虽然它的许可证“足够开源”能够打包到我的发行版,但技术上而言,它并不是 OSI 批准的许可证。在其版权行之后,许可证的内容很简单:

每个人都可以在这个程序上做任何事情,包括复制,修改和改进,除非你试图假装你写了它。

即,上述版权声明必须出现在所有副本中。

作者对本软件不承担任何责任。

遗憾的是,当你选择未经 OSI 批准的许可证时,你可能会意外地为你的用户带来额外的工作,因为他们必须要弄清楚你的许可证是否适用于他们的情况。他们的公司政策是否允许他们做贡献?甚至他们可以合法地使用该程序吗?许可证是否与他们希望与之集成的其他程序的许可证相匹配?

除非你是律师(也许,即使你是律师),否则在非标准许可证范围内选择可能会很棘手。因此,如果你仍在寻找新年的方案,为什么不把仅 OSI 批准的许可证作为你 2019 年新项目的选择呢。

这并不是对作者的不尊重。sl 仍然是一个很棒的小命令行玩具。

你有一个你认为我应该介绍的最喜欢的命令行玩具吗?这个系列的日历大部分已经完成,但我还剩下几个空余。请在下面的评论中告诉我,我会了解一下。如果有空间,我会尝试包含它。如果没有,但我得到了一些好的投稿,我会在最后做一些荣誉介绍。

了解昨天的玩具,在 Linux 命令行中装饰字符,还有记得明天再来!


via: https://opensource.com/article/18/12/linux-toy-sl

作者:Jason Baker 选题:lujun9972 译者:geekpi 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

在终端上使用各种命令执行重要任务是 Linux 桌面体验中不可或缺的一部分。Linux 这个开源操作系统拥有丰富的命令,任何用户都无法全部记住所有这些命令。而使事情变得更复杂的是,每个命令都有自己的一组带来丰富的功能的选项。

为了解决这个问题,人们创建了 手册页 man page ,(手册 —— man 是 manual 的缩写)。首先,它是用英文写成的,包含了大量关于不同命令的深入信息。有时候,当你在寻找命令的基本信息时,它就会显得有点庞杂。为了解决这个问题,人们创建了TLDR 页

什么是 TLDR 页?

TLDR 页的 GitHub 仓库将其描述为简化的、社区驱动的手册页集合。在实际示例的帮助下,努力让使用手册页的体验变得更简单。如果还不知道,TLDR 取自互联网的常见俚语: 太长没读 Too Long Didn’t Read

如果你想比较一下,让我们以 tar 命令为例。 通常,手册页的篇幅会超过 1000 行。tar 是一个归档实用程序,经常与 bzipgzip 等压缩方法结合使用。看一下它的手册页:

tar man page

而另一方面,TLDR 页面让你只是浏览一下命令,看看它是如何工作的。 tar 的 TLDR 页面看起来像这样,并带有一些方便的例子 —— 你可以使用此实用程序完成的最常见任务:

tar tldr page

让我们再举一个例子,向你展示 TLDR 页面为 apt 提供的内容:

tldr-page-of-apt

如上,它向你展示了 TLDR 如何工作并使你的生活更轻松,下面让我们告诉你如何在基于 Linux 的操作系统上安装它。

如何在 Linux 上安装和使用 TLDR 页?

最成熟的 TLDR 客户端是基于 Node.js 的,你可以使用 NPM 包管理器轻松安装它。如果你的系统上没有 Node 和 NPM,请运行以下命令:

sudo apt-get install nodejs
sudo apt-get install npm 

如果你使用的是 Debian、Ubuntu 或 Ubuntu 衍生发行版以外的操作系统,你可以根据自己的情况使用yumdnfpacman包管理器。

现在,通过在终端中运行以下命令,在 Linux 机器上安装 TLDR 客户端:

sudo npm install -g tldr 

一旦安装了此终端实用程序,最好在尝试之前更新其缓存。 为此,请运行以下命令:

tldr  --update 

执行此操作后,就可以阅读任何 Linux 命令的 TLDR 页面了。 为此,只需键入:

tldr  <commandname> 

tldr kill command

你还可以运行其帮助命令,以查看可与 TLDR 一起使用的各种参数,以获取所需输出。 像往常一样,这个帮助页面也附有例子。

TLDR 的 web、Android 和 iOS 版本

你会惊喜地发现 TLDR 页不仅限于你的 Linux 桌面。 相反,它也可以在你的 Web 浏览器中使用,可以从任何计算机访问。

要使用 TLDR Web 版本,请访问 tldr.ostera.io 并执行所需的搜索操作。

或者,你也可以下载 iOSAndroid 应用程序,并随时随地学习新命令。

tldr app ios

你觉得这个很酷的 Linux 终端技巧很有意思吗? 请尝试一下,让我们知道您的反馈。


via: https://fossbytes.com/tldr-pages-linux-man-pages-alternative/

作者:Adarsh Verma 译者:wxy 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

本文将教你如何在 Linux 命令行终端中使用 boxes 工具绘制字符形状图形来包装你的文字让其更突出。

现在正值假期,每个 Linux 终端用户都该得到一点礼物。无论你是庆祝圣诞节还是庆祝其他节日,或者什么节日也没有,都没有关系。我将在接下来的几周内介绍 24 个 Linux 命令行小玩具,供你把玩或者与朋友分享。让我们享受乐趣,让这个月过得快乐一点,因为对于北半球来说,这个月有点冷并且沉闷。

对于我要讲述的内容,可能你之前就有些了解。但是,我还是希望我们都有机会学到一些新的东西(我做了一点研究,确保可以分享 24 个小玩具)。

24 个 Linux 终端小玩具中的第一个是叫做 boxes 的小程序。为何从 boxes 说起呢?因为在没有它的情况下很难将所有其他命令礼物包装起来!

在我的 Fedora 机器上,默认没有安装 boxes 程序,但它在我的普通仓库中可以获取到,所以用如下命令就可安装:

$ sudo dnf install boxes -y

如果你在使用其他 Linux 发行版,一般也都可以在默认仓库中找到 boxes

boxes 是我真正希望在高中和大学计算机课程中就使用的实用程序,因为善意的老师要求我在每个源文件、函数、代码块等开头添加一些特定外观的备注信息。

/***************/
/* Hello World */
/***************/

事实证明,一旦你需要在框内添加几行文字,并且格式化的将它们统一风格就会变得很乏味。而 boxes 是一个简单实用程序,它使用 ASCII 艺术风格的字符形状框来包围文本。其字符形状默认风格是源代码注释风格,但也提供了一些其他选项。

它真的很容易使用。使用管道,便可以将一个简短问候语塞进字符形状盒子里。

$ cat greeting.txt | boxes -d diamonds -a c

上面的命令输出结果如下:

       /\          /\          /\
    /\//\\/\    /\//\\/\    /\//\\/\
 /\//\\\///\\/\//\\\///\\/\//\\\///\\/\
//\\\//\/\\///\\\//\/\\///\\\//\/\\///\\
\\//\/                            \/\\//
 \/                                  \/
 /\      I'm wishing you all a       /\
//\\     joyous holiday season      //\\
\\//     and a Happy Gnu Year!      \\//
 \/                                  \/
 /\                                  /\
//\\/\                            /\//\\
\\///\\/\//\\\///\\/\//\\\///\\/\//\\\//
 \/\\///\\\//\/\\///\\\//\/\\///\\\//\/
    \/\\//\/    \/\\//\/    \/\\//\/
       \/          \/          \/

或者玩点更有趣的,比如:

echo "I am a dog" | boxes -d dog -a c

不要惊讶,它将会输出如下:

          __   _,--="=--,_   __
         /  \."    .-.    "./  \
        /  ,/  _   : :   _  \/` \
        \  `| /o\  :_:  /o\ |\__/
         `-'| :="~` _ `~"=: |
            \`     (_)     `/
     .-"-.   \      |      /   .-"-.
.---{     }--|  /,.-'-.,\  |--{     }---.
 )  (_)_)_)  \_/`~-===-~`\_/  (_(_(_)  (
(              I am a dog               )
 )                                     (
'---------------------------------------'

boxes 程序提供了很多选项 用于填充、定位甚至处理正则表达式。你可以在其 项目主页 上了解更多有关 boxes 的信息,或者转到 GitHub 去下载源代码或者贡献你自己的盒子形状。说到此,如果你想给你的提交找个好点子,我已经有了一个想法:为什么不能是一个节日礼物盒子?

         _  _
        /_\/_\
 _______\_\/_/_______
|       ///\\\       |
|      ///  \\\      |
|                    |
|     "Happy pull    |
|       request!"    |
|____________________|

boxes 是基于 GPLv2 许可证的开源项目。

你有特别喜欢的命令行小玩具需要我介绍的吗?这个系列要介绍的小玩具大部分已经落实,但还预留了几个空位置。如果你有特别想了解的可以评论留言,我会查看的。如果还有空位置,我会考虑介绍它的。即使要介绍的小玩具已经有 24 个了,但如果我得到了一些很好的意见,我会在最后做一些有价值的提及。

你可以通过 Drive a locomotive through your Linux terminal 来查看明天会介绍的命令行小玩具。


via: https://opensource.com/article/18/12/linux-toy-boxes

作者:Jason Baker 选题:lujun9972 译者:jrg 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

如果你正在寻找将音频文件格式转换为 wav、mp3、ogg 或任何其他格式,SoundConverter 是你在 Linux 中需要的工具。

Audio Converter in Linux

最近我购买了一些没有 DRM 的音乐。我是从 SaReGaMa 那里买的,这是一家印度历史最悠久,规模最大的音乐品牌。下载的文件采用高清质量的 WAV 格式。

不幸的是,Rhythmbox 无法播放 WAV。最重要的是,单个文件大小约为 70MB。想象一下,将这么大的音乐传输到智能手机。它会不必要地占用大量空间。

所以我认为是时候将 WAV 文件转换为 MP3 —— 这个长青且最流行的音乐文件格式。

为此,我需要一个在 Linux 中的音频转换器。在这个教程中,我将向你展示如何使用名为 SoundCoverter 的 GUI 工具轻松地将音频文件从一种格式转换为另一种格式。

在 Linux 中安装 SoundConverter

SoundConverter 是一款流行的自由开源软件。它应该可以在大多数 Linux 发行版的官方仓库中找到。

Ubuntu/Linux Mint 用户只需在软件中心搜索 SoundConverter 并从那里安装即可。

SoundConverter application in Software Center of Ubuntu

SoundConverter 可以从软件中心安装

或者,你可以使用命令行方式。在基于 Debian 和 Ubuntu 的系统中,你可以使用以下命令:

sudo apt install soundconverter

在 Arch、Fedora 和其他非基于 Debian 的发行版中,你可以使用你的发行版的软件中心或软件包管理器。

在 Linux 中使用 SoundConverter 转换音频文件格式

安装完 SoundConverter 后,在菜单中搜索并启动它。

默认界面看起来像这样,它不能比这简单:

SoundConverter application interface in Linux

简单的界面

转换音频文件格式只要选择文件并单击转换。

但是,我建议你至少在第一次运行时检查下默认设置。默认情况下,它会将音频文件转换为 OGG 文件格式,你可能不希望这样。

Preferences in SoundConverter

可以在“首选项”中更改默认输出设置

要更改默认输出设置,请单击界面上的“首选项”图标。你会在这里看到很多可更改的选择。

你可以更改默认输出格式、比特率、质量等。你还可以选择是否要将转换后的文件保存在与原始文件相同的文件夹中。

转换后还可以选择自动删除原始文件。我不认为你应该使用那个选项。

你还可以更改输出文件名。默认情况下,它只会更改后缀,但你也可以选择根据曲目编号、标题、艺术家等进行命名。为此,原始文件中应包含适当的元数据。

说到元数据,你听说过 MusicBrainz Picard 吗?此工具可帮助你自动更新本地音乐文件的元数据。

总结

我之前用讨论过用一个小程序 在 Linux 中录制音频。这些很棒的工具通过专注某个特定的任务使得生活更轻松。你可以使用成熟和更好的音频编辑工具,如 Audacity,但对于较小的任务,如转换音频文件格式,它可能用起来很复杂。

我希望你喜欢 SoundConverter。如果你使用其他工具,请在评论中提及,我会在 FOSS 中提及。使用开心!


via: https://itsfoss.com/sound-converter-linux/

作者:Abhishek Prakash 选题:lujun9972 译者:geekpi 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

使用 cowsay 实用程序将牛的话语带到你的终端输出。

欢迎来到 Linux 命令行玩具第四天。如果这是你第一次访问这个系列,你可能会问自己,什么是命令行玩具。我们也在考虑这一点,但是一般来说,这可能是一个游戏,或者任何简单的娱乐,可以帮助你在终端玩得开心。

你们中的一些人会见过我们之前的选中的各种玩具,但是我们希望至少有一个对每个人来说都是新的。因为几乎所有我告诉他这个系列的人都已经问过它了,所以今天的选中的玩具是必须提及的。

你也不会认为我们会在不提及 cowsay 的情况下完成这个系列,对吧?

cowsay 是一个神奇的实用程序,它将文本作为 ASCII 艺术牛的讲话文本输出。

你可能会发现 cowsay 打包在你的默认存储库中,甚至可能已经安装了。对我来说,在 Fedora,像这样安装:

$ sudo dnf install -y cowsay

然后,用 cowsay 调用它,然后是你的消息。也许你想到昨天我们谈到的 fortune 应用 连接起来。

$ fortune | cowsay
 _________________________________________
/ If at first you do succeed, try to hide \
\ your astonishment.                      /
 -----------------------------------------
        \   ^__^
         \  (oo)\_______
            (__)\       )\/\
                ||----w |
                ||     ||

就这样!cowsay 还有点小变体,称为 cow 文件,通常可以在 /usr/share/cowsay 找到 ,要查看系统上可用的 cow 文件,请在 cowsay 之后使用 -l 。然后,用 -f 试试其中之一。

$ cowsay -f dragon "Run for cover, I feel a sneeze coming on."
 _______________________________________
/ Run for cover, I feel a sneeze coming \
\ on.                                   /
 ---------------------------------------
      \                    / \  //\
       \    |\___/|      /   \//  \\
            /0  0  \__  /    //  | \ \    
           /     /  \/_/    //   |  \  \  
           @_^_@'/   \/_   //    |   \   \ 
           //_^_/     \/_ //     |    \    \
        ( //) |        \///      |     \     \
      ( / /) _|_ /   )  //       |      \     _\
    ( // /) '/,_ _ _/  ( ; -.    |    _ _\.-~        .-~~~^-.
  (( / / )) ,-{        _      `-.|.-~-.           .~         `.
 (( // / ))  '/\      /                 ~-. _ .-~      .-~^-.  \
 (( /// ))      `.   {            }                   /      \  \
  (( / ))     .----~-.\        \-'                 .~         \  `. \^-.
             ///.----..>        \             _ -~             `.  ^-`  ^-_
               ///-._ _ _ _ _ _ _}^ - - - - ~                     ~-- ,.-~
                                                                  /.-~

我对 cowsay 的真正不满是,我今天没有足够的时间来为牛的挤奶 —— 一语双关。牛排价格太高了,我只是开个玩笑。

更严重的是,我已经完全忘记了 cowsay 直到我在学习 Ansible 的剧本时再次遇到它。如果你碰巧安装了 cowsay,当你运行Ansible 的剧本时,你会从一队奶牛那里获得输出。例如,运行这个剧本:

- hosts:
    - localhost
  tasks:
    - action: ping

可能会给你以下信息:

$ ansible-playbook playbook.yml
 __________________
< PLAY [localhost] >
 ------------------
        \   ^__^
         \  (oo)\_______
            (__)\       )\/\
                ||----w |
                ||     ||

 ________________________
< TASK [Gathering Facts] >
 ------------------------
        \   ^__^
         \  (oo)\_______
            (__)\       )\/\
                ||----w |
                ||     ||

ok: [localhost]
 _____________
< TASK [ping] >
 -------------
        \   ^__^
         \  (oo)\_______
            (__)\       )\/\
                ||----w |
                ||     ||

ok: [localhost]
 ____________
< PLAY RECAP >
 ------------
        \   ^__^
         \  (oo)\_______
            (__)\       )\/\
                ||----w |
                ||     ||

localhost                  : ok=2    changed=0    unreachable=0    failed=0  

cowsay 在 GPLv3 许可证下可用,您可以在 GitHub 上找到 它的 Perl 源代码。我也见过其他语言的版本,所以可以看看其他变体;例如,这是 R 语言版。用你选择的语言实现你自己的版本可能是一项有趣的编程学习任务。

既然讲完了 cowsay,我们可以去更绿色的牧场了。

你有希望我来介绍的喜欢的命令行玩具吗?这个系列的排期大部分都填好了,但我还有一些空位方。在下面的评论中让我知道,我会来看看。如果有空间,我会尝试把它包括进去。如果没有,但是我收到了一些好的意见,我在结尾提及。

看看昨天的玩具,如何给你的 Linux 终端带来好运,明天再来看看另一个!


via: https://opensource.com/article/18/12/linux-toy-cowsay

作者:Jason Baker 选题:lujun9972 译者:heguangzhi 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

扔掉你的文字编辑器,然后使用这些开源工具在命令行上写作吧。

对于大多数人(尤其是非技术人员),写作意味着在 LibreOffice Writer 或者其他带图形界面的文字处理应用上编辑文本。但是还有许多可行的方法可以让任何人通过文本传递他们的信息,尤其是越来越多的作者选择拥抱纯文本

在使用图形界面写作的世界同样有命令行工具的一席之地。这些命令行工具可以帮助他们进行写作,检查他们的拼写等等 —— 无论是在写一篇文章、博客或者故事;写一个 README 文件;或者准备一份技术文档的时候。

下面是一些在任何写作情况下都有用的命令行工具。

编辑器

没错,你可以在命令行进行真正的写作。我知道一些写作者会使用 NanoVimEmacs、以及 Jove 等编辑器在终端窗口中进行工作。而这些编辑器并非屈指可数。文本编辑器的优势在于它们简单易用以及更专注于文本。非常适合用于编辑任何文本的初稿甚至完成一个漫长而复杂的写作项目。

如果你想在命令行中获得更像文字编辑器的体验,不妨了解一下 WordGrinder。它是一款简单但拥有足够的编写和发布功能的文字编辑器。它支持基本的格式和样式,并且你可以将你的文字以 Markdown、ODT、LaTeX 或者 HTML 等格式导出。

拼写检查

每个写作者在完成他们的工作前至少要(或者说应该要)进行一次拼写检查。为什么呢?在写作的世界里有个永恒的定律,无论你检查了多少次手稿,拼写错误和错字依然会存在。

我曾经详细介绍过我最喜欢的命令行拼写检查工具 GNU Aspell。交互式检测文本文档的 Aspell 不仅能够高亮显示拼写错误还能在拼写错误的上方提供正确的拼写建议。Aspell 在进行拼写检查时同样能够忽略许多语法标记。

另一个够老但仍然有用的代替品是 Ispell。虽然它比 Aspell 稍慢一点,但它们都以相同的方式工作。当你在你的文本文件上工作时,Ispell 将提供正确的建议。Ispell 同样也对英语以外的语言提供了良好的支持。

文章 linter

软件开发人员使用 linter) 来检查他们的代码是否存在错误或者 bug。同样也有用于检查文本样式或语法错误的 linter;而该命令行工具会认为这些错误是样式元素。任何写作者都可以(也应该)使用它,一个文章 linter 对于要求文档风格和样式一致的文档团队项目而言尤其有用。

Proselint 是一款全能的实时检查工具。它会找出行话、大话、不正确日期和时间格式、滥用的术语等等。它也很容易运行并忽略文本中的标记。

Alex 是一个简单但有用的文章 linter。 对明文文本或者格式为 Markdown 或 HTML 的文档使用它。Alex 会对“性别偏好、极端主义、种族相关、宗教,或者文章中其他不平等的措辞”产生警告。如果你想要试试看 Alex,这里有一个在线 demo

其他工具

有时候你找不到一个单词的恰当的同义词。但你不需要去呆板的词库中抓取或者去专门的网站完善你的单词完整。仅仅需要对你想要替换的单词运行 Aiksaurus,然后它就会为你完成这个工作。但是,这个程序最大的缺点是它只支持英语。

即使是只会很少(甚至只有一项)技术技能的写作者都能接受 Markdown 来快速而简单地格式化他们的作品。但是,有时候你也需要将使用 Markdown 格式的文件转换成其他格式。这就是 Pandoc 的用武之地。你可以用它来将你的文档转换成 HTML、Word、LibreOffice Writer、LaTeX、EPUB 以及其他格式。你甚至可以用 Pandoc 来生成书籍和研究论文

你有最喜欢的命令行写作工具吗?在社区发表评论分享它吧。


via: https://opensource.com/article/18/11/command-line-tools-writers

作者:Scott Nesbitt 选题:lujun9972 译者:LazyWolfLin 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出