Linux中國

獻給命令行重度用戶的一組實用 BASH 腳本

今天,我偶然發現了一組適用於命令行重度用戶的實用 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 倉庫,使用以下命令:

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

進入目錄:

$ cd Bash-Snippets/

切換到最新的穩定版本:

$ git checkout v1.22.0

最後,使用以下命令安裝 Bash-Snippets:

$ sudo ./install.sh

這將詢問你要安裝哪些腳本。只需輸入 Y 並按回車鍵即可安裝相應的腳本。如果你不想安裝某些特定腳本,輸入 N 並按回車鍵。

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

要安裝所有腳本,運行:

$ sudo ./install.sh all

要安裝特定的腳本,比如 currency,運行:

$ sudo ./install.sh currency

你也可以使用 Linuxbrew 包管理器來安裝它。

安裝所有的工具,運行:

$ brew install bash-snippets

安裝特定的工具:

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

另外,對於那些基於 Debian 系統的,例如 Ubuntu、Linux Mint,可以添加 PPA 源:

$ sudo add-apt-repository ppa:navanchauhan/bash-snippets
$ sudo apt update
$ sudo apt install bash-snippets

用法

需要網路連接才能使用這些工具。用法很簡單。讓我們來看看如何使用其中的一些腳本,我假設你已經安裝了所有腳本。

1、 Currency – 貨幣轉換器

這個腳本根據實時匯率轉換貨幣。輸入當前貨幣代碼和要交換的貨幣,以及交換的金額,如下所示:

$ currency
What is the base currency: INR
What currency to exchange to: USD
What is the amount being exchanged: 10

=========================
| INR to USD
| Rate: 0.015495
| INR: 10
| USD: .154950
=========================

你也可以在單條命令中傳遞所有參數,如下所示:

$ currency INR USD 10

參考以下屏幕截圖:

![Bash-Snippets][2]

2、 Stocks – 顯示股票價格詳細信息

如果你想查看一隻股票價格的詳細信息,輸入股票即可,如下所示:

$ stocks Intel

INTC stock info
=============================================
| Exchange Name: NASDAQ
| Latest Price: 34.2500
| Close (Previous Trading Day): 34.2500
| Price Change: 0.0000
| Price Change Percentage: 0.00%
| Last Updated: Jul 12, 4:00PM EDT
=============================================

上面輸出了 Intel 股票 的詳情。

3、 Weather – 顯示天氣詳細信息

讓我們查看以下天氣詳細信息,運行以下命令:

$ weather

示例輸出:

正如你在上面屏幕截圖中看到的那樣,它提供了 3 天的天氣預報。不使用任何參數的話,它將根據你的 IP 地址顯示天氣詳細信息。你還可以顯示特定城市或國家/地區的天氣詳情,如下所示:

$ weather Chennai

同樣,你可以查看輸入以下命令來查看月相(月亮的形態):

$ weather moon

示例輸出:

4、 Crypt – 加解密文件

此腳本對 openssl 做了一層包裝,允許你快速輕鬆地加密和解密文件。

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

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

例如,以下命令將加密 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 類型的文件。

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

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

例如:

$ crypt -d encrypt_ostechnix.txt ostechnix.txt

輸入密碼解密:

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

5、 Movies – 查看電影詳情

使用這個腳本,你可以查看電影詳情。

以下命令顯示了一部名為 「mother」 的電影的詳情:

$ movies mother

==================================================
| Title: Mother
| Year: 2009
| Tomato: 95%
| Rated: R
| Genre: Crime, Drama, Mystery
| Director: Bong Joon Ho
| 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、 顯示類似條目

要使用這個腳本,你需要從這裡 獲取 API 密鑰。不過不用擔心,它完全是免費的。一旦你獲得 API 密鑰後,將以下行添加到 ~/.bash_profileexport TASTE_API_KEY=」你的 API 密鑰放在這裡」。(LCTT 譯註: TasteDive 是一個推薦引擎,它會根據你的品味推薦相關項目。)

現在你可以根據你提供的項目查看類似項目,如下所示:

$ taste -i Red Hot Chilli Peppers

7、 Short – 縮短 URL

這個腳本會縮短給定的 URL。

$ short <URL>

8、 Geo – 顯示網路的詳情

這個腳本會幫助你查找網路的詳細信息,例如廣域網、區域網、路由器、 dns、mac 地址和 ip 地址。

例如,要查找你的區域網 ip,運行:

$ geo -l

我系統上的輸出:

192.168.43.192

查看廣域網 ip:

$ geo -w

在終端中輸入 geo 來查看更多詳細信息。

$ geo
Geo
Description: Provides quick access for wan, lan, router, dns, mac, and ip geolocation data
Usage: geo [flag]
 -w Returns WAN IP
 -l Returns LAN IP(s)
 -r Returns Router IP
 -d Returns DNS Nameserver
 -m Returns MAC address for interface. Ex. eth0
 -g Returns Current IP Geodata
Examples:
 geo -g
 geo -wlrdgm eth0
