Merge remote-tracking branch 'LCTT/master'

This commit is contained in:
Xingyu Wang 2020-06-01 08:16:26 +08:00
commit f8c84ef443
57 changed files with 401 additions and 83 deletions

View File

@ -1,55 +1,52 @@
[#]: collector: (lujun9972)
[#]: translator: (geekpi)
[#]: reviewer: ( )
[#]: publisher: ( )
[#]: url: ( )
[#]: reviewer: (wxy)
[#]: publisher: (wxy)
[#]: url: (https://linux.cn/article-12268-1.html)
[#]: subject: (How to configure your router using VTY shell)
[#]: via: (https://opensource.com/article/20/5/vty-shell)
[#]: author: (M Umer https://opensource.com/users/noisybotnet)
如何使用 VTY Shell 配置路由器
======
FRRfree range routing给了你实现多种协议的选择。本指南将帮助你入门。
![Multi-colored and directional network computer cables][1]
最近,我写了一篇文章,解释了如何使用 [Quagga][2] 路由套件实现开放式最短路径优先OSPF。可以使用多个软件套件代替 Quagga 来实现不同的路由协议。其中一种是 FRR。
> FRRfree range routing给了你实现多种协议的选择。本指南将帮助你入门。
![](https://img.linux.net.cn/data/attachment/album/202005/31/122310xi9aag5iqihqgcxl.jpg)
最近,我写了一篇文章,解释了如何使用 [Quagga][2] 路由套件实现<ruby>开放式最短路径优先<rt>Open Shortest Path First</rt></ruby>OSPF。可以使用多个软件套件代替 Quagga 来实现不同的路由协议。其中一种是 FRRfree range routing
### FRR
[FRR][3] 是一个路由软件套件,它衍生自 Quagga并在 GNU GPL2 许可下分发。与 Quagga 一样,它为类 Unix 平台提供了所有主要路由协议的实现,例如 OSPF路由信息协议 RIP边界网关协议 BGP 和中间系统到中间系统 IS-IS
背后开发 Quagga 的一些公司,例如 Big Switch Networks、Cumulus、Open Source Routing 和 6wind创建了 FRR 以改善 Quagga 的良好基础。
[FRR][3] 是一个路由软件套件,它衍生自 Quagga并在 GNU GPL2 许可下分发。与 Quagga 一样,它为类 Unix 平台提供了所有主要路由协议的实现,例如 OSPF、<ruby>路由信息协议<rt>Routing Information Protocol</rt></ruby>RIP<ruby>边界网关协议<rt>Border Gateway Protocol</rt></ruby>BGP<ruby>中间系统到中间系统<rt>Intermediate system-to-intermediate system</rt></ruby> IS-IS
开发了 Quagga 的一些公司,例如 Big Switch Networks、Cumulus、Open Source Routing 和 6wind创建了 FRR 以在 Quagga 的良好基础上进行改善。
#### 体系结构
FRR是一组守护程,它们可以共同构建路由表。每个主协议都在其自己的守护程中实现,并且这些守护程与独立于协议的核心守护程 Zebra 通信,后者提供内核路由表更新、接口查找以及不同路由协议之间路由的重新分配。每个特定协议的守护程负责运行相关协议并根据交换的信息构建路由表。
FRR 是一组守护程,它们可以共同构建路由表。每个主协议都在其自己的守护程中实现,并且这些守护程与独立于协议的核心守护程 Zebra 通信,后者提供内核路由表更新、接口查找以及不同路由协议之间路由的重新分配。每个特定协议的守护程负责运行相关协议并根据交换的信息构建路由表。
![FRR architecture][4]
### VTY shell
[VTYSH][5] 是 FRR 路由引擎的集成 shell。它将每个守护程中定义的所有 CLI 命令合并,并在单个 shell 中将它们呈现给用户。它提供了类似于 Cisco 的命令行模式,并且许多命令与 Cisco IOS 命令相似。CLI 有不同的模式,某些命令仅在特定模式下可用。
[VTYSH][5] 是 FRR 路由引擎的集成 shell。它将每个守护程中定义的所有 CLI 命令合并,并在单个 shell 中将它们呈现给用户。它提供了类似于 Cisco 的命令行模式,并且许多命令与 Cisco IOS 命令相似。CLI 有不同的模式,某些命令仅在特定模式下可用。
### 设置
在本教程中,我们将使用 FRR 配置动态路由来实现路由信息协议RIP。我们可以通过两种方式来做到这一点在编辑器中编辑协议守护程配置文件或使用 VTY Shell。在此例中我们将使用 VTY shell。我们的设置包括两个名为 Alpha 和 Beta 的 CentOS 7.7 主机。这两台主机都有两个网络接口,并共享对 192.168.122.0/24 网络的访问。我们将广播 10.12.11.0/24 和 10.10.10.0/24 网络的路由。
在本教程中,我们将使用 FRR 配置动态路由来实现路由信息协议RIP。我们可以通过两种方式来做到这一点在编辑器中编辑协议守护程配置文件或使用 VTY Shell。在此例中我们将使用 VTY shell。我们的设置包括两个名为 Alpha 和 Beta 的 CentOS 7.7 主机。这两台主机都有两个网络接口,并共享对 192.168.122.0/24 网络的访问。我们将广播 10.12.11.0/24 和 10.10.10.0/24 网络的路由。
**对于主机 Alpha**
对于主机 Alpha
* eth0 IP: 192.168.122.100/24
* Gateway: 192.168.122.1
* eth1 IP: 10.10.10.12/24
**对于主机 Beta**
* eth0 IP: 192.168.122.50/24
* Gateway: 192.168.122.1
* eth1 IP: 10.12.11.12/24
* eth0 IP192.168.122.100/24
* 网关192.168.122.1
* eth1 IP10.10.10.12/24
对于主机 Beta
* eth0 IP192.168.122.50/24
* 网关192.168.122.1
* eth1 IP10.12.11.12/24
#### 安装软件包
@ -57,19 +54,17 @@ FRR是一组守护程序它们可以共同构建路由表。每个主协议
#### 启用 IP 转发
对于路由,我们需要在两台主机上都启用 IP 转发,因为这将由 Linux 内核执行。
对于路由,我们需要在两台主机上都启用 IP 转发,因为这将由 Linux 内核执行:
```
sysctl -w net.ipv4.conf.all.forwarding = 1
sysctl -w net.ipv6.conf.all.forwarding = 1
sysctl -p
```
#### 启用 RIPD 守护程
#### 启用 RIPD 守护
安装后,所有配置文件将保存在 **/etc/frr** 目录中。 必须通过编辑 **/etc/frr/daemons** 文件显式启用守护程序。 该文件确定启动 FRR 服务时激活哪些守护程序。 要启用特定的守护程序,只需将相应的 “no” 改为 “yes”。 之后的服务重启将启动守护程序
安装后,所有配置文件将保存在 `/etc/frr` 目录中。 必须通过编辑 `/etc/frr/daemons` 文件显式启用守护进程。该文件确定启动 FRR 服务时激活哪些守护进程。要启用特定的守护进程,只需将相应的 `no` 改为 `yes`。之后的服务重启将启动守护进程
![FRR daemon restart][7]
@ -77,18 +72,15 @@ sysctl -p
由于 RIP 协议使用 UDP 作为传输协议,并被分配了 520 端口,因此我们需要在 `firewalld` 配置中允许该端口。
```
firewall-cmd --add-port=520/udp permanent
firewalld-cmd -reload
```
现在,我们可以使用以下命令启动 FRR 服务:
```
`systemctl start frr`
systemctl start frr
```
#### 使用 VTY 进行配置
@ -97,7 +89,6 @@ firewalld-cmd -reload
在主机 Alpha 上:
```
[root@alpha ~]# vtysh
@ -124,7 +115,6 @@ alpha(config-router)# exit
类似地,在主机 Beta 上:
```
[root@beta ~]# vtysh
@ -152,7 +142,6 @@ beta(config-router)# exit
完成后,像下面这样检查两台主机路由:
```
[root@alpha ~]# ip route show
default via 192.168.122.1 dev eth0 proto static metric 100
@ -161,8 +150,9 @@ default via 192.168.122.1 dev eth0 proto static metric 100
192.168.122.0/24 dev eth0 proto kernel scope link src 192.168.122.100 metric 100
```
我们可以看到 Alpha 上的路由表通过 192.168.122.50 包含了 10.12.11.0/24 的条目,它是通过 RIP 提供的。类似地,在 Beta 上,该表通过 192.168.122.100 包含了 10.10.10.0/24 的条目。
我们可以看到 Alpha 上的路由表通过 `192.168.122.50` 包含了 `10.12.11.0/24` 的条目,它是通过 RIP 提供的。
类似地,在 Beta 上,该表通过 `192.168.122.100` 包含了 `10.10.10.0/24` 的条目。
```
[root@beta ~]# ip route show
@ -174,7 +164,7 @@ default via 192.168.122.1 dev eth0 proto static metric 100
### 总结
如你所见,设置和配置相对简单。 要增加复杂性,我们可以向路由器添加更多的网络接口,以为更多的网络提供路由。可以在编辑器中编辑配置文件来进行配置,但是使用 VTY Shell 在单个组合会话中为我们提供了所有 FRR 守护程的前端。
如你所见,设置和配置相对简单。要增加复杂性,我们可以向路由器添加更多的网络接口,以为更多的网络提供路由。可以在编辑器中编辑配置文件来进行配置,但是使用 VTY Shell 在单个组合会话中为我们提供了所有 FRR 守护程的前端。
--------------------------------------------------------------------------------
@ -183,14 +173,14 @@ via: https://opensource.com/article/20/5/vty-shell
作者:[M Umer][a]
选题:[lujun9972][b]
译者:[geekpi](https://github.com/geekpi)
校对:[校对者ID](https://github.com/校对者ID)
校对:[wxy](https://github.com/wxy)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
[a]: https://opensource.com/users/noisybotnet
[b]: https://github.com/lujun9972
[1]: https://opensource.com/sites/default/files/styles/image-full-size/public/lead-images/connections_wires_sysadmin_cable.png?itok=d5WqHmnJ (Multi-colored and directional network computer cables)
[2]: https://opensource.com/article/20/4/quagga-linux
[2]: https://linux.cn/article-12199-1.html
[3]: https://en.wikipedia.org/wiki/FRRouting
[4]: https://opensource.com/sites/default/files/uploads/frr_architecture.png (FRR architecture)
[5]: http://docs.frrouting.org/projects/dev-guide/en/latest/vtysh.html

View File

@ -1,38 +1,38 @@
[#]: collector: (lujun9972)
[#]: translator: (wxy)
[#]: reviewer: ( )
[#]: publisher: ( )
[#]: url: ( )
[#]: reviewer: (wxy)
[#]: publisher: (wxy)
[#]: url: (https://linux.cn/article-12267-1.html)
[#]: subject: (How to write about open source software)
[#]: via: (https://opensource.com/article/20/5/write-about-open-source-software)
[#]: author: (Dawn Parzych https://opensource.com/users/dawnparzych)
如何写好关于开源软件的文章
如何为开源软件写作文章
======
> 通过以下提示,成为一个更好的作
> 通过以下提示,成为一个更好的作
![Typewriter in the grass][1]
![](https://img.linux.net.cn/data/attachment/album/202005/31/115044ecfpxc2q9z0ca8wq.jpg)
开始接触开源社区的一个方法就是写关于它的文章。你可以贡献技术文档,分享你如何使用软件,或者为我们写一篇文章。但是开始写作说起来容易做起来难。我听到的最常见的两个不写文章的借口是:“我没有什么新东西可说”和“我不是一个好的作家”。我在这里是为了打破这两个误区。
开始接触开源社区的一个方法就是写关于它的文章。你可以贡献技术文档,分享你如何使用软件,或者为我们社区写一篇文章。但是开始写作说起来容易做起来难。我听到的最常见的两个不写文章的借口是:“我没有什么新东西可写”和“我不是一个好的作者”。我在这里是为了打破这两个误区。
### 你应该写什么?
> “寻找那些经常被遗漏的故事。”
> 埃里克·拉尔森
对于一些人来说,写作的最大障碍是产生一个想法或话题,以写出一个想法或话题。很容易就落入了这样的陷阱:“这个话题已经写过了,何必再麻烦。”
对于某些人来说,写作的最大障碍是找到要写的想法或话题。很容易就落入了这样的思维陷阱:“这个话题已经写过了,何必再麻烦。”
我不是第一个写文章的人,也不会是最后一个。我带来的是我独特的视角和这些年来所学到的东西。曾经有人向我请教过一些关于写作入门的建议,或者是如何让自己的写作更上一层楼。我决定把这些建议变成一篇文章。
文如其人,没有人会以你的方式来述事,你的经历和视角可能正是别人所需要的。
文如其人,没有人会以你的方式来述事,你的经验和观点可能正是别人所需要的。
这里有一些提示,可以帮助你想出一个主题:
* 你最近学到了什么东西?写出你是如何学习的,你学到了什么,或者是什么事情让你感到惊讶
* 你最近学到了什么东西?写出你是如何学习的,你学到了什么,或使你感到惊讶的事情
* 你经常被问到的问题是什么?把答案写出来。
* 你最近是否在搜索一篇怎么做的文章,但在搜索结果中,你对排名靠前的文章不满意?请写出你要找的文章。
* 你是否参加过一次会议或研讨会?写一篇会后总结,说明你所学到的东西。
* 你是否参加过会议或研讨会?写一篇会后总结来说明你所学到的东西。
* 你开始使用新工具了吗?写一份操作指南或入门指南。
### 你写的是什么类型的文章?
@ -45,21 +45,21 @@
* 白皮书或电子书
* 回顾性的文章
内容的类型会影响你的写作风格和语气。博客更多的是非正式和对话式的。技术文档更正式,更具有指导性。
内容的类型会影响你的写作风格和语气。博客更加非正式和是对话式的。而技术文档更正式,更具有指导性。
### 你是为谁而写的?
每一篇文章都应该有一个受众。受众是指你所写的对象是什么类型的人。在你开始写作之前,写下你的读者的一些特征,这对你的读者有帮助。重要的是要考虑到你要为谁写,以及你**不是为**谁写的 —— 确定你的目标受众将决定你的目标受众,要包括哪些内容和不包括哪些内容。
每一篇文章都应该有一个单一的受众。受众是指你为之写作的对象是什么类型的人。在你开始写作之前,写下你的读者的一些特征是有助于写作的。重要的是要考虑到你要为谁写,以及你**不是为**谁写的 —— 确定你的目标受众将决定要包括哪些内容和不包括哪些内容。
例如,我在写这篇文章的时候,我设想的目标受众是这样的
例如,我在写这篇文章的时候,我设想的目标受众是这样的
* 有基本的写作和语法知识
* 有兴趣提高写作能力
* 在技术领域担任开发人员、销售工程师、客户经理或类似职位的工作
* 不是有经验或高级作家,可能在个人或工作博客上发表过几篇文章,想写更多的文章。
* 不是经验丰富或资深的作者,可能在个人或工作博客上发表过几篇文章,想写更多的文章。
* 非虚构写作
如果你有针对多个受众的内容,可以考虑针对不同的受众将其分解成不同的内容。在你的受众中需要考虑的一些部分。
如果你有针对多个受众的内容,可以考虑针对不同的受众将其分解成不同的内容。对你的受众要考虑的一些方面:
* 专业水平:新手、中级、高级
* 作用:管理人员、个人贡献者
@ -67,28 +67,28 @@
### 言语很重要
你选择的词语会对读者产生影响。晦涩难懂的词会使文章更难理解,不常见的词会让读者觉得自己很笨,某些词可能会不小心冒犯读者。作为一个作家,你的目标是避免所有这些。下面是怎么做的。
你选择的言语会对读者产生影响。晦涩难懂的词汇会使文章更难理解,不常见的词汇会让读者觉得自己很笨,某些词汇可能会不小心冒犯读者。作为一个作者,你的目标是避免所有这些。下面是怎么做的:
#### 使用日常用语
不要把写作作为炫耀你的词汇量或你从“每日一字”台历上学到的单词的方式。写作是为了让读者能够理解。每一篇文章都有一个关联的阅读水平。如果你写的是技术文档,那么你的目标大约是初中的阅读水平。这并不意味着你的受众只有初中的教育水平。它意味着你的写作会更容易被人理解。你想让人们对这些言语过目不忘,还是想让他们觉得自己学到了什么?虽然你可以使用长而复杂的词汇,但并不意味着你应该这样做。使用简单的语言不一定意味着你的文章会很无聊。
不要把写作作为炫耀你的词汇量或你从“每日一字”台历上学到的单词的方式。写作是为了让读者能够理解。每一篇文章都有相关的阅读水平。如果你写的是技术文档,那么你的目标大约是初中的阅读水平。这并不意味着你的受众只有初中的教育水平。它意味着你的写作会更容易被人理解。你想让人们对这些言语过目不忘,还是想让他们觉得自己学到了什么?虽然你可以使用长而复杂的词汇,但并不意味着你应该这样做。使用简单的语言不一定意味着你的文章会很无聊。
使用 [Hemingway 应用][2]等工具来检查你的作文的可读性它不是开源的但很优秀。比如说这篇文章经过初稿后被评定为五级阅读水平。Hemingway 还提供了如何改进写作的建议 —— 找出难读的句子或需要改变选词的地方。
使用 [Hemingway 应用][2]等工具来检查你的作品的可读性它不是开源的但很优秀。比如说在初稿之后这篇文章被评定为五年级的阅读水平。Hemingway 还提供了如何改进写作的建议 —— 找出难以理解的句子或需要改变选词的地方。
如果你正在纠结于想出替代词,可以查看 [Plain English Campaign][3] 的建议或 [Power Thesaurus][4] 的众包建议。
如果你想要找出替代,可以查看 [Plain English Campaign][3] 的建议或 [Power Thesaurus][4] 的众包建议。
#### 知道应该规避哪些词
> “每次你想写‘非常’的时候,就用‘该死的’代替;你的编辑会把它删掉,写出来的东西就会像它应该写的那样。”
> “每次你想写‘非常’的时候,就用‘该死的’代替;你的编辑会把它删掉,而作品就会如它应有的那样。”
> 马克·吐温
在写教程或指南的时候,这里有一些要避免的词,包括“<ruby>简单<rt>simple</rt></ruby>”、“<ruby>容易<rt>easy</rt></ruby>”和“<ruby>就这样<rt>just</rt></ruby>”。你是你所写的主题的专家,经过多年的实践,可能会觉得事情很简单。而初学者可能会觉得事情不简单,也不容易。你的读者可能会感到沮丧,因为他们觉得过程或解释并不简单。
在写教程或指南的时候,这里有一些要避免的词,包括“<ruby>简单<rt>simple</rt></ruby>”、“<ruby>容易<rt>easy</rt></ruby>”和“<ruby>就这样<rt>just</rt></ruby>”。你是你所写的主题的专家,经过多年的实践,可能会觉得事情很简单。而初学者可能会觉得事情不简单,也不容易。你的读者可能会感到沮丧,因为他们觉得过程或解释并不简单。
你是否曾经因为无法理解作者的意思而不得不多次重读一个句子或段落?你有没有因为一篇文章对你来说没有意义而放弃过?我有过。
你是否曾经因为无法理解作者的意思而不得不反复重读一个句子或段落?你有没有因为一篇文章对你来说没有意义而放弃过?我有过。
作为一个作,你希望你的读者感到困惑或不理解吗?我希望不会。
作为一个作,你希望你的读者感到困惑或不理解吗?我希望不会。
在你的写作中要避免的其他词语
在你的写作中要避免的其它词语:
* <ruby>这件事<rt>That</rt></ruby>
* <ruby>真的<rt>Really</rt></ruby>
@ -98,53 +98,53 @@
一般来说,这些词可以在不改变句子意思的情况下删除。
在我写完之后,我会在一个文档中搜索这些词的实例。当我在这个文档中搜索时,我发现了以下这句话。
在我写完之后,我会在文档中搜索这些词。当我在这篇文章中搜索时,我发现了以下这句话:
> “这并不意味着你的受众只有初中的教育水平*这件事*,而意味着你的写作会更容易被理解*这件事*。”
这句话中出现了两个“<ruby>这件事<rt>That</rt></ruby>”的例子。它们并没有给句子增加价值。它们可以被删除而不改变其意义。删除这些实例可以缩短句子,而更短的句子更容易理解。而说到短句,我还把它改写成了两句话。
这句话中出现了两个“<ruby>这件事<rt>That</rt></ruby>”的例子。它们并没有给句子增加价值。它们可以被删除而不改变其含义。删除这些词汇可以缩短句子,并且更短的句子更容易理解。而说到短句,我还把它改写成了两句话。
> “这并不意味着你的受众只有初中的教育水平。它意味着你的写作会更容易被人理解。”
#### 使用包容性语言
词语和短语的历史背景会让人感到被排斥或反感。在写作时,你要让读者感到被包容。当你使用包容性的语言时,会让读者感到被理解、被尊重,感觉自己是属于他们的。我参考了 Buffer 中的这篇[关于使用包容性语言的指南][5]。
词语和短语的历史背景可能会导致人们感到被排斥或冒犯。在写作时,你要让读者感到被包容。当你使用包容性的语言时,会让读者感到被理解、被尊重,感觉被包容。我参考了 Buffer 中的这篇[关于使用包容性语言的指南][5]。
### 修订和编辑
> “几乎所有好的写作都是从可怕的第一次努力开始的。你需要从某个地方开始。”
> “几乎所有好的写作都是从糟糕的第一次努力开始的。你需要从某个地方开始。”
> 安妮·拉莫特
写作是一个迭代的过程。如果你认为作们坐在办公桌前,在一个小时内就能完成一篇文章发表,那么请你再想一想。有些文章需要我花几个星期的时间来完成。以下是我的一个标准流程:
写作是一个迭代的过程。如果你认为作们坐在办公桌前,在一个小时内就能完成一篇文章准备发表,那么请你再想一想。有些文章需要我花几个星期的时间来完成。以下是我的标准流程:
* 写一个粗略的初稿。我说的粗略,我的意思是*草稿*。我写的时候不用担心语法问题。我的想法是让文字从我的脑海中浮现出来,写在纸上。这一步可能需要一个小时到几周的时间。
* 写一个粗略的初稿。我说的粗略,我的意思是*粗陋*。写的时候不用担心语法问题。目的是让文字从我的脑海中浮现出来,写在纸上。这一步可能需要一个小时到几周的时间。
* 将草稿放一段时间。这可能需要几个小时到几天的时间,这取决于出版时间线。
* 审阅草稿。进行调整和编辑。
* 征求反馈意见,可以是同事或朋友的反馈意见。在这个阶段的反馈中,我的重点是明确性。是否有意义?是否有什么令人困惑的地方有什么缺失的部分?
* 纳入反馈意见。无论你的写作经验有多丰富,其他作者审阅你的作品,都会让你的作品变得更好。
* 征求反馈意见,可以是同事或朋友的反馈意见。在这个阶段的反馈中,我的重点是明确性。是否有意义?是否有什么令人困惑的地方有什么缺失的部分?
* 纳入反馈意见。无论你的写作经验有多丰富,其他作者审阅你的作品,都会让你的作品变得更好。
在这个阶段,我有了一个相当扎实的草稿。现在到了我最不喜欢的写作部分 —— 编辑。我之前提到的 Hemingway 应用不仅能告诉你阅读水平,还能提供改进写作的建议。我还使用 Grammarly 来帮助编辑语法。关于 Grammarly 的开源替代工具,请查看[语言工具][6]或这篇文章中的[开源写作工具][7]。
在这个阶段,我有了一个相当扎实的草稿。现在到了我最不喜欢的写作部分 —— 编辑。我之前提到的 Hemingway 应用不仅能告诉你阅读水平,还能提供改进写作的建议。我还使用 Grammarly 来帮助编辑语法。关于 Grammarly 的开源替代工具,请查看[语言工具网站][6]或这篇文章中的[开源写作工具][7]。
我的写作挑战之一就是适当地使用逗号。Grammarly 可以帮助我找出我错过或误用逗号的地方。Grammarly 发现了 43 个与这篇文章的最终草稿的正确性有关的问题。其中大部分是逗号错误。
我的写作挑战之一就是适当地使用逗号。Grammarly 可以帮助我找出我缺失或滥用逗号的地方。Grammarly 发现了 43 个这篇文章的最终草稿的正确性问题。其中大部分是逗号错误。
![Errors identified by Grammarly][8]
除了语法错误之外该应用程序还提供了一些建议以帮助提高清晰度、参与度和表达能力其中一些功能可能在免费版中没有。这包括单词选择和使用主动语气与被动语气等。有些建议我接受有些则拒绝。在审查了所有的警报和建议后Grammarly 会在所有的维度上进行反馈。
除了语法错误之外该应用程序还提供了一些建议以帮助提高清晰度、参与度和表达能力其中一些功能可能在免费版中没有。这包括单词选择和使用主动语气与被动语气等。有些建议我接受有些则拒绝。在审查了所有的警报和建议后Grammarly 会在各个方面进行反馈。
![Grammarly results][10]
不要害怕寻求写作上的帮助。每一个好的作背后都有一个好的编辑或好的编辑应用。
不要害怕寻求写作上的帮助。每一个好的作背后都有一个好的编辑或好的编辑应用。
### 风格指南
### 文体指南
文体指南为改进写作中的交流提供了标准。它们包括标点符号、语法和用词等方面。如果是为你的公司撰写文档,请检查一下是否使用了文体指南。如果没有文体指南,或者你是为自己写的,下面是一些常用的文体指南
文体指南为改善书面交流提供了标准。它们包括标点符号、语法和用词等方面。如果是为你的公司撰写文档,请检查一下公司是否有文体指南。如果没有文体指南,或者你是为自己写的,下面是一些常用的文体指南
* [芝加哥文体手册][11]
* [谷歌开发者文档指南][12]
* [微软写作风格指南][13]
* [AP 风格手册] [14]
* [微软写作文体指南][13]
* [美联社文体手册][14]
写作是一种与社分享自己的思想和知识的方式。开始写作的唯一方法就是开始打字。用这些建议来微调你的写作。
写作是一种与社分享自己的思想和知识的方式。开始写作的唯一方法就是开始打字。用这些建议来微调你的写作。
--------------------------------------------------------------------------------
@ -153,7 +153,7 @@ via: https://opensource.com/article/20/5/write-about-open-source-software
作者:[Dawn Parzych][a]
选题:[lujun9972][b]
译者:[wxy](https://github.com/wxy)
校对:[校对者ID](https://github.com/校对者ID)
校对:[wxy](https://github.com/wxy)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出

View File

@ -0,0 +1,328 @@
[#]: collector: (lujun9972)
[#]: translator: ( )
[#]: reviewer: ( )
[#]: publisher: ( )
[#]: url: ( )
[#]: subject: (Looking for Some Good Note Taking Apps on Linux? Here are the Best Notes Apps we Found for You)
[#]: via: (https://itsfoss.com/note-taking-apps-linux/)
[#]: author: (Ankush Das https://itsfoss.com/author/ankush/)
Looking for Some Good Note Taking Apps on Linux? Here are the Best Notes Apps we Found for You
======
No matter what you do — taking notes is always a good habit. Yes, there are a lot of note taking apps to help you achieve that. But, what about some open-source note taking apps for Linux?
Fret not, you dont need to endlessly search the Internet to find the best note taking app for Linux. Here, Ive picked some of the most impressive open-source note taking apps available.
### Best Note Taking Apps for Linux
![][1]
Do note that this list is in no particular order of ranking.
#### 1\. Joplin
![][2]
**Key Features:**
* Markdown support
* Support for attachments
* Encryption support
* Cross-platform including Android app
Joplin is an impressive free open-source note taking app that supports encryption. With the features offered, its also one of the [best Evernote alternatives][3] out there. In fact, I moved from Evernote to Joplin just because of the features offered.
You can choose to add to-do lists, plain notes, or use it as a markdown editor to write something. Its available for Linux, Windows, macOS, Android, and iOS. You can also choose to sync your notes using [Dropbox][4], OneDrive, [NextCloud][5] or WebDAV.
If youre curious, you can read our detailed article on [Joplin][6] to know more about it.
##### How to install it?
You get an AppImage file to install Joplin. Ive tried it on Ubuntu 20.04 LTS and it works as expected. To look for the file, you can head to its official website or explore their [GitHub page][7].
In case you dont know how to install it, follow our guide on [using AppImage files][8] to get started.
In either case, if you want to use the terminal, you can type the command below to install it through a script (which also adds a desktop icon in the process):
```
wget -O - https://raw.githubusercontent.com/laurent22/joplin/master/Joplin_install_and_update.sh | bash
```
[Joplin][9]
#### 2\. Simplenote
![][10]
**Key Features:**
* Markdown support
* Simple user interface
* Easily sync using your Simplenote account
* 32-bit package available
* Cross-platform including mobile apps
As the name suggests, it is a simple free and open-source note taking app.
Developed by [Automattic][11] (the company behind WordPress), Simplenote lets you seamlessly sync your notes across multiple devices. It supports Android, iOS, Windows, Linux, and macOS as well.
Unlike some others, you will notice that the interface is dead simple and may not offer a bunch of features. However, you get the ability to add tags to your notes.
##### How to install it?
It offers **.deb / .rpm** packages along with an AppImage file. You can find the files in its [GitHub releases section][12].
[Simplenote][13]
#### 3\. Laverna
**Note:** _This isnt actively developed anymore — but it still works as expected._
![][14]
**Key Features:**
* Markdown support
* Encryption support
* Sync support
Laverna is an interesting open-source note taking application that also offers encryption (which is optional).
You can use it as a web-based note taking app or as something on your computer. Its available for Linux, Mac, and Windows as well.
While it features all the basic functionalities for a note taking app in addition to the encryption support, you dont get a mobile app to use. So, this is something that you can use only if youre a desktop user and get most of the things done on a web browser.
##### How to install it?
It provides a zip file which is available on its [official website][15]. Once you download it, you need to extract it and launch the executable file to get started.
[Laverna][15]
#### 4\. Standard Notes
![][16]
**Key Features:**
* Markdown support
* Encryption support
* Sync support
* Version history of notes (paid plan)
* Cross-platform including mobile apps
* 32-bit package offered
* Offers premium options
Yet another open-source note taking app that offers encryption for your notes and attachments.
Unlike Laverna, Standard Notes is being actively developed. While it offers a great deal of features, some of them are limited to paid subscribers as “extended features” or extensions which is on the expensive side (for monthly subscription). You can also refer to our separate article on [Standard Notes][17] to learn more about it.
Overall, you get the markdown support, ability to encrypt attachments and notes, version history, backup support (to OneDrive, Google Drive, etc.) and more such useful features.
##### How to install it?
It offers an AppImage file to install it on your Linux distro. You just need to head to its [official website][18] to download it. In case you dont know how to use the file, refer to our [AppImage guide][8].
For other available packages or source, you can refer to their [GitHub page][19].
[Standard Notes][18]
#### 5\. Boost Note
![][20]
**Key Features:**
* Markdown support
* Suitable for developers as well
* Cross-platform
[Boost Note][21] is a useful note taking app for programmers using Linux. You can write your codes and also use it to write notes, documentations, and much more.
It offers a clean and intuitive user interface and offers all the basic features for a note taking app on Linux.
#### How to install it?
You can opt for the **.deb** file available for Ubuntu on its [official website][22]. If you want to try it on other Linux distributions, you will also find an AppImage file to get started.
If youre curious, you can also check out their [GitHub page][23] to explore more about it or fork it.
[Boost Note][22]
#### 6\. Tomboy Notes (Next Generation)
![][24]
**Key Features:**
* Lightweight note taking app
* Sync support
* Cross-platform
How about a lightweight and dead simple note-taking app?
Well, you might be aware of the old [Tomboy note taking app][25] which is no longer developed. Fortunately, theres a next-generation version of the Tomboy notes. You can configure the path to store notes and get started taking notes quickly.
The app is merely ~2 MB to download. So, if you were looking for a lightweight solution — this is it. It may not be available for smartphones — but you can surely use it on Windows, Linux, and macOS.
#### How to install it?
You can find .**deb / .rpm** and other packages in their [GitHub releases section][26]. For other Linux distros, you can follow documentations in their GitHub page to know more about it.
[Tomboy Notes NG][27]
#### 7\. RedNoteBook
![][28]
Key Features:
* Traditional Journal-style note taking app
* Templates available
* Offline-use
RedNoteBook should be a good choice for users who wanted an offline note taking app on Linux.
Yes, it does not support synchronization and if youre someone who doesnt want the sync feature, RedNoteBook should be a traditional-style note taking app with a sidebar for calendar.
Its mostly tailored for users who like to have an offline journal. It also provides a couple of templates for you to make it easy creating certain notes.
##### How to install it?
If youre using Ubuntu (or any other Ubuntu-based distro), you can install it via PPA. Heres what you have to type in your terminal to install it:
```
sudo add-apt-repository ppa:rednotebook/stable
sudo apt-get update
sudo apt-get install rednotebook
```
For all other Linux distributions, you can get the [Flatpak package][29].
[RedNotebook][30]
#### 8\. TagSpaces
![][31]
**Key Features:**
* Rich user interface
* Supports managing documents
* Sync support
* Offers premium options
TagSpaces is a beautiful note taking app available for Linux. Not just limited to creating notes, but you can manage photos and other documents as well.
Unlike some other note taking apps available, it doesnt offer encryption. So, you can try tools like [Syncthing to sync your data][32] safely along with the support Dropbox and Nextcloud.
You can also opt for its premium plans if you want special features and support.
##### How to install it?
You can find the .**deb** file and an AppImage file in their [GitHub releases section][33] to install it. In either case, you can build it as well.
[TagSpaces][34]
#### 9\. Trilium Notes
![][35]
**Key Features:**
* Hierarchical note taking app
* Encryption supported
* Sync support
Trilium Notes is not just another note taking app, its a hierarchical note taking application with focus on building personal knowledge bases.
Yes, you can use it for common use as well — but its tailored for specific users who want the ability to manage the notes in a hierarchical fashion.
I havent used this personally — except for testing it. Feel free to try it out and explore more.
#### How to install it?
Simply head to its [GitHub releases section][36] and grab the [.**deb** file to install it on Ubuntu][37]. If youre looking for other Linux distros, you can build it from source or download and [extract the zip file][38] as well.
[Trilium Notes][39]
### Wrapping Up
That concludes my recommendation for note taking apps on Linux. I have used plenty of them and currently settled for Simplenote for quick notes and Joplin for collection of notes in chapters.
Do you know some other notes apps available for Linux that you think should be included in this list? Why not let us know in the comment section?
Which note taking application do you prefer? I am curious to know what you normally look for in the best note taking application on Linux.
Feel free to share your thoughts in the comments section below.
--------------------------------------------------------------------------------
via: https://itsfoss.com/note-taking-apps-linux/
作者:[Ankush Das][a]
选题:[lujun9972][b]
译者:[译者ID](https://github.com/译者ID)
校对:[校对者ID](https://github.com/校对者ID)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
[a]: https://itsfoss.com/author/ankush/
[b]: https://github.com/lujun9972
[1]: https://i0.wp.com/itsfoss.com/wp-content/uploads/2020/05/Note-Taking-Apps-linux.jpg?ssl=1
[2]: https://i2.wp.com/itsfoss.com/wp-content/uploads/2020/01/joplin_ubuntu.jpg?ssl=1
[3]: https://itsfoss.com/5-evernote-alternatives-linux/
[4]: https://www.dropbox.com/
[5]: https://nextcloud.com/
[6]: https://itsfoss.com/joplin/
[7]: https://github.com/laurent22/joplin
[8]: https://itsfoss.com/use-appimage-linux/
[9]: https://joplinapp.org/
[10]: https://i0.wp.com/itsfoss.com/wp-content/uploads/2020/05/simplenote-new.jpg?ssl=1
[11]: https://automattic.com/
[12]: https://github.com/Automattic/simplenote-electron/releases/tag/v1.16.0
[13]: https://simplenote.com
[14]: https://i2.wp.com/itsfoss.com/wp-content/uploads/2019/10/laverna.png?resize=800%2C623&ssl=1
[15]: https://laverna.cc
[16]: https://i2.wp.com/itsfoss.com/wp-content/uploads/2019/11/standard-notes-shot.jpg?resize=800%2C578&ssl=1
[17]: https://itsfoss.com/standard-notes/
[18]: https://standardnotes.org
[19]: https://github.com/standardnotes
[20]: https://i2.wp.com/itsfoss.com/wp-content/uploads/2019/10/boostnote.png?resize=800%2C579&ssl=1
[21]: https://itsfoss.com/boostnote-linux-review/
[22]: https://boostnote.io/
[23]: https://github.com/BoostIO/Boostnote
[24]: https://i2.wp.com/itsfoss.com/wp-content/uploads/2020/05/tomboy-notes-ng.jpg?ssl=1
[25]: https://github.com/tomboy-notes/tomboy
[26]: https://github.com/tomboy-notes/tomboy-ng/releases
[27]: https://github.com/tomboy-notes/tomboy-ng
[28]: https://i0.wp.com/itsfoss.com/wp-content/uploads/2020/05/rednotebook.png?ssl=1
[29]: https://flathub.org/apps/details/app.rednotebook.RedNotebook
[30]: https://rednotebook.sourceforge.io
[31]: https://i0.wp.com/itsfoss.com/wp-content/uploads/2019/10/tagspaces.png?resize=800%2C523&ssl=1
[32]: https://itsfoss.com/syncthing/
[33]: https://github.com/tagspaces/tagspaces/releases/
[34]: https://www.tagspaces.org/
[35]: https://i2.wp.com/itsfoss.com/wp-content/uploads/2020/05/trilium-notes.png?ssl=1
[36]: https://github.com/zadam/trilium/releases
[37]: https://itsfoss.com/install-deb-files-ubuntu/
[38]: https://itsfoss.com/unzip-linux/
[39]: https://github.com/zadam/trilium/