|
|
51CTO旗下网站
|
|
移动端

献给命令行重度用户的一组实用BASH脚本

今天,我偶然发现了一组适用于命令行重度用户的实用 BASH 脚本,这些脚本被称为 Bash-Snippets,它们对于那些整天都与终端打交道的人来说可能会很有帮助。

作者:Sk来源:Linux中国|2018-08-22 09:40

 

今天,我偶然发现了一组适用于命令行重度用户的实用 BASH 脚本,这些脚本被称为 Bash-Snippets,它们对于那些整天都与终端打交道的人来说可能会很有帮助。想要查看你居住地的天气情况?它为你做了。想知道股票价格?你可以运行显示股票当前详细信息的脚本。觉得无聊?你可以看一些 YouTube 视频。这些全部在命令行中完成,你无需安装任何严重消耗内存的 GUI 应用程序。

在撰写本文时,Bash-Snippets 提供以下 19 个实用工具:

  1. Cheat – Linux 命令备忘单。

  2. Cloudup – 一个将 GitHub 仓库备份到 bitbucket 的工具。

  3. Crypt – 加解密文件。

  4. Cryptocurrency – 前 10 大加密货币的实时汇率转换。

  5. Currency – 货币转换器。

  6. Geo – 提供 wan、lan、router、dns、mac 和 ip 的详细信息。

  7. Lyrics – 从命令行快速获取给定歌曲的歌词。

  8. Meme – 创造命令行表情包。

  9. Movies – 搜索并显示电影详情。

  10. Newton – 执行数值计算一直到符号数学解析。(to 校正:这里不理解)

  11. Qrify – 将给定的字符串转换为二维码。

  12. Short – 缩短 URL

  13. Siteciphers – 检查给定 https 站点启用或禁用的密码。

  14. Stocks – 提供某些股票的详细信息。

  15. Taste – 推荐引擎提供三个类似的项目,如提供物品(如书籍、音乐、艺术家、电影和游戏等。)

  16. Todo – 命令行待办事项管理。

  17. Transfer – 从命令行快速传输文件。

  18. Weather – 显示你所在地的天气详情。

  19. Youtube-Viewer – 从终端观看 YouTube 视频。

作者可能会在将来添加更多实用程序和/或功能,因此我建议你密切关注该项目的网站或 GitHub 页面以供将来更新。

安装

你可以在任何支持 BASH 的操作系统上安装这些脚本。

首先,克隆 git 仓库,使用以下命令:

  1. $ git clone https://github.com/alexanderepstein/Bash-Snippets 

进入目录:

  1. $ cd Bash-Snippets/ 

切换到最新的稳定版本:

  1. $ git checkout v1.22.0 

最后,使用以下命令安装 Bash-Snippets:

  1. $ sudo ./install.sh 

这将询问你要安装哪些脚本。只需输入 Y 并按回车键即可安装相应的脚本。如果你不想安装某些特定脚本,输入 N 并按回车键。

  1. Do you wish to install currency [Y/n]: y 

要安装所有脚本,运行:

  1. $ sudo ./install.sh all 

要安装特定的脚本,比如 currency,运行:

  1. $ sudo ./install.sh currency 

你也可以使用 Linuxbrew 包管理器来安装它。

安装所有的工具,运行:

  1. $ brew install bash-snippets 

安装特定的工具:

  1. $ brew install bash-snippets --without-all-tools --with-newton --with-weather 

另外,对于那些基于 Debian 系统的,例如 Ubuntu、Linux Mint,可以添加 PPA 源:

  1. $ sudo add-apt-repository ppa:navanchauhan/bash-snippets 
  2. $ sudo apt update 
  3. $ sudo apt install bash-snippets  

用法

需要网络连接才能使用这些工具。用法很简单。让我们来看看如何使用其中的一些脚本,我假设你已经安装了所有脚本。

1、 Currency – 货币转换器

这个脚本根据实时汇率转换货币。输入当前货币代码和要交换的货币,以及交换的金额,如下所示:

  1. $ currency 
  2. What is the base currency: INR 
  3. What currency to exchange to: USD 
  4. What is the amount being exchanged: 10  
  5. ========================= 
  6. | INR to USD 
  7. | Rate: 0.015495 
  8. | INR: 10 
  9. | USD: .154950 
  10. ========================= 

