使xclip在Linux命令行中復(fù)制粘貼
了解如何在 Linux 中使用 xclip。
在使用 Linux 桌面工作時(shí),你通常如何復(fù)制全部或部分文本?你可能會(huì)在文本編輯器中打開文件,選擇全部或僅選擇要復(fù)制的文本,然后將其粘貼到其他位置。
這樣沒(méi)問(wèn)題。但是你可以使用 xclip 在命令行中更有效地完成工作。xclip
提供了在終端窗口中運(yùn)行的命令與 Linux 圖形桌面環(huán)境中的剪貼板之間的管道。
安裝 xclip
xclip
并不是許多 Linux 發(fā)行版的標(biāo)準(zhǔn)套件。要查看它是否已安裝在你的計(jì)算機(jī)上,請(qǐng)打開終端窗口并輸入 which xclip
。如果該命令返回像 /usr/bin/xclip
這樣的輸出,那么你可以開始使用了。否則,你需要安裝 xclip
。
為此,請(qǐng)使用你的發(fā)行版的包管理器。如果你喜歡冒險(xiǎn),你可以從 GitHub 獲取源代碼并自己編譯。
基礎(chǔ)使用
假設(shè)你要將文件的內(nèi)容復(fù)制到剪貼板。在 xclip
中可以使用兩種方法。輸入:
xclip file_name
或者
xclip -sel clip file_name
兩個(gè)命令之間有什么區(qū)別(除了第二個(gè)命令更長(zhǎng))?***個(gè)命令在你使用鼠標(biāo)中鍵粘貼的情況下有效。但是,不是每個(gè)人都這樣做。許多人習(xí)慣使用右鍵單擊菜單或按 Ctrl+V
粘貼文本。如果你時(shí)其中之一(我就是!),使用 -sel clip
選項(xiàng)可確保你可以粘貼要粘貼的內(nèi)容。
將 xclip 與其他應(yīng)用一起使用
將文件內(nèi)容直接復(fù)制到剪貼板是個(gè)巧妙的技巧。很可能你不會(huì)經(jīng)常這樣做。還有其他方法可以使用 xclip
,其中包括將其與另一個(gè)命令行程序結(jié)合。
結(jié)合是用管道(|
)完成的。管道將一個(gè)命令行程序的輸出重定向到另一個(gè)命令行程序。這樣我們就會(huì)有更多的可能性,我們來(lái)看看其中的三個(gè)。
假設(shè)你是系統(tǒng)管理員,你需要將日志文件的*** 30 行復(fù)制到 bug 報(bào)告中。在文本編輯器中打開文件,向下滾動(dòng)到***,復(fù)制和粘貼有一點(diǎn)工作量。為什么不使用 xclip
和 tail 來(lái)快速輕松地完成?運(yùn)行此命令以復(fù)制*** 30 行:
tail -n 30 logfile.log | xclip -sel clip
我的寫作有相當(dāng)一部分用于內(nèi)容管理系統(tǒng) (CMS) 或者在其他網(wǎng)絡(luò)中發(fā)布。但是,我從不使用 CMS 的 WYSIWYG 編輯器來(lái)編寫 - 我采用 Markdown 格式離線編寫純文本。也就是說(shuō),許多編輯器都有 HTML 模式。通過(guò)使用此命令,我可以使用 Pandoc 將 Markdown 格式的文件轉(zhuǎn)換為 HTML 并將其一次性復(fù)制到剪貼板:
pandoc -t html file.md | xclip -sel clip
在其他地方,粘貼完成。
我的兩個(gè)網(wǎng)站使用 GitLab Pages 托管。我使用名為 Certbot 的工具為這些站點(diǎn)生成 HTTPS 證書,每當(dāng)我更新它時(shí),我需要將每個(gè)站點(diǎn)的證書復(fù)制到 GitLab。結(jié)合 cat 命令和 xclip 比使用編輯器更快,更有效。例如:
cat /etc/letsencrypt/live/website/fullchain.pem | xclip -sel clip
這就是全部可以用 xclip 做的事么?當(dāng)然不是。我相信你可以找到更多用途來(lái)滿足你的需求。
***總結(jié)
不是每個(gè)人都會(huì)使用 xclip
。沒(méi)關(guān)系。然而,它是一個(gè)在你需要它時(shí)非常方便的一個(gè)小工具。而且,正如我?guī)状伟l(fā)現(xiàn)的那樣,你不知道什么時(shí)候需要它。等到時(shí)候,你會(huì)很高興能用上 xclip
。