ddgr:一個從終端搜尋 DuckDuckGo 的命令列工具

2019-05-29 22:43:00

在 Linux 中,Bash 技巧非常棒,它使 Linux 中的一切成為可能。

對於開發人員或系統管理員來說,它真的很管用,因為他們大部分時間都在使用終端。你知道他們為什麼喜歡這種技巧嗎?

因為這些技巧可以提高他們的工作效率,也能使他們工作更快。

什麼是 ddgr

ddgr 是一個命令列實用程式,用於從終端搜尋 DuckDuckGo。如果設定了 BROWSER 環境變數,ddgr 可以在幾個基於文字的瀏覽器中開箱即用。

確保你的系統安裝了任何一個基於文字的瀏覽器。你可能知道 googler,它允許使用者從 Linux 命令列進行 Google 搜尋。

它在命令列使用者中非常受歡迎,他們期望對隱私敏感的 DuckDuckGo 也有類似的實用程式,這就是 ddgr 出現的原因。

與 Web 介面不同,你可以指定每頁要檢視的搜尋結果數。

建議閱讀:

什麼是 DuckDuckGo

DDG 即 DuckDuckGo。DuckDuckGo(DDG)是一個真正保護使用者搜尋和隱私的網際網路搜尋引擎。它沒有過濾使用者的個性化搜尋結果,對於給定的搜尋詞,它會向所有使用者顯示相同的搜尋結果。

大多數使用者更喜歡谷歌搜尋引擎,但是如果你真的擔心隱私,那麼你可以放心地使用 DuckDuckGo。

ddgr 特性

  • 快速且乾淨(沒有廣告、多餘的 URL 或雜物引數),自定義顏色
  • 旨在以最小的空間提供最高的可讀性
  • 指定每頁顯示的搜尋結果數
  • 可以在 omniprompt 中導航結果,在瀏覽器中開啟 URL
  • 用於 Bash、Zsh 和 Fish 的搜尋和選項補完指令碼
  • 支援 DuckDuckGo Bang(帶有自動補完)
  • 直接在瀏覽器中開啟第一個結果(如同 “I’m Feeling Ducky”)
  • 不間斷搜尋:無需退出即可在 omniprompt 中觸發新搜尋
  • 關鍵字支援(例如:filetype:mime、site:somesite.com)
  • 按時間、指定區域搜尋,禁用安全搜尋
  • 支援 HTTPS 代理,支援 Do Not Track,可選擇禁用使用者代理字串
  • 支援自定義 URL 處理程式指令碼或命令列實用程式
  • 全面的文件,man 頁面有方便的使用範例
  • 最小的依賴關係

需要條件

ddgr 需要 Python 3.4 或更高版本。因此,確保你的系統應具有 Python 3.4 或更高版本。

$ python3 --versionPython 3.6.3

如何在 Linux 中安裝 ddgr

我們可以根據發行版使用以下命令輕鬆安裝 ddgr

對於 Fedora ,使用 DNF 命令來安裝 ddgr

# dnf install ddgr

或者我們可以使用 SNAP 命令來安裝 ddgr

# snap install ddgr

對於 LinuxMint/Ubuntu,使用 APT-GET 命令APT 命令來安裝 ddgr

$ sudo add-apt-repository ppa:twodopeshaggy/jarun$ sudo apt-get update$ sudo apt-get install ddgr

對於基於 Arch Linux 的系統,使用 Yaourt 命令Packer 命令從 AUR 倉庫安裝 ddgr

$ yaourt -S ddgr或$ packer -S ddgr

對於 Debian,使用 DPKG 命令 安裝 ddgr

# wget https://github.com/jarun/ddgr/releases/download/v1.2/ddgr_1.2-1_debian9.amd64.deb# dpkg -i ddgr_1.2-1_debian9.amd64.deb

對於 CentOS 7,使用 YUM 命令來安裝 ddgr

# yum install https://github.com/jarun/ddgr/releases/download/v1.2/ddgr-1.2-1.el7.3.centos.x86_64.rpm

對於 opensuse,使用 zypper 命令來安裝 ddgr

# zypper install https://github.com/jarun/ddgr/releases/download/v1.2/ddgr-1.2-1.opensuse42.3.x86_64.rpm

如何啟動 ddgr

在終端上輸入 ddgr 命令,不帶任何選項來進行 DuckDuckGo 搜尋。你將獲得類似於下面的輸出。

$ ddgr

如何使用 ddgr 進行搜尋

我們可以通過兩種方式啟動搜尋。從 omniprompt 或者直接從終端開始。你可以搜尋任何你想要的短語。

直接從終端:

$ ddgr 2daygeek

從 omniprompt:

Omniprompt 快捷方式

輸入 ? 以獲得 omniprompt,它將顯示關鍵字列表和進一步使用 ddgr 的快捷方式。

如何移動下一頁、上一頁和第一頁

它允許使用者移動下一頁、上一頁或第一頁。

  • n: 移動到下一組搜尋結果
  • p: 移動到上一組搜尋結果
  • f: 跳轉到第一頁

如何啟動新搜尋

d 選項允許使用者從 omniprompt 發起新的搜尋。例如,我搜尋了 “2daygeek website”,現在我將搜尋 “Magesh Maruthamuthu” 這個新短語。

從 omniprompt:

ddgr (? for help) d magesh maruthmuthu

在搜尋結果中顯示完整的 URL

預設情況下,它僅顯示文章標題,在搜尋中新增 x 選項以在搜尋結果中顯示完整的文章網址。

$ ddgr -n 5 -x 2daygeek

限制搜尋結果

預設情況下,搜尋結果每頁顯示 10 個結果。如果你想為方便起見限制頁面結果,可以使用 ddgr 帶有 --num-n 引數。

$ ddgr -n 5 2daygeek

網站特定搜尋

要搜尋特定網站的特定頁面,使用以下格式。這將從網站獲取給定關鍵字的結果。例如,我們在 2daygeek 網站下搜尋 “Package Manager”,檢視結果。

$ ddgr -n 5 --site 2daygeek "package manager"