Merge remote-tracking branch 'LCTT/master'

This commit is contained in:
Xingyu.Wang 2018-08-21 22:06:23 +08:00
commit 66546a4024
11 changed files with 585 additions and 497 deletions

View File

@ -3,7 +3,7 @@
![](https://www.ostechnix.com/wp-content/uploads/2017/07/A-Collection-Of-Useful-BASH-Scripts-720x340.png)
今天,我偶然发现了一组用于命令行重度用户的实用 BASH 脚本,这些脚本被称为 **Bash-Snippets**,它们对于那些整天都与终端打交道的人来说可能会很有帮助。想要查看你居住地的天气情况?它为你做了。想知道股票价格?你可以运行显示股票当前详细信息的脚本。觉得无聊?你可以看一些 YouTube 视频。这些全部在命令行中完成,你无需安装任何严重消耗内存的 GUI 应用程序。
今天,我偶然发现了一组用于命令行重度用户的实用 BASH 脚本,这些脚本被称为 **Bash-Snippets**,它们对于那些整天都与终端打交道的人来说可能会很有帮助。想要查看你居住地的天气情况?它为你做了。想知道股票价格?你可以运行显示股票当前详细信息的脚本。觉得无聊?你可以看一些 YouTube 视频。这些全部在命令行中完成,你无需安装任何严重消耗内存的 GUI 应用程序。
在撰写本文时Bash-Snippets 提供以下 19 个实用工具:
@ -29,83 +29,82 @@
作者可能会在将来添加更多实用程序和/或功能,因此我建议你密切关注该项目的网站或 GitHub 页面以供将来更新。
### Bash-Snippets 一组实用 BASH 脚本献给命令行重度用户
#### 安装
### 安装
你可以在任何支持 BASH 的操作系统上安装这些脚本。
首先,克隆 git 仓库,使用以下命令:
```
$ git clone https://github.com/alexanderepstein/Bash-Snippets
```
进入目录:
```
$ cd Bash-Snippets/
```
切换到最新的稳定版本:
```
$ git checkout v1.22.0
```
最后,使用以下命令安装 Bash-Snippets
```
$ sudo ./install.sh
```
这将询问你要安装哪些脚本。只需输入**Y** 并按 ENTER 键即可安装相应的脚本。如果你不想安装某些特定脚本,输入 **N** 并按 Enter 键。
这将询问你要安装哪些脚本。只需输入 `Y` 并按回车键即可安装相应的脚本。如果你不想安装某些特定脚本,输入 `N` 并按回车键。
```
Do you wish to install currency [Y/n]: y
```
要安装所有脚本,运行:
```
$ sudo ./install.sh all
```
要安装特定的脚本,比如 currency运行
```
$ sudo ./install.sh currency
```
你也可以使用 [**Linuxbrew**][1] 包管理器来安装它。
你也可以使用 [Linuxbrew][1] 包管理器来安装它。
安装所有的工具,运行:
```
$ brew install bash-snippets
```
安装特定的工具:
```
$ brew install bash-snippets --without-all-tools --with-newton --with-weather
```
另外,对于那些基于 Debian 系统的,例如 Ubuntu, Linux Mint可以添加 PPA 源:
另外,对于那些基于 Debian 系统的,例如 Ubuntu、Linux Mint可以添加 PPA 源:
```
$ sudo add-apt-repository ppa:navanchauhan/bash-snippets
$ sudo apt update
$ sudo apt install bash-snippets
```
#### 用法
### 用法
**需要网络连接**才能使用这些工具。用法很简单。让我们来看看如何使用其中的一些脚本,我假设你已经安装了所有脚本。
**1\. Currency 货币转换器**
#### 1、 Currency 货币转换器
这个脚本根据实时汇率转换货币。输入当前货币代码和要交换的货币,以及交换的金额,如下所示:
```
$ currency
What is the base currency: INR
@ -118,22 +117,22 @@ What is the amount being exchanged: 10
| INR: 10
| USD: .154950
=========================
```
你也可以在单条命令中传递所有参数,如下所示:
```
$ currency INR USD 10
```
参考以下屏幕截图:
[![Bash-Snippets][2]][3]
**2\. Stocks 显示股票价格详细信息**
#### 2、 Stocks 显示股票价格详细信息
如果你想查看一只股票价格的详细信息,输入股票即可,如下所示:
```
$ stocks Intel
@ -146,79 +145,79 @@ INTC stock info
| Price Change Percentage: 0.00%
| Last Updated: Jul 12, 4:00PM EDT
=============================================
```
上面输出了 **Intel 股票** 的详情。
**3\. Weather 显示天气详细信息**
#### 3、 Weather 显示天气详细信息
让我们查看以下天气详细信息,运行以下命令:
```
$ weather
```
**示例输出:**
示例输出:
![][4]
正如你在上面屏幕截图中看到的那样,它提供了 3 天的天气预报。不使用任何参数的话,它将根据你的 IP 地址显示天气详细信息。你还可以显示特定城市或国家/地区的天气详情,如下所示:
```
$ weather Chennai
```
同样,你可以查看输入以下命令来从查看月相(月亮的形态):
同样,你可以查看输入以下命令来查看月相(月亮的形态):
```
$ weather moon
```
示例输出:
![][5]
**4\. Crypt 加解密文件**
#### 4、 Crypt 加解密文件
此脚本对 openssl 做了一层包装,允许你快速轻松地加密和解密文件。
要加密文件,使用以下命令:
```
$ crypt -e [original file] [encrypted file]
```
例如,以下命令将加密 **ostechnix.txt**,并将其保存在当前工作目录下,名为 **encrypt_ostechnix.txt**
例如,以下命令将加密 `ostechnix.txt`,并将其保存在当前工作目录下,名为 `encrypt_ostechnix.txt`
```
$ crypt -e ostechnix.txt encrypt_ostechnix.txt
```
输入两次文件密码:
```
Encrypting ostechnix.txt...
enter aes-256-cbc encryption password:
Verifying - enter aes-256-cbc encryption password:
Successfully encrypted
```
上面命令将使用 **AES 256 位密钥**加密给定文件。密码不会以纯文本格式保存。你可以加密 .pdf, .txt, .docx, .doc, .png, .jpeg 类型的文件。
上面命令将使用 **AES 256 位密钥**加密给定文件。密码不要保存在纯文本文件中。你可以加密 .pdf、.txt、 .docx、 .doc、 .png、 .jpeg 类型的文件。
要解密文件,使用以下命令:
```
$ crypt -d [encrypted file] [output file]
```
例如:
```
$ crypt -d encrypt_ostechnix.txt ostechnix.txt
```
输入密码解密:
```
Decrypting encrypt_ostechnix.txt...
enter aes-256-cbc decryption password:
@ -226,11 +225,12 @@ Successfully decrypted
```
**5\. Movies 查看电影详情**
#### 5、 Movies 查看电影详情
使用这个脚本,你可以查看电影详情。
以下命令显示了一部名为 “mother” 的电影的详情:
```
$ movies mother
@ -244,51 +244,51 @@ $ movies mother
| Actors: Hye-ja Kim, Bin Won, Goo Jin, Je-mun Yun
| Plot: A mother desperately searches for the killer who framed her son for a girl's horrific murder.
==================================================
```
**6\. 显示类似条目**
#### 6、 显示类似条目
要使用这个脚本,你需要从**[这里][6]** 获取 API 密钥。不过不用担心,它完全是免费的。一旦你获得 API 密钥后,将以下行添加到 **~/.bash_profile****export TASTE_API_KEY=”你的 API 密钥放在这里”**
要使用这个脚本,你需要从**[这里][6]** 获取 API 密钥。不过不用担心,它完全是免费的。一旦你获得 API 密钥后,将以下行添加到 `~/.bash_profile``export TASTE_API_KEY=”你的 API 密钥放在这里”`。LCTT 译注: TasteDive 是一个推荐引擎,它会根据你的品味推荐相关项目。)
现在你可以根据你提供的项目查看类似项目,如下所示:
现在你可以查看类似的项目如提供的项目如下所示to 校正者:不理解这个脚本的意思肿么办)
```
$ taste -i Red Hot Chilli Peppers
```
**7\. Short 缩短 URL**
#### 7、 Short 缩短 URL
这个脚本会缩短给定的 URL。
```
$ short <URL>
```
**8\. Geo 显示网络的详情**
#### 8、 Geo 显示网络的详情
这个脚本会帮助你查找网络的详细信息,例如 wan, lan, router, dns, mac 和 ip 地址。
这个脚本会帮助你查找网络的详细信息,例如广域网、局域网、路由器、 dns、mac 地址和 ip 地址。
例如,要查找你的局域网 ip运行
```
$ geo -l
```
我系统上的输出:
```
192.168.43.192
```
查看广域网 ip
```
$ geo -w
```
在终端中输入 `geo` 来查看更多详细信息。
```
$ geo
Geo
@ -311,27 +311,26 @@ Example: geo -a 8.8.8.8 -o city,zip,isp
-v Returns Version
-h Returns Help Screen
-u Updates Bash-Snippets
```
**9\. Cheat 显示 Linux 命令的备忘单**
#### 9、 Cheat 显示 Linux 命令的备忘单
想参考 Linux 命令的备忘单吗?这是可能的。以下命令将显示 `curl` 命令的备忘单:
想参考 Linux 命令的备忘单吗?这是可能的。以下命令将显示 **curl** 命令的备忘单:
```
$ cheat curl
```
只需用你选择的命令替换 **curl** 即可显示其备忘单。这对于快速参考你要使用的任何命令非常有用。
只需用你选择的命令替换 `curl` 即可显示其备忘单。这对于快速参考你要使用的任何命令非常有用。
**10\. Youtube-Viewer 观看 YouTube 视频**
#### 10、 Youtube-Viewer 观看 YouTube 视频
使用此脚本,你可以直接在终端上搜索或观看 YouTube 视频。
使用此脚本,你可以直接在终端上搜索或打开 YouTube 视频。LCTT 译注:在媒体播放器中,而不是文本的终端中打开)
让我们来看一些有关 **Ed Sheeran** 的视频。
```
$ ytview Ed Sheeran
```
从列表中选择要播放的视频。所选内容将在你的默认媒体播放器中播放。
@ -339,43 +338,43 @@ $ ytview Ed Sheeran
![][7]
要查看艺术家的近期视频,你可以使用:
```
$ ytview -c [channel name]
```
要寻找视频,只需输入:
```
$ ytview -s [videoToSearch]
```
或者:
```
$ ytview [videoToSearch]
```
**11\. cloudup 备份p GitHub 仓库到 bitbucket**
#### 11、 cloudup 备份 GitHub 仓库到 bitbucket
你在 GitHub 上托管过任何项目吗?如果托管过,那么你可以随时间 GitHub 仓库备份到 **bitbucket**,它是一种用于源代码和开发项目的基于 Web 的托管服务。
你可以使用 **-a** 选项一次性备份指定用户的所有 GitHub 仓库,或者不使用它来备份单个仓库。
你可以使用 `-a` 选项一次性备份指定用户的所有 GitHub 仓库,或者备份单个仓库。
要备份 GitHub 仓库,运行:
```
$ cloudup
```
系统将要求你输入 GitHub 用户名, 要备份的仓库名称以及 bitbucket 用户名和密码等。
**12\. Qrify 将字符串转换为二维码**
#### 12、 Qrify 将字符串转换为二维码
这个脚本将任何给定的文本字符串转换为二维码。这对于发送链接或者保存一串命令到手机非常有用。
```
$ qrify convert this text into qr code
```
示例输出:
@ -384,108 +383,110 @@ $ qrify convert this text into qr code
很酷,不是吗?
**13\. Cryptocurrency**
#### 13、 Cryptocurrency
它将显示十大加密货币实时汇率。
输入以下命令,然后单击 ENTER 来运行:
输入以下命令,然后单击回车来运行:
```
$ cryptocurrency
```
![][9]
**14\. Lyrics**
#### 14、 Lyrics
这个脚本从命令行快速获取一首歌曲的歌词。
例如,我将获取 **“who is it”** 歌曲的歌词,这是一首由 **Michael Jackson迈克尔·杰克逊** 演唱的流行歌曲。
例如,我将获取 “who is it” 歌曲的歌词,这是一首由 <ruby>迈克尔·杰克逊<rt>Michael Jackson</rt></ruby> 演唱的流行歌曲。
```
$ lyrics -a michael jackson -s who is it
```
![][10]
**15\. Meme**
这个脚本允许你从命令行创建简单的表情包。它比基于 GUI 的表情包生成器快得多。
#### 15、 Meme
这个脚本允许你从命令行创建简单的表情贴图。它比基于 GUI 的表情包生成器快得多。
要创建一个表情贴图,只需输入:
要创建一个表情包,只需输入:
```
$ meme -f mymeme
Enter the name for the meme's background (Ex. buzz, doge, blb ): buzz
Enter the text for the first line: THIS IS A
Enter the text for the second line: MEME
```
这将在你当前的工作目录创建 jpg 文件。
**16\. Newton**
#### 16、 Newton
厌倦了解决复杂的数学问题你来对了。Newton 脚本将执行数值计算,直到符号数学解析。to 校正者:这里不太理解)
厌倦了解决复杂的数学问题你来对了。Newton 脚本将执行数值计算,乃至于符号数学解析。
![][11]
**17\. Siteciphers**
#### 17、 Siteciphers
这个脚本可以帮助你检查在给定的 https 站点上启用/禁用哪些加密算法。LCTT 译注:指 HTTPS 通讯中采用的加密算法)
这个脚本可以帮助你检查在给定的 https 站点上启用/禁用哪些密码。
```
$ siteciphers google.com
```
![][12]
**18\. Todo**
#### 18、 Todo
它允许你直接从终端创建日常任务。
让我们来创建一些任务。
```
$ todo -a The first task
01). The first task Tue Jun 26 14:51:30 IST 2018
```
要添加其它任务,只需添加任务名称重新运行上述命令即可。
```
$ todo -a The second task
01). The first task Tue Jun 26 14:51:30 IST 2018
02). The second task Tue Jun 26 14:52:29 IST 2018
```
要查看任务列表,运行:
```
$ todo -g
01). The first task Tue Jun 26 14:51:30 IST 2018
02). A The second task Tue Jun 26 14:51:46 IST 2018
```
一旦你完成了任务,就可以将其从列表中删除,如下所示:
```
$ todo -r 2
Sucessfully removed task number 2
01). The first task Tue Jun 26 14:51:30 IST 2018
```
要清除所有任务,运行:
```
$ todo -c
Tasks cleared.
```
**19\. Transfer**
#### 19、 Transfer
Transfer 脚本允许你通过 Internet 快速轻松地传输文件和目录。
Transfer 脚本允许你通过互联网快速轻松地传输文件和目录。
让我们上传一个文件:
```
$ transfer test.txt
Uploading test.txt
@ -493,29 +494,30 @@ Uploading test.txt
Success!
Transfer Download Command: transfer -d desiredOutputDirectory ivmfj test.txt
Transfer File URL: https://transfer.sh/ivmfj/test.txt
```
该文件将上传到 transfer.sh 站点。Transfer.sh 允许你一次上传最大 **10 GB** 的文件。所有共享文件在 **14 天**后自动过期。如你所见,任何人都可以通过 Web 浏览器访问 URL 或使用 transfer 目录来下载文件当然transfer 必须安装在他/她的系统中。
现在从你的系统中移除文件。
```
$ rm -fr test.txt
```
现在你可以随时14 天内)从 transfer.sh 站点下载该文件,如下所示:
```
$ transfer -d Downloads ivmfj test.txt
```
获取关于此实用脚本的更多详情,参考以下指南。
* [从命令行在 Internet 上共享文件的一个简单快捷方法](https://www.ostechnix.com/easy-fast-way-share-files-internet-command-line/)
##### 获得帮助
* [用命令行在互联网上共享文件的一个简单快捷方法](https://www.ostechnix.com/easy-fast-way-share-files-internet-command-line/)
### 获得帮助
如果你不知道如何使用特定脚本,只需输入该脚本的名称,然后按下 ENTER 键,你将会看到使用细节。以下示例显示 Qrify 脚本的帮助信息。
如果你不知道如何使用特定脚本,只需输入该脚本的名称,然后按下 ENTER 键,你将会看到使用细节。以下示例显示 **Qrify** 脚本的帮助信息。
```
$ qrify
Qrify
@ -532,44 +534,46 @@ Examples:
```
#### 更新脚本
### 更新脚本
你可以随时使用 `-u` 选项更新已安装的工具。以下命令更新 “weather” 工具。
你可以随时使用 -u 选项更新已安装的工具。以下命令更新 “weather” 工具。
```
$ weather -u
```
#### 卸载
### 卸载
你可以使用以下命令来卸载这些工具。
克隆仓库:
```
$ git clone https://github.com/alexanderepstein/Bash-Snippets
```
进入 Bash-Snippets 目录:
```
$ cd Bash-Snippets
```
运行以下命令来卸载脚本:
```
$ sudo ./uninstall.sh
```
输入 **y**,并按下 ENTER 键来移除每个脚本。
输入 `y`,并按下回车键来移除每个脚本。
```
Do you wish to uninstall currency [Y/n]: y
```
**另请阅读:**
- [Cli.Fyi —— 快速而简单地获取诸如 IP、电子邮件、域名等信息的方式](https://www.ostechnix.com/cli-fyi-quick-easy-way-fetch-information-ips-emails-domains-lots/)
好了,这就是全部了。我必须承认,在测试这些脚本时我印象很深刻。我真的很喜欢将所有有用的脚本组合到一个包中的想法。感谢开发者。试一试,你不会失望的。
干杯!
@ -581,7 +585,7 @@ via: https://www.ostechnix.com/collection-useful-bash-scripts-heavy-commandline-
作者:[SK][a]
选题:[lujun9972](https://github.com/lujun9972)
译者:[MjSeven](https://github.com/MjSeven)
校对:[校对者ID](https://github.com/校对者ID)
校对:[wxy](https://github.com/wxy)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出

View File

@ -1,49 +1,50 @@
用于与非 Linux 用户作的 Linux 命令行工具
用于与非 Linux 用户一同工作的 Linux 命令行工具
======
> 如果你在 Linux 终端工作,那么与非 Linux 用户一同工作时可能遇到困难。这些工具有助于文档兼容性和企业即时消息。
![](https://images.techhive.com/images/article/2016/06/linux-shell-100666628-large.jpg)
我大部分时间都在使用 Shell命令行终端或其他不管在你使用的平台上的名称上。但是当我需要与大量其他人合作时这可能会有点挑战特别是在大型企业公司中 - 除了 shell 外其他都使用。
当公司内的其他人使用与你不同的平台时,问题就会变得更加严重。我倾向于使用 Linux。如果我在 Linux 终端上做了很多日常工作,而我的大多数同事都使用 Windows 10完全使用 GUI 端),那么事情就会变得有问题
我大部分时间都在使用 Shell命令行、终端或其它随便什么你使用的平台上。但是当我需要与大量其他人合作时这可能会有点挑战特别是在大型企业公司中 —— 除了 shell 外其他都使用
**Network World 上另外一篇文章:**[**11 个没用但很酷的 Linux 终端技巧**][1]
当公司内的其他人使用与你不同的平台时,问题就会变得更加严重。我倾向于使用 Linux。如果我在 Linux 终端上做了很多日常工作,而我的大多数同事都使用 Windows 10完全使用 GUI 端),那么事情就会变得……有问题。
幸运的是,在过去的几年里,我已经想出如何处理这些问题。我已经找到了在非 Unix 的企业环境中使用 Linux或其他类 Unix 系统Shell 的方法。这些工具/技巧同样适用于在公司服务器上工作的系统管理员s就像对开发人员或营销人员一样。。
- **Network World 上另外一篇文章:**[**11 个没用但很酷的 Linux 终端技巧**][1]
## 用于与非 Linux 用户合作的 Linux 命令行工具
幸运的是,在过去的几年里,我已经想出如何处理这些问题。我已经找到了在非 Unix 的企业环境中使用 Linux或其他类 Unix 系统Shell 的方法。这些工具/技巧同样适用于在公司服务器上工作的系统管理员们,就像对开发人员或营销人员一样。
让我们首先关注对于大公司中的许多人来说似乎最难解决的两个方面:文档兼容性和企业即时消息。
### Linux 和非 Linux 系统之间的文档兼容性
出现的最大问题之一是简单的文字处理文档兼容性。
出现的最大问题之一是简单的文字处理文档兼容性。
假设你的公司已在 Microsoft Office 上进行了标准化。这让你难过。但不要失去希望!有很多方法可以使它(基本)可用 - 甚至在 shell 中。
假设你的公司已在 Microsoft Office 上进行了标准化。这让你难过。但不要失去希望!有很多方法可以使它(基本)可用 —— 甚至在 shell 中。
两个工具在我的武器库中至关重要:[Pandoc][2] 和 [Wordgrinder][3]。
Wordgrinder 是一个简单直观的文字处理器。它可能不像 LibreOffice 那样功能齐全(或者,实际上,任何主要的 GUI 文字处理应用程序),但速度很快。它很稳定。它有足够的功能(和文件格式)来完成工作。事实上,我完全在 Wordgrinder 中写了我的大部分文章和书籍。
Wordgrinder 是一个简单直观的文字处理器。它可能不像 LibreOffice 那样功能齐全(或者,实际上,任何主要的 GUI 文字处理应用程序),但速度很快。它很稳定。它有足够的功能(和文件格式)来完成工作。事实上,我完全在 Wordgrinder 中写了我的大部分文章和书籍。
但是有一个问题(你知道肯定会有)。
Wordgrinder 不支持 .doc或 .docx文件。这意味着它无法读取使用 Windows 和 MS Office 的同事发送给你的大多数文件。
这就是P andoc 的用武之地。它是一个简单的文档转换器可以将各种文件作为输入MS Word、LibreOffice、HTML、markdown 等)并将它们转换为其他内容。它支持的格式数量绝对是惊人的 - PDF、ePub、各种幻灯片格式。它确实使格式之间的文档转换变得轻而易举。
这就是 Pandoc 的用武之地。它是一个简单的文档转换器可以将各种文件作为输入MS Word、LibreOffice、HTML、markdown 等)并将它们转换为其他内容。它支持的格式数量绝对是惊人的 —— PDF、ePub、各种幻灯片格式。它确实使格式之间的文档转换变得轻而易举。
这并不是说我不会偶尔遇到格式或功能问题。转换有大量自定义格式,某些脚本和嵌入式图表的 Word 文档?是的,在这个过程中会丢失很多。
这并不是说我不会偶尔遇到格式或功能问题。要转换有大量自定义格式、某些脚本和嵌入式图表的 Word 文档?是的,在这个过程中会丢失很多。
但实际上Pandoc用于转换文件和 Wordgrinder用于文档编辑的组合已经证明非常有用和强大。
### Linux 和非 Linux 系统之间的企业即时消息传递
每家公司都喜欢在即时通讯系统上实现标准化 - 所有员工都可以使用它来保持实时联系。
每家公司都喜欢在即时通讯系统上实现标准化 —— 所有员工都可以使用它来保持实时联系。
在命令行中,这可能会变得棘手。如果贵公司使用 Google 环聊怎么办?或者 Novell GroupWise Messenger 怎么样?既没有官方支持,也没有基于终端的客户端。
谢天谢地,还有[ Finch 和 Hangups][4]。
谢天谢地,还有 [Finch 和 Hangups][4]。
Finch 是 Pidgin开源多协议消息客户端的终端版本。它支持各种协议包括 Novell GroupWise、很快会死AOL Instant Messenger 以及其他一些协议。
Finch 是 Pidgin开源多协议消息客户端的终端版本。它支持各种协议包括 Novell GroupWise、很快会死AOL Instant Messenger 以及其他一些协议。
而 Hangups 是 Google Hangouts 客户端的开源实现 - 包含消息历史记录和精美的标签界面。
而 Hangups 是 Google Hangouts 客户端的开源实现 —— 包含消息历史记录和精美的标签界面。
这些方案都不会为你提供语音或视频聊天功能但对于基于文本的消息它们的工作得非常好。它们并不完美Finch 的用户界面需要时间习惯),但它们肯定足以与你的同事保持联系。
@ -58,7 +59,7 @@ via: https://www.networkworld.com/article/3235688/linux/linux-command-line-tools
作者:[Bryan Lunduke][a]
译者:[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/) 荣誉推出

View File

@ -1,6 +1,8 @@
在 Linux 中使用 top 命令的建议
======
> 通过这篇教程提升你的 `top` 命令的知识。
![](https://opensource.com/sites/default/files/styles/image-full-size/public/lead-images/linux_penguin_green.png?itok=ENdVzW22)
尝试找出你的机器正在运行什么程序,以及哪个进程耗尽了内存导致系统非常非常慢 —— 这是 `top` 命令所能胜任的工作。

View File

@ -1,154 +0,0 @@
Translating by DavidChenLiang
Find If A Package Is Available For Your Linux Distribution
======
![](https://www.ostechnix.com/wp-content/uploads/2018/06/Whohas-720x340.png)
Some times, you might wonder how to find if a package is available for your Linux distribution. Or, you simply wanted to know what version of package is available for your distribution. If so, well, its your lucky day. I know a tool that can get you such information. Meet **“Whohas”** a command line tool that allows querying several package lists at once. Currently, it supports Arch, Debian, Fedora, Gentoo, Mandriva, openSUSE, Slackware, Source Mage, Ubuntu, FreeBSD, NetBSD, OpenBSD, Fink, MacPorts and Cygwin. Using this little tool, the package maintainers can easily find ebuilds, pkgbuilds and similar package definitions from other distributions. Whohas is free, open source and written in Perl programming language.
### Find If A Package Is Available For Your Linux Distribution
**Installing Whohas**
Whohas is available in the default repositories of Debian, Ubuntu, Linux Mint. If youre using any one of the DEB-based system, you can install it using command:
```
$ sudo apt-get install whohas
```
For Arch-based systems, it is available in [**AUR**][1]. You can use any AUR helper programs to install it.
Using [**Packer**][2]:
```
$ packer -S whohas
```
Using [**Trizen**][3]:
```
$ trizen -S whohas
```
Using [**Yay**][4]:
```
$ yay -S whohas
```
Using [**Yaourt**][5]:
```
$ yaourt -S whohas
```
In other Linux distributions, download Whohas utility source from [**here**][6] and manually compile and install it.
**Usage**
The main objective of Whohas tool is to let you know:
* Which distribution provides packages on which the user depends.
* What version of a given package is in use in each distribution, or in each release of a distribution.
Let us find which distributions contains a specific package, for example **vim**. To do so, run:
```
$ whohas vim
```
This command will show all distributions that contains the vim package with the available version of the given package, its size, repository and the download URL.
![][8]
You can even sort the results in alphabetical order by distribution using by piping the output to “sort” command like below.
```
$ whohas vim | sort
```
Please note that the above commands will display all packages that starts with name **vim** , for example vim-spell, vimcommander, vimpager etc. You can narrow down the search to the exact package by using grep command and space before or after or on both sides of your package like below.
```
$ whohas vim | sort | grep " vim"
$ whohas vim | sort | grep "vim "
$ whohas vim | sort | grep " vim "
```
The space before the package name will display all packages that ends with search term. The space after the package name will display all packages whose names begin with your search term. The space on both sides of the search will display the exact match.
Alternatively, you could simply use “strict” option like below.
```
$ whohas --strict vim
```
Sometimes, you want to know if a package is available for a specific distribution only. For example, to find if vim package is available in Arch Linux, run:
```
$ whohas vim | grep "^Arch"
```
The distribution names are abbreviated as “archlinux”, “cygwin”, “debian”, “fedora”, “fink”, “freebsd”, “gentoo”, “mandriva”, “macports”, “netbsd”, “openbsd”, “opensuse”, “slackware”, “sourcemage”, and “ubuntu”.
You can also get the same results by using **-d** option like below.
```
$ whohas -d archlinux vim
```
This command will search vim packages for Arch Linux distribution only.
To search for multiple distributions, for example arch linux, ubuntu, use the following command instead.
```
$ whohas -d archlinux,ubuntu vim
```
You can even find which distributions have “whohas” package.
```
$ whohas whohas
```
For more details, refer the man pages.
```
$ man whohas
```
**Also read:**
All package managers can easily find the available package versions in the repositories.. However, Whohas can help you to get the comparison of available versions of packages across different distributions and which even has it available now. Give it a try, you wont be disappointed.
And, thats all for now. Hope this was useful. More good stuffs to come. Stay tuned!
Cheers!
--------------------------------------------------------------------------------
via: https://www.ostechnix.com/find-if-a-package-is-available-for-your-linux-distribution/
作者:[SK][a]
选题:[lujun9972](https://github.com/lujun9972)
译者:[译者ID](https://github.com/译者ID)
校对:[校对者ID](https://github.com/校对者ID)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
[a]:https://www.ostechnix.com/author/sk/
[1]:https://aur.archlinux.org/packages/whohas/
[2]:https://www.ostechnix.com/install-packer-arch-linux-2/
[3]:https://www.ostechnix.com/trizen-lightweight-aur-package-manager-arch-based-systems/
[4]:https://www.ostechnix.com/yay-found-yet-another-reliable-aur-helper/
[5]:https://www.ostechnix.com/install-yaourt-arch-linux/
[6]:http://www.philippwesche.org/200811/whohas/intro.html
[7]:data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7
[8]:http://www.ostechnix.com/wp-content/uploads/2018/06/whohas-1.png

View File

@ -1,3 +1,5 @@
translating---geekpi
How to Install 2048 Game in Ubuntu and Other Linux Distributions
======
**Popular mobile puzzle game 2048 can also be played on Ubuntu and Linux distributions. Heck! You can even play 2048 in Linux terminal. Dont blame me if your productivity goes down because of this addictive game.**

View File

@ -1,78 +0,0 @@
translating---geekpi
Image creation applications for Fedora
======
![](https://fedoramagazine.org/wp-content/uploads/2018/08/creatingimages-816x346.png)
Feeling creative? There are a multitude of applications available for Fedora to aid your creativity. From digital painting, vectors, to pixel art there is something for everyone to get creative this weekend. This article highlights a selection of the applications available for Fedora for creating awesome images.
### Vector graphics: Inkscape
[Inkscape][1] is a well known and loved Open Source vector graphics editor. SVG is the primary file format of Inkscape, so all your drawings will scale no-problems! Inkscape has been around for many years, so there is a solid community and [mountains of tutorials and other resources][2] for getting started.
Being a vector graphics editor, Inkscape is better suited towards simpler illustrations (for example a simple comics style). However, using vector blurs, some artists create some [amazing vector drawings][3].
![][4]
Install Inkscape from the Software application in Fedora Workstation, or use the following command in Terminal:
```
sudo dnf install inkscape
```
### Digital Painting: Krita & Mypaint
[Krita][5] is a popular image creation application for digital painting, raster illustration, and texturing. Additionally, Krita is an active project, with a vibrant community — so [lots of tutorials to get started][6]. Krita features multiple brush engines, a UI with pop-up palletes, a wrap-around mode for creating seamless patterns, filters, layers, and much more.
![][7]
Install Krita from the Software application in Fedora Workstation, or use the following command in Terminal:
```
sudo dnf install krita
```
[Mypaint][8] is another amazing digital painting application available for Fedora. Like Krita, it has multiple brushes and the ability to use layers.
![][9]
Install Mypaint from the Software application in Fedora Workstation, or use the following command in Terminal:
```
sudo dnf install mypaint
```
### Pixel Art: Libresprite
[Libresprite][10] is an application designed for the creation of pixel art and pixel animations. It supports a range of colour modes and exports to many formats (including animated GIF). Additionally, Libresprite has drawing tools designed for the creation of pixel art: the polygon tool, and contour & shading tools.
![][11]
Libresprite is available to download from the Flathub application repository. To install, simply [enable Flathub as a software source][12], and then install via the Software application.
--------------------------------------------------------------------------------
via: https://fedoramagazine.org/image-creation-applications-fedora/
作者:[Ryan Lerch][a]
选题:[lujun9972](https://github.com/lujun9972)
译者:[译者ID](https://github.com/译者ID)
校对:[校对者ID](https://github.com/校对者ID)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
[a]: https://fedoramagazine.org/introducing-flatpak/
[1]:http://inkscape.org
[2]:https://inkscape.org/en/learn/tutorials/
[3]:https://inkscape.org/en/gallery/
[4]:https://fedoramagazine.org/wp-content/uploads/2018/08/inkscape.png
[5]:https://krita.org/en/
[6]:https://docs.krita.org/en/
[7]:https://fedoramagazine.org/wp-content/uploads/2018/08/krita.jpg
[8]:http://mypaint.org/about/
[9]:https://fedoramagazine.org/wp-content/uploads/2018/08/mypaint.png
[10]:https://github.com/LibreSprite/LibreSprite
[11]:https://fedoramagazine.org/wp-content/uploads/2018/08/libresprite.gif
[12]:https://fedoramagazine.org/install-flathub-apps-fedora/

View File

@ -1,144 +0,0 @@
pinewall translating
How To Switch Between Different Versions Of Commands In Linux
======
![](https://www.ostechnix.com/wp-content/uploads/2018/08/alt-tool-720x340.png)
A couple days ago, we discussed how to [**switch between multiple PHP versions**][1]. In that method, we used **update-alternatives** command to switch from one PHP version to another. That means, the update-alternatives commands helps you to set which system wide version of PHP you want to use by default. To put this in layman terms, you can change the version of a command system wide using update-alternatives command. What if you want to change command versions dynamically depending on what directory youre in? This is where **alt** utility comes in help. The alt is a command line tool that helps you to switch between different versions of commands in Unix-like systems. It is a simple, free, open source tool written in **Rust** programming language.
### Installation
Installing alt utility is trivial.
To install alt on your Linux machine, just run the following command:
```
$ curl -sL https://github.com/dotboris/alt/raw/master/install.sh | bash -s
```
Next, add the shims directory to your PATH environment variable depending upon the SHELL you are use.
For BASH:
```
$ echo 'export PATH="$HOME/.local/alt/shims:$PATH"' >> ~/.bashrc
$ source ~/.bashrc
```
For ZSH:
```
$ echo 'export PATH="$HOME/.local/alt/shims:$PATH"' >> ~/.zshrc
$ source ~/.zshrc
```
For FISH:
```
$ echo 'set -x PATH "$HOME/.local/alt/shims" $PATH' >> ~/.config/fish/config.fish
```
Alt is installed!
### Switch Between Different Versions Of Commands Using Alt Tool In Linux
Like I mentioned earlier, alt works with the current directory. That means, when you switch from one version to another, you do so for the current working directory only, not system wide.
Let us see an example. I have installed two PHP versions in my Ubuntu system, PHP 5.6 and PHP 7.2 respectively and I have some PHP applications in a directory called **myproject**.
First, let us see the globally installed PHP version using command:
```
$ php -v
```
**Sample output:**
![Find PHP version][3]
As you see in the above screenshot, my system wide default version is PHP7.2.
Next, I am gong to “myproject” directory where I have kept my PHP applications.
```
$ cd myproject
```
Scan the available PHP versions using the following command:
```
$ alt scan php
```
**Sample output:**
![alt scan php][4]
As you can see, I have two PHP versions, PHP5.6 and PHP7.2. Now press **< SPACEBAR>** key to select all available versions. After selecting all available versions, you will see a cross mark behind each version as shown below picture. Use UP/DOWN arrows to move between the versions. Finally press ENTER to save the changes.
![Select php version][5]
Next run the following command to choose which PHP version you want to use inside the myproject directory:
```
$ alt use php
```
I am going to use PHP5.6 version, so I selected it(use arrow keys to select) and hit ENTER key.
![set php version][6]
You can now use php 5.6 (/usr/bin/php5.6) when in /home/sk/myproject directory.
Let us check if the PHP5.6 is set as default inside the myproject directory:
```
$ php -v
```
**Sample output:**
![Check PHP version][7]
It will stay as 5.6 version until you change to different version. Got it? Good! Please note that we use php5.6 version only inside this directory. On system level, PHP7.2 is still the default version. Have a look at the following image.
![Check PHP version 1][8]
As you can see in the above screenshot, I have two different versions of PHP. Inside the myproject directory, I got PHP5.6 and outside the myproject, PHP version is 7.2.
Similarly, you can set any version of your choice in each directory. I used PHP for the demonstration purpose. You can, however, use any software of your choice, for example NodeJS.
Here is the demonstration video for NodeJS.
![][9]
The alt utility can be useful when you wanted to test your applications under different versions of applications.
And, thats all for now. More good stuffs to come. Stay tuned!
Cheers!
--------------------------------------------------------------------------------
via: https://www.ostechnix.com/how-to-switch-between-different-versions-of-commands-in-linux/
作者:[SK][a]
选题:[lujun9972](https://github.com/lujun9972)
译者:[译者ID](https://github.com/译者ID)
校对:[校对者ID](https://github.com/校对者ID)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
[a]:https://www.ostechnix.com/author/sk/
[1]:https://www.ostechnix.com/how-to-switch-between-multiple-php-versions-in-ubuntu/
[2]:data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7
[3]:http://www.ostechnix.com/wp-content/uploads/2018/08/Find-PHP-version.png
[4]:http://www.ostechnix.com/wp-content/uploads/2018/08/alt-scan-php.png
[5]:http://www.ostechnix.com/wp-content/uploads/2018/08/Select-php-version.png
[6]:http://www.ostechnix.com/wp-content/uploads/2018/08/set-php-version.png
[7]:http://www.ostechnix.com/wp-content/uploads/2018/08/Check-PHP-version.png
[8]:http://www.ostechnix.com/wp-content/uploads/2018/08/Check-PHP-version-1.png
[9]:http://www.ostechnix.com/wp-content/uploads/2018/08/Alt-NodeJS-demo.gif

View File

@ -0,0 +1,51 @@
Keeping patient data safe with open source tools
======
![](https://opensource.com/sites/default/files/styles/image-full-size/public/lead-images/health_heartbeat.png?itok=P-GXea-p)
Healthcare is experiencing a revolution. In a tightly regulated and ancient industry, the use of free and open source software make it uniquely positioned to see a great deal of progress.
I work at a [scrappy healthcare startup][1] where cost savings are a top priority. Our primary challenge is how to safely and efficiently manage personally identifying information (PII), like names, addresses, insurance information, etc., and personal health information (PHI), like the reason for a recent clinical visit, under the regulations of the Health Insurance Portability and Accountability Act of 1996, [HIPAA][2], which became mandatory in the United States in 2003.
Briefly, HIPAA is a set of U.S. regulations that were created in response to the need for safety in healthcare data transmission and security. Titles 1, 3, 4, and 5 relate to the healthcare industry and insurance regulation, and Title 2 protects patient privacy and the security of the PHI/PII. Title 2 dictates how and to whom medical information can be disclosed (patients, medical providers, and relevant staff members), and it also loosely describes technological security that must be used, with many suggestions.
The law was written to manage digital data portability through some amount of time (though several updates have been added to the original legislation), but it couldnt have anticipated the kinds of technological advancements that have been introduced, so it often lacks detail on exactly how to keep patient data safe. Auditors want to see best-effort, authentically crafted and respected documentation—an often vague but compelling and ever-present challenge. But no regulation says we cant use open source software, which makes our lives much easier.
Our stack consists of Python, with readily available open source security and cryptography packages that are typically already baked into the requirements of Python web frameworks (which in our case is Klein, a framework built with Twisted, an asynchronous networking framework for Python). On the front end, weve got [AngularJS][3]. Some of the free security Python packages we use are [cryptography][4], [itsdangerous][5], [pycrypto][6], and somewhat unrelatedly, [magic-wormhole][7], a fairly cryptographically secure file sending tool that my team and I love, built on Twisted and the Python cryptography packages.
These tools are integral to our HIPAA compliance on both the front-end and server side, as described in the example below. With the maturity and funding of FOSS (shout-out to the Mozilla Foundation for [funding the PyPI project][8], the packaging repository all Python developers depend on), its possible for a for-profit business to not only use and contribute to a significant amount of open source but also make it secure.
One of our early challenges was how to use Amazon Web Services' (AWS) message queuer, [SQS][9] (Simple Queueing Service), to transmit data from our application server to our data interface server (before SQS encrypted traffic end to end). We separate the data intake/send instance from the web application instance to make the data and the application incommunicable to one another. This reduces the security surface should an attacker gain access. The purpose of SQS, then, is to transmit data we receive from partners for continuing care and store it temporarily in application memory, and data that we send back to our data and interface engine from the application to add to patients chart on the healthcare networks medical records system.
A typical HIPAA-compliant installation requires all data in transit to be encrypted, but at the time, SQS had no HIPAA-compliant option. So we use [GNU Privacy Guard][10] (GnuPG), which can be difficult to use but is reliable and cryptographically secure when applied correctly. This ensures that any data housed on the application server for any period of time is encrypted with a key we created for this service. While data is in transit from the application to the data interface, we encrypt and decrypt it with keys that live only on the two components.
While its easier than ever to use open source software, we are still working on contributing back. Even as the company attorneys and marketing folks determine the best and safest way to publicize our OSS projects, weve had some nibbles at our pip packages and repositories from others looking for the exact solution we present. Im excited to make the [projects][11] [we've][12] [issued][13] better known, to steward more of our open source code to those who want it, and to encourage others to contribute back in kind.
There are a number of hurdles to this innovation in healthcare, and I recommend the excellent [EMR & HIPAA][14] blog, which offers a terrific, accessible daily newsletter on how many organizations are addressing these hurdles technically, logistically, and interpersonally.
--------------------------------------------------------------------------------
via: https://opensource.com/article/18/8/foss-hippa-healthcare-open-source-tools
作者:[Rachel Kelly][a]
选题:[lujun9972](https://github.com/lujun9972)
译者:[译者ID](https://github.com/译者ID)
校对:[校对者ID](https://github.com/校对者ID)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
[a]:https://opensource.com/users/rachelkelly
[1]:http://bright.md/
[2]:https://www.hhs.gov/hipaa/for-individuals/guidance-materials-for-consumers/index.html
[3]:https://angularjs.org/
[4]:https://pypi.org/project/cryptography/
[5]:https://pypi.org/project/itsdangerous/
[6]:https://pypi.org/project/pycrypto/
[7]:https://github.com/warner/magic-wormhole
[8]:http://pyfound.blogspot.com/2017/11/the-psf-awarded-moss-grant-pypi.html
[9]:https://aws.amazon.com/sqs/
[10]:https://gnupg.org/
[11]:https://github.com/Brightmd/txk8s
[12]:https://github.com/Brightmd/hoursofoperation
[13]:https://github.com/Brightmd/yamlschema
[14]:https://www.emrandhipaa.com/

View File

@ -0,0 +1,195 @@
如何确定你的Linux发行版中有没有某个软件包
======
![](https://www.ostechnix.com/wp-content/uploads/2018/06/Whohas-720x340.png)
有时你可能会想知道如何在你的Linux发行版上寻找一个特定的软件包。或者你仅仅只是想知道安装在你的Linux上的软件包有什么版本。如果这就是你想知道的信息你今天走运了。我正好知道一个小工具能帮你抓到上述信息下面隆重推荐--'Whohas'这是一个命令行工具它能一次查询好几个软件包列表以检查的你软件包是否存在。目前whohas支持Arch Debian Fedora Gentoo, Mandriva openSUSE Slackware Source Mage Ubuntu FreeBSD NetBSD OpenBSDLCTT译注*BSD不是Linux Fink MacPorts 和Cygwin. 使用这个小工具软件包的维护者能轻而易举从别的Linux发行版里找到ebuilds, pkgbuilds 等等类似的包定义文件。
'Whohas'是用Perl语言开发的免费开源的工具。
###在你的Linux中寻找一个特定的包
**安装 Whohas**
Whohas 在Debian, Ubuntu, Linux Mint的默认软件仓库里提供。如果你正在使用某种基于DEB的系统 你可以用如下命令安装:
```
$ sudo apt-get install whohas
```
对基于Arch的系统[**AUR**][1]里就有提供whohas。你能使用任何的ARU助手程序来安装。
使用 [**Packer**][2]:
```
$ packer -S whohas
```
或使用[**Trizen**][3]:
```
$ trizen -S whohas
```
使用[**Yay**][4]:
```
$ yay -S whohas
```
使用[**Yaourt**][5]:
```
$ yaourt -S whohas
```
在别的Linux发行版上从[**here**][6]下载源代码并手工编译安装。
**使用方法**
Whohas的主要目标是想让你知道
* 哪个Linux发布版提供了用户依赖的包。
* 对于各个Linux发行版指定的软件包是什么版本或者在这个Linux发行版的各个不同版本上指定的软件包是什么版本。
让我们试试看上面的的功能比如说哪个Linux发行版里有**vim**这个软件?我们可以运行如下命令:
```
$ whohas vim
```
这个命令将会显示所有包含可安装的vim的Linux发行版的信息包括包的大小仓库地址和下载URL。
![][8]
你甚至可以通过管道将输出的结果按照发行版的字母排序只需加入sort 命令即可。
```
$ whohas vim | sort
```
请注意上述命令将会显示所有以**vim**开头的软件包包括vim-spell,vimcommander, vimpager等等。你可以继续使用Linux的grep命令在vim的前后加上空格来缩小你的搜索范围直到满意为止。
```
$ whohas vim | sort | grep " vim"
$ whohas vim | sort | grep "vim "
$ whohas vim | sort | grep " vim "
```
所有将空格放在包名字前面的搜索将会显示以包名字结尾的包。所有将空格放在包名字后面的搜索将会显示以包名字开头的包。前后都有空格将会严格匹配。
又或者,你就使用‘--strict来严格限制结果。
```
$ whohas --strict vim
```
有时你想知道一个包在不在一个特定的Linux发行版里。例如你想知道vim是否在Arch Linux里请运行
```
$ whohas vim | grep "^Arch"
```
LCTT译注在结果里搜索以Arch开头的Linux
Linux发行版的命名缩写为'archlinux', 'cygwin', 'debian', 'fedora', 'fink', 'freebsd', 'gentoo', 'mandriva', 'macports', 'netbsd', 'openbsd', 'opensuse', 'slackware', 'sourcemage'和ubuntu
你也可以用**-d**选项来得到同样的结果。
```
$ whohas -d archlinux vim
```
这个命令将在仅仅Arch Linux发行版下搜索vim包。
如果要在多个Linux发行版下搜索arch linux,'ubuntu',请使用如下命令。
```
$ whohas -d archlinux,ubuntu vim
```
你甚至可以用whohas来查找哪个发行版有'whohas'包。
```
$ whohas whohas
```
更详细的信息,请参照手册。
```
$ man whohas
```
**最后的话**
当然任何一个Linux发行版的包管理器都能轻松的在对应的软件仓库里找到自己管理的包。不过, whohas帮你整合并比较了在不同的Linux发行版下指定的软件包信息这样你能轻易的跨平台之间进行比较。试一下whohas你一定不会失望的。
好了,今天就到这里吧,希望前面讲的对你有用,下次我还会带来更多好东西!!
欧耶!
--------------------------------------------------------------------------------
via: https://www.ostechnix.com/find-if-a-package-is-available-for-your-linux-distribution/
作者:[SK][a]
选题:[lujun9972](https://github.com/lujun9972)
译者:[DavidChenLiang](https://github.com/davidchenliang)
校对:[校对者ID](https://github.com/校对者ID)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
[a]:https://www.ostechnix.com/author/sk/
[1]:https://aur.archlinux.org/packages/whohas/
[2]:https://www.ostechnix.com/install-packer-arch-linux-2/
[3]:https://www.ostechnix.com/trizen-lightweight-aur-package-manager-arch-based-systems/
[4]:https://www.ostechnix.com/yay-found-yet-another-reliable-aur-helper/
[5]:https://www.ostechnix.com/install-yaourt-arch-linux/
[6]:http://www.philippwesche.org/200811/whohas/intro.html
[7]:data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7
[8]:http://www.ostechnix.com/wp-content/uploads/2018/06/whohas-1.png

View File

@ -0,0 +1,76 @@
Fedora 下的图像创建程序
======
![](https://fedoramagazine.org/wp-content/uploads/2018/08/creatingimages-816x346.png)
感觉有创意吗Fedora 有很多程序可以帮助你的创造力。从数字绘图、矢量到像素艺术,每个人都可以在这个周末得到创意。本文重点介绍了 Fedora 下创建很棒图像的程序。
### 矢量图形Inkscape
[Inkscape][1] 是一个众所周知受人喜爱的开源矢量图形编辑器。SVG 是 Inkscape 的主要文件格式因此你所有的图形都可以伸缩Inkscape 已存在多年,所以有一个坚实的社区和[大量的教程和其他资源][2]用于入门。
作为矢量图形编辑器Inkscape 更适合于简单的插图(例如简单的漫画风格)。然而,使用矢量模糊,一些艺术家创造了一些[令人惊奇的矢量图][3]。
![][4]
从 Fedora Workstation 中的软件应用安装 Inkscape或在终端中使用以下命令
```
sudo dnf install inkscape
```
### 数字绘图Krita 和 Mypaint
[Krita][5] 是一个流行的图像创建程序用于数字绘图、光栅插图和纹理。此外Krita 是一个活跃的项目,拥有一个充满活力的社区 - 所以[有很多教程用于入门] [6]。Krita 有多个画笔引擎,带弹出调色板的 UI用于创建无缝图案的环绕模式、滤镜、图层等等。
![][7]
从 Fedora Workstation 中的软件应用安装 Krita或在终端中使用以下命令
```
sudo dnf install krita
```
[Mypaint][8] 是另一款适用于 Fedora 令人惊奇的数字绘图程序。像 Krita 一样,它有多个画笔和使用图层的能力。
![][9]
从 Fedora Workstation 中的软件应用安装 Mypaint或在终端中使用以下命令
```
sudo dnf install mypaint
```
### 像素艺术Libresprite
[Libresprite][10] 是一个专为创建像素艺术和像素动画而设计的程序。它支持一系列颜色模式并可导出为多种格式(包括动画 GIF。此外Libresprite 还有用于创建像素艺术的绘图工具:多边形工具、轮廓和着色工具。
![][11]
Libresprite 可从 Flathub 应用仓库下载。要安装,只需[启用 Flathub 作为软件源][12],然后通过软件应用进行安装。
--------------------------------------------------------------------------------
via: https://fedoramagazine.org/image-creation-applications-fedora/
作者:[Ryan Lerch][a]
选题:[lujun9972](https://github.com/lujun9972)
译者:[geekpi](https://github.com/geekpi)
校对:[校对者ID](https://github.com/校对者ID)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
[a]: https://fedoramagazine.org/introducing-flatpak/
[1]:http://inkscape.org
[2]:https://inkscape.org/en/learn/tutorials/
[3]:https://inkscape.org/en/gallery/
[4]:https://fedoramagazine.org/wp-content/uploads/2018/08/inkscape.png
[5]:https://krita.org/en/
[6]:https://docs.krita.org/en/
[7]:https://fedoramagazine.org/wp-content/uploads/2018/08/krita.jpg
[8]:http://mypaint.org/about/
[9]:https://fedoramagazine.org/wp-content/uploads/2018/08/mypaint.png
[10]:https://github.com/LibreSprite/LibreSprite
[11]:https://fedoramagazine.org/wp-content/uploads/2018/08/libresprite.gif
[12]:https://fedoramagazine.org/install-flathub-apps-fedora/

View File

@ -0,0 +1,133 @@
如何在 Linux 中切换相同程序的不同版本
======
![](https://www.ostechnix.com/wp-content/uploads/2018/08/alt-tool-720x340.png)
几天前,我们曾经讨论如何[**如何在不同的 PHP 版本之间进行切换**][1]。在那篇文章中,我们使用 **update-alternatives** 命令实现从一个 PHP 版本切换到另一个 PHP 版本。也就是说,`update-alternatives` 命令可以将<ruby>系统范围<rt>system wide</rt></ruby>默认使用的 PHP 版本设置为我们希望的版本。通俗的来说,你可以通过 `update-alternatives` 命令从系统范围设置程序的版本。如果你希望可以在不同目录动态设置不同的程序版本,该如何完成呢?在这种情况下,**alt** 工具可以大显身手。`alt` 是一个命令行工具,可以让你在类 Unix 系统中切换相同程序的不同版本。该工具简单易用,是 **Rust** 语言编写的自由、开源软件。
### 安装
安装 `alt` 工具十分简单。
运行如下命令,即可在 Linux 主机上安装 `alt`
```
$ curl -sL https://github.com/dotboris/alt/raw/master/install.sh | bash -s
```
下一步,将 shims 目录添加到你的 PATH 环境变量中,具体操作取决于你使用的 Shell。
对于 Bash
```
$ echo 'export PATH="$HOME/.local/alt/shims:$PATH"' >> ~/.bashrc
$ source ~/.bashrc
```
对于 Zsh
```
$ echo 'export PATH="$HOME/.local/alt/shims:$PATH"' >> ~/.zshrc
$ source ~/.zshrc
```
对于 Fish
```
$ echo 'set -x PATH "$HOME/.local/alt/shims" $PATH' >> ~/.config/fish/config.fish
```
现在 `alt` 已经安装完毕!
### 使用 alt 工具在 Linux 系统中切换相同程序的不同版本
如我之前所述alt 只影响当前目录。换句话说,当你进行版本切换时,只在当前目录生效,而不是整个系统范围。
下面举例说明。我在我的 Ubuntu 系统中安装了两个版本的 PHP分别为 PHP 5.6 和 PHP 7.2;另外,在 **myproject** 目录中包含一些 PHP 应用。
首先,通过命令查看系统范围默认的 PHP 版本:
```
$ php -v
```
**示例输出:**
![查找 PHP 版本][3]
如截图中所示,我系统中默认的 PHP 版本为 PHP7.2。
然后,我将进入放置 PHP 应用的 "myproject" 目录。
```
$ cd myproject
```
使用如下命令扫描可用的 PHP 版本:
```
$ alt scan php
```
**示例输出:**
![扫描 PHP 版本][4]
可见,我有两个 PHP 版本,即 PHP5.6 和 PHP7.2。按下 **<空格>** 键选中当前可用的版本。选中全部可用版本后,你可以看到图中所示的<ruby>叉号<rt>cross mark</rt></ruby>。使用上下方向键在版本间移动,点击回车即可保存变更。
![选取 PHP 版本][5]
下面运行该命令并选取我们希望在 "myproject" 目录中使用的 PHP 版本:
```
$ alt use php
```
我希望使用 PHP5.6 版本,故我(使用方向键)选取该版本并点击回车键。
![设置 PHP 版本][6]
现在,你可以在 /home/sk/myproject 目录下使用 PHP5.6 版本啦。
让我们检查一下,在 myproject 目录下是否默认使用 PHP5.6 版本:
```
$ php -v
```
**示例输出:**
![检查 PHP 版本][7]
只要你不设置成其它版本,(在该目录下)将一直使用 PHP5.6 版本。清楚了吗?很好!请注意,我们仅在这个目录下使用 PHP5.6 版本。在系统范围内LCTT 译注当然是没单独设置过其它版本的目录下PHP7.2 仍是默认的版本。让我们检验一下,请看下图。
![比对 PHP 版本][8]
从上面的截图中可以看出,我有两个版本的 PHP在 "myproject" 目录下,使用的版本为 PHP5.6;在 myproject 外的其它目录,使用的版本为 PHP7.2。
同理,你可以为每个目录设置你希望的程序版本。我这里使用 PHP 仅用于说明操作,但方法适用于任何你打算使用的软件,例如 NodeJS 等。
下面是 NodeJS 的示例视频。
![][9]
如果你希望在不同软件包版本下测试你的应用,那么 `alt` 是你不错的选择。
本次分享到此结束。后续还有更多内容,敬请期待!
干杯!
--------------------------------------------------------------------------------
via: https://www.ostechnix.com/how-to-switch-between-different-versions-of-commands-in-linux/
作者:[SK][a]
选题:[lujun9972](https://github.com/lujun9972)
译者:[pinewall](https://github.com/pinewall)
校对:[校对者ID](https://github.com/校对者ID)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
[a]:https://www.ostechnix.com/author/sk/
[1]:https://www.ostechnix.com/how-to-switch-between-multiple-php-versions-in-ubuntu/
[2]:data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7
[3]:http://www.ostechnix.com/wp-content/uploads/2018/08/Find-PHP-version.png
[4]:http://www.ostechnix.com/wp-content/uploads/2018/08/alt-scan-php.png
[5]:http://www.ostechnix.com/wp-content/uploads/2018/08/Select-php-version.png
[6]:http://www.ostechnix.com/wp-content/uploads/2018/08/set-php-version.png
[7]:http://www.ostechnix.com/wp-content/uploads/2018/08/Check-PHP-version.png
[8]:http://www.ostechnix.com/wp-content/uploads/2018/08/Check-PHP-version-1.png
[9]:http://www.ostechnix.com/wp-content/uploads/2018/08/Alt-NodeJS-demo.gif