ddgr:一個從終端搜索 DuckDuckGo 的命令行工具
在 Linux 中,Bash 技巧非常棒,它使 Linux 中的一切成為可能。
對於開發人員或系統管理員來說,它真的很管用,因為他們大部分時間都在使用終端。你知道他們為什麼喜歡這種技巧嗎?
因為這些技巧可以提高他們的工作效率,也能使他們工作更快。
什麼是 ddgr
ddgr 是一個命令行實用程序,用於從終端搜索 DuckDuckGo。如果設置了 BROWSER
環境變數,ddgr 可以在幾個基於文本的瀏覽器中開箱即用。
確保你的系統安裝了任何一個基於文本的瀏覽器。你可能知道 googler,它允許用戶從 Linux 命令行進行 Google 搜索。
它在命令行用戶中非常受歡迎,他們期望對隱私敏感的 DuckDuckGo 也有類似的實用程序,這就是 ddgr
出現的原因。
與 Web 界面不同,你可以指定每頁要查看的搜索結果數。
建議閱讀:
- Googler – 從 Linux 命令行搜索 Google
- Buku – Linux 中一個強大的命令行書籤管理器
- SoCLI – 從終端搜索和瀏覽 StackOverflow 的簡單方法
- RTV(Reddit 終端查看器)- 一個簡單的 Reddit 終端查看器
什麼是 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 --version
Python 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"
via: https://www.2daygeek.com/ddgr-duckduckgo-search-from-the-command-line-in-linux/
作者:Magesh Maruthamuthu 譯者:MjSeven 校對:wxy 選題:lujun9972
本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive