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