你也可以在单条命令中传递所有参数,如下所示:

  1. $ currency INR USD 10 

参考以下屏幕截图:

![Bash-Snippets][2]

2、 Stocks – 显示股票价格详细信息

如果你想查看一只股票价格的详细信息,输入股票即可,如下所示:

  1. $ stocks Intel  
  2. INTC stock info 
  3. ============================================= 
  4. | Exchange Name: NASDAQ 
  5. | Latest Price: 34.2500 
  6. | Close (Previous Trading Day): 34.2500 
  7. | Price Change: 0.0000 
  8. | Price Change Percentage: 0.00% 
  9. | Last Updated: Jul 12, 4:00PM EDT 
  10. ============================================= 

上面输出了 Intel 股票 的详情。

3、 Weather – 显示天气详细信息

让我们查看以下天气详细信息,运行以下命令:

  1. $ weather 

示例输出:

正如你在上面屏幕截图中看到的那样,它提供了 3 天的天气预报。不使用任何参数的话,它将根据你的 IP 地址显示天气详细信息。你还可以显示特定城市或国家/地区的天气详情,如下所示:

  1. $ weather Chennai 

同样,你可以查看输入以下命令来查看月相(月亮的形态):

  1. $ weather moon 

示例输出:

4、 Crypt – 加解密文件

此脚本对 openssl 做了一层包装,允许你快速轻松地加密和解密文件。

要加密文件,使用以下命令:

  1. $ crypt -e [original file] [encrypted file] 

例如,以下命令将加密 ostechnix.txt,并将其保存在当前工作目录下,名为 encrypt_ostechnix.txt

  1. $ crypt -e ostechnix.txt encrypt_ostechnix.txt 

输入两次文件密码:

  1. Encrypting ostechnix.txt... 
  2. enter aes-256-cbc encryption password: 
  3. Verifying - enter aes-256-cbc encryption password: 
  4. Successfully encrypted 

上面命令将使用 AES 256 位密钥加密给定文件。密码不要保存在纯文本文件中。你可以加密 .pdf、.txt、 .docx、 .doc、 .png、 .jpeg 类型的文件。

要解密文件,使用以下命令:

  1. $ crypt -d [encrypted file] [output file] 

例如:

  1. $ crypt -d encrypt_ostechnix.txt ostechnix.txt 

输入密码解密:

  1. Decrypting encrypt_ostechnix.txt... 
  2. enter aes-256-cbc decryption password: 
  3. Successfully decrypted 

5、 Movies – 查看电影详情

使用这个脚本,你可以查看电影详情。

以下命令显示了一部名为 “mother” 的电影的详情:

  1. $ movies mother 
  2. ================================================== 
  3. | Title: Mother 
  4. | Year: 2009 
  5. | Tomato: 95% 
  6. | Rated: R 
  7. | Genre: Crime, Drama, Mystery 
  8. | Director: Bong Joon Ho 
  9. | Actors: Hye-ja Kim, Bin Won, Goo Jin, Je-mun Yun 
  10. | Plot: A mother desperately searches for the killer who framed her son for a girl's horrific murder. 
  11. ==================================================  

6、 显示类似条目

要使用这个脚本,你需要从这里 获取 API 密钥。不过不用担心,它完全是免费的。一旦你获得 API 密钥后,将以下行添加到 ~/.bash_profileexport TASTE_API_KEY=”你的 API 密钥放在这里”。(LCTT 译注: TasteDive 是一个推荐引擎,它会根据你的品味推荐相关项目。)

现在你可以根据你提供的项目查看类似项目,如下所示:

  1. $ taste -i Red Hot Chilli Peppers 

7、 Short – 缩短 URL

这个脚本会缩短给定的 URL。

  1. $ short <URL> 

8、 Geo – 显示网络的详情

这个脚本会帮助你查找网络的详细信息,例如广域网、局域网、路由器、 dns、mac 地址和 ip 地址。

例如,要查找你的局域网 ip,运行:

  1. $ geo -l 