Custom Geo Output =>
[all] [query] [city] [region] [country] [zip] [isp]
Example: geo -a 8.8.8.8 -o city,zip,isp
 -o [options] Returns Specific Geodata
 -a [address] For specific ip in -s
 -v Returns Version
 -h Returns Help Screen
 -u Updates Bash-Snippets

9、 Cheat – 顯示 Linux 命令的備忘單

想參考 Linux 命令的備忘單嗎?這是可能的。以下命令將顯示 curl 命令的備忘單:

$ cheat curl

只需用你選擇的命令替換 curl 即可顯示其備忘單。這對於快速參考你要使用的任何命令非常有用。

10、 Youtube-Viewer – 觀看 YouTube 視頻

使用此腳本,你可以直接在終端上搜索或打開 YouTube 視頻。(LCTT 譯註:在媒體播放器中,而不是文本的終端中打開)

讓我們來看一些有關 Ed Sheeran 的視頻。

$ ytview Ed Sheeran

從列表中選擇要播放的視頻。所選內容將在你的默認媒體播放器中播放。

要查看藝術家的近期視頻,你可以使用:

$ ytview -c [channel name]

要尋找視頻,只需輸入:

$ ytview -s [videoToSearch]

或者:

$ ytview [videoToSearch]

11、 cloudup – 備份 GitHub 倉庫到 bitbucket

你在 GitHub 上託管過任何項目嗎?如果託管過,那麼你可以隨時間 GitHub 倉庫備份到 bitbucket,它是一種用於源代碼和開發項目的基於 Web 的託管服務。

你可以使用 -a 選項一次性備份指定用戶的所有 GitHub 倉庫,或者備份單個倉庫。

要備份 GitHub 倉庫,運行:

$ cloudup

系統將要求你輸入 GitHub 用戶名, 要備份的倉庫名稱以及 bitbucket 用戶名和密碼等。

12、 Qrify – 將字元串轉換為二維碼

這個腳本將任何給定的文本字元串轉換為二維碼。這對於發送鏈接或者保存一串命令到手機非常有用。

$ qrify convert this text into qr code

示例輸出:

很酷,不是嗎?

13、 Cryptocurrency

它將顯示十大加密貨幣實時匯率。

輸入以下命令,然後單擊回車來運行:

$ cryptocurrency

14、 Lyrics

這個腳本從命令行快速獲取一首歌曲的歌詞。

例如,我將獲取 「who is it」 歌曲的歌詞,這是一首由 邁克爾·傑克遜 Michael Jackson 演唱的流行歌曲。

$ lyrics -a michael jackson -s who is it

15、 Meme

這個腳本允許你從命令行創建簡單的表情貼圖。它比基於 GUI 的表情包生成器快得多。

要創建一個表情貼圖,只需輸入:

$ meme -f mymeme
Enter the name for the meme&apos;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

厭倦了解決複雜的數學問題?你來對了。Newton 腳本將執行數值計算,乃至於符號數學解析。

17、 Siteciphers

這個腳本可以幫助你檢查在給定的 https 站點上啟用/禁用哪些加密演算法。(LCTT 譯註:指 HTTPS 通訊中採用的加密演算法)

$ siteciphers google.com

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

Transfer 腳本允許你通過互聯網快速輕鬆地傳輸文件和目錄。

讓我們上傳一個文件:

$ transfer test.txt
Uploading test.txt
################################################################################################################################################ 100.0%
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

獲取關於此實用腳本的更多詳情,參考以下指南。

獲得幫助

如果你不知道如何使用特定腳本,只需輸入該腳本的名稱,然後按下 ENTER 鍵,你將會看到使用細節。以下示例顯示 Qrify 腳本的幫助信息。

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

更新腳本

你可以隨時使用 -u 選項更新已安裝的工具。以下命令更新 「weather」 工具。

$ weather -u

卸載

你可以使用以下命令來卸載這些工具。

克隆倉庫:

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

進入 Bash-Snippets 目錄:

$ cd Bash-Snippets

運行以下命令來卸載腳本:

$ sudo ./uninstall.sh

輸入 y,並按下回車鍵來移除每個腳本。

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

另請閱讀:

好了,這就是全部了。我必須承認,在測試這些腳本時我印象很深刻。我真的很喜歡將所有有用的腳本組合到一個包中的想法。感謝開發者。試一試,你不會失望的。

乾杯!

via: https://www.ostechnix.com/collection-useful-bash-scripts-heavy-commandline-users/

作者:SK 選題:lujun9972 譯者:MjSeven 校對:wxy

本文由 LCTT 原創編譯,Linux中國 榮譽推出


本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive

對這篇文章感覺如何?

太棒了
0
不錯
0
愛死了
0
不太好
0
感覺很糟
0
雨落清風。心向陽

    You may also like

    Leave a reply

    您的郵箱地址不會被公開。 必填項已用 * 標註

    此站點使用Akismet來減少垃圾評論。了解我們如何處理您的評論數據

    More in:Linux中國