ddgr:一個從終端搜索DuckDuckGo的命令行工具
在 Linux 中,Bash 技巧非常棒,它使 Linux 中的一切成為可能。
對于開發(fā)人員或系統(tǒng)管理員來說,它真的很管用,因為他們大部分時間都在使用終端。你知道他們?yōu)槭裁聪矚g這種技巧嗎?
因為這些技巧可以提高他們的工作效率,也能使他們工作更快。
什么是 ddgr
ddgr 是一個命令行實用程序,用于從終端搜索 DuckDuckGo。如果設(shè)置了 BROWSER
環(huán)境變量,ddgr 可以在幾個基于文本的瀏覽器中開箱即用。
確保你的系統(tǒng)安裝了任何一個基于文本的瀏覽器。你可能知道 googler,它允許用戶從 Linux 命令行進(jìn)行 Google 搜索。
它在命令行用戶中非常受歡迎,他們期望對隱私敏感的 DuckDuckGo 也有類似的實用程序,這就是 ddgr
出現(xiàn)的原因。
與 Web 界面不同,你可以指定每頁要查看的搜索結(jié)果數(shù)。
什么是 DuckDuckGo
DDG 即 DuckDuckGo。DuckDuckGo(DDG)是一個真正保護(hù)用戶搜索和隱私的互聯(lián)網(wǎng)搜索引擎。它沒有過濾用戶的個性化搜索結(jié)果,對于給定的搜索詞,它會向所有用戶顯示相同的搜索結(jié)果。
大多數(shù)用戶更喜歡谷歌搜索引擎,但是如果你真的擔(dān)心隱私,那么你可以放心地使用 DuckDuckGo。
ddgr 特性
- 快速且干凈(沒有廣告、多余的 URL 或雜物參數(shù)),自定義顏色
- 旨在以最小的空間提供最高的可讀性
- 指定每頁顯示的搜索結(jié)果數(shù)
- 可以在 omniprompt 中導(dǎo)航結(jié)果,在瀏覽器中打開 URL
- 用于 Bash、Zsh 和 Fish 的搜索和選項補完腳本
- 支持 DuckDuckGo Bang(帶有自動補完)
- 直接在瀏覽器中打開第一個結(jié)果(如同 “I’m Feeling Ducky”)
- 不間斷搜索:無需退出即可在 omniprompt 中觸發(fā)新搜索
- 關(guān)鍵字支持(例如:filetype:mime、site:somesite.com)
- 按時間、指定區(qū)域搜索,禁用安全搜索
- 支持 HTTPS 代理,支持 Do Not Track,可選擇禁用用戶代理字符串
- 支持自定義 URL 處理程序腳本或命令行實用程序
- 全面的文檔,man 頁面有方便的使用示例
- 最小的依賴關(guān)系
需要條件
ddgr
需要 Python 3.4 或更高版本。因此,確保你的系統(tǒng)應(yīng)具有 Python 3.4 或更高版本。
$ python3 --version
Python 3.6.3
如何在 Linux 中安裝 ddgr
我們可以根據(jù)發(fā)行版使用以下命令輕松安裝 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 的系統(tǒng),使用 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
命令,不帶任何選項來進(jìn)行 DuckDuckGo 搜索。你將獲得類似于下面的輸出。
$ ddgr
如何使用 ddgr 進(jìn)行搜索
我們可以通過兩種方式啟動搜索。從 omniprompt 或者直接從終端開始。你可以搜索任何你想要的短語。
直接從終端:
$ ddgr 2daygeek
從 omniprompt:
Omniprompt 快捷方式
輸入 ?
以獲得 omniprompt,它將顯示關(guān)鍵字列表和進(jìn)一步使用 ddgr
的快捷方式。
如何移動下一頁、上一頁和第一頁
它允許用戶移動下一頁、上一頁或第一頁。
n
: 移動到下一組搜索結(jié)果p
: 移動到上一組搜索結(jié)果f
: 跳轉(zhuǎn)到第一頁
如何啟動新搜索
d
選項允許用戶從 omniprompt 發(fā)起新的搜索。例如,我搜索了 “2daygeek website”,現(xiàn)在我將搜索 “Magesh Maruthamuthu” 這個新短語。
從 omniprompt:
ddgr (? for help) d magesh maruthmuthu
在搜索結(jié)果中顯示完整的 URL
默認(rèn)情況下,它僅顯示文章標(biāo)題,在搜索中添加 x
選項以在搜索結(jié)果中顯示完整的文章網(wǎng)址。
$ ddgr -n 5 -x 2daygeek
限制搜索結(jié)果
默認(rèn)情況下,搜索結(jié)果每頁顯示 10 個結(jié)果。如果你想為方便起見限制頁面結(jié)果,可以使用 ddgr
帶有 --num
或 -n
參數(shù)。
$ ddgr -n 5 2daygeek
網(wǎng)站特定搜索
要搜索特定網(wǎng)站的特定頁面,使用以下格式。這將從網(wǎng)站獲取給定關(guān)鍵字的結(jié)果。例如,我們在 2daygeek 網(wǎng)站下搜索 “Package Manager”,查看結(jié)果。
$ ddgr -n 5 --site 2daygeek "package manager"