我系统上的输出:

  1. 192.168.43.192 

查看广域网 ip:

  1. $ geo -w 

在终端中输入 geo 来查看更多详细信息。

  1. $ geo 
  2. Geo 
  3. Description: Provides quick access for wan, lan, router, dns, mac, and ip geolocation data 
  4. Usage: geo [flag] 
  5. -w Returns WAN IP 
  6. -l Returns LAN IP(s) 
  7. -r Returns Router IP 
  8. -d Returns DNS Nameserver 
  9. -m Returns MAC address for interface. Ex. eth0 
  10. -g Returns Current IP Geodata 
  11. Examples: 
  12. geo -g 
  13. geo -wlrdgm eth0 
  14. Custom Geo Output => 
  15. [all] [query] [city] [region] [country] [zip] [isp] 
  16. Example: geo -a 8.8.8.8 -o city,zip,isp 
  17. -o [options] Returns Specific Geodata 
  18. -a [address] For specific ip in -s 
  19. -v Returns Version 
  20. -h Returns Help Screen 
  21. -u Updates Bash-Snippets 

9、 Cheat – 显示 Linux 命令的备忘单

想参考 Linux 命令的备忘单吗?这是可能的。以下命令将显示 curl 命令的备忘单:

  1. $ cheat curl 

只需用你选择的命令替换 curl 即可显示其备忘单。这对于快速参考你要使用的任何命令非常有用。

10、 Youtube-Viewer – 观看 YouTube 视频

使用此脚本,你可以直接在终端上搜索或打开 YouTube 视频。(LCTT 译注:在媒体播放器中,而不是文本的终端中打开)

让我们来看一些有关 Ed Sheeran 的视频。

  1. $ ytview Ed Sheeran 

从列表中选择要播放的视频。所选内容将在你的默认媒体播放器中播放。

要查看艺术家的近期视频,你可以使用:

  1. $ ytview -c [channel name] 

要寻找视频,只需输入:

  1. $ ytview -s [videoToSearch] 

或者:

  1. $ ytview [videoToSearch] 

11、 cloudup – 备份 GitHub 仓库到 bitbucket

你在 GitHub 上托管过任何项目吗?如果托管过,那么你可以随时间 GitHub 仓库备份到 bitbucket,它是一种用于源代码和开发项目的基于 Web 的托管服务。

你可以使用 -a 选项一次性备份指定用户的所有 GitHub 仓库,或者备份单个仓库。

要备份 GitHub 仓库,运行:

  1. $ cloudup 

系统将要求你输入 GitHub 用户名, 要备份的仓库名称以及 bitbucket 用户名和密码等。

12、 Qrify – 将字符串转换为二维码

这个脚本将任何给定的文本字符串转换为二维码。这对于发送链接或者保存一串命令到手机非常有用。

  1. $ qrify convert this text into qr code 

示例输出:

很酷,不是吗?

13、 Cryptocurrency

它将显示十大加密货币实时汇率。

输入以下命令,然后单击回车来运行:

  1. $ cryptocurrency 

14、 Lyrics

这个脚本从命令行快速获取一首歌曲的歌词。

例如,我将获取 “who is it” 歌曲的歌词,这是一首由 迈克尔·杰克逊Michael Jackson 演唱的流行歌曲。

  1. $ lyrics -a michael jackson -s who is it 

15、 Meme

这个脚本允许你从命令行创建简单的表情贴图。它比基于 GUI 的表情包生成器快得多。

要创建一个表情贴图,只需输入:

  1. $ meme -f mymeme 
  2. Enter the name for the meme's background (Ex. buzz, doge, blb ): buzz 
  3. Enter the text for the first line: THIS IS A 
  4. Enter the text for the second line: MEME 

这将在你当前的工作目录创建 jpg 文件。

16、 Newton

厌倦了解决复杂的数学问题?你来对了。Newton 脚本将执行数值计算,乃至于符号数学解析。

17、 Siteciphers

这个脚本可以帮助你检查在给定的 https 站点上启用/禁用哪些加密算法。(LCTT 译注:指 HTTPS 通讯中采用的加密算法)

  1. $ siteciphers google.com 

18、 Todo

它允许你直接从终端创建日常任务。

让我们来创建一些任务。

  1. $ todo -a The first task 
  2. 01). The first task Tue Jun 26 14:51:30 IST 2018 

要添加其它任务,只需添加任务名称重新运行上述命令即可。

  1. $ todo -a The second task 
  2. 01). The first task Tue Jun 26 14:51:30 IST 2018 
  3. 02). The second task Tue Jun 26 14:52:29 IST 2018 

要查看任务列表,运行:

  1. $ todo -g 
  2. 01). The first task Tue Jun 26 14:51:30 IST 2018 
  3. 02). A The second task Tue Jun 26 14:51:46 IST 2018 

一旦你完成了任务,就可以将其从列表中删除,如下所示:

  1. $ todo -r 2 
  2. Sucessfully removed task number 2 
  3. 01). The first task Tue Jun 26 14:51:30 IST 2018 

要清除所有任务,运行:

  1. $ todo -c 
  2. Tasks cleared.  

19、 Transfer

Transfer 脚本允许你通过互联网快速轻松地传输文件和目录。

让我们上传一个文件:

  1. $ transfer test.txt 
  2. Uploading test.txt 
  3. ################################################################################################################################################ 100.0% 
  4. Success! 
  5. Transfer Download Command: transfer -d desiredOutputDirectory ivmfj test.txt 
  6. Transfer File URL: https://transfer.sh/ivmfj/test.txt 

该文件将上传到 transfer.sh 站点。Transfer.sh 允许你一次上传最大 10 GB 的文件。所有共享文件在 14 天后自动过期。如你所见,任何人都可以通过 Web 浏览器访问 URL 或使用 transfer 目录来下载文件,当然,transfer 必须安装在他/她的系统中。

现在从你的系统中移除文件。

  1. $ rm -fr test.txt 

现在,你可以随时(14 天内)从 transfer.sh 站点下载该文件,如下所示:

  1. $ transfer -d Downloads ivmfj test.txt 

获取关于此实用脚本的更多详情,参考以下指南。

获得帮助

如果你不知道如何使用特定脚本,只需输入该脚本的名称,然后按下 ENTER 键,你将会看到使用细节。以下示例显示 Qrify 脚本的帮助信息。

  1. $ qrify 
  2. Qrify 
  3. Usage: qrify [stringtoturnintoqrcode] 
  4. Description: Converts strings or urls into a qr code. 
  5. -u Update Bash-Snippet Tools 
  6. -m Enable multiline support (feature not working yet) 
  7. -h Show the help 
  8. -v Get the tool version 
  9. Examples: 
  10. qrify this is a test string 
  11. qrify -m two\\nlines 
  12. qrify github.com # notice no http:// or https:// this will fail  

更新脚本

你可以随时使用 -u 选项更新已安装的工具。以下命令更新 “weather” 工具。

  1. $ weather -u  

卸载

你可以使用以下命令来卸载这些工具。

克隆仓库:

  1. $ git clone https://github.com/alexanderepstein/Bash-Snippets 

进入 Bash-Snippets 目录:

  1. $ cd Bash-Snippets 

运行以下命令来卸载脚本:

  1. $ sudo ./uninstall.sh 

输入 y,并按下回车键来移除每个脚本。

  1. Do you wish to uninstall currency [Y/n]: y 

【编辑推荐】

  1. 如何使用命令行检查Linux上的磁盘空间
  2. Linux 命令行厉害 其实Windows 的也很强:深入 Windows 控制台
  3. Linux命令行厉害,其实Windows的也很强
  4. 面向系统管理员的Bash指南
  5. 用于与非Linux用户一同工作的Linux命令行工具
【责任编辑:庞桂玉 TEL:(010)68476606】

点赞 0
分享:
大家都在看
猜你喜欢

读 书 +更多

人月神话:32周年中文纪念版

在软件领域,很少能有像《人月神话》一样具有深远影响力并且畅销不衰的著作。Brooks博士为人们管理复杂项目提供了最具洞察力的见解。既有很...

订阅51CTO邮刊

点击这里查看样刊

订阅51CTO邮刊