使用 xclip 在 Linux 命令行中複製粘貼
在使用 Linux 桌面工作時,你通常如何複製全部或部分文本?你可能會在文本編輯器中打開文件,選擇全部或僅選擇要複製的文本,然後將其粘貼到其他位置。
這樣沒問題。但是你可以使用 xclip 在命令行中更有效地完成工作。xclip
提供了在終端窗口中運行的命令與 Linux 圖形桌面環境中的剪貼板之間的管道。
安裝 xclip
xclip
並不是許多 Linux 發行版的標準套件。要查看它是否已安裝在你的計算機上,請打開終端窗口並輸入 which xclip
。如果該命令返回像 /usr/bin/xclip
這樣的輸出,那麼你可以開始使用了。否則,你需要安裝 xclip
。
為此,請使用你的發行版的包管理器。如果你喜歡冒險,你可以從 GitHub 獲取源代碼並自己編譯。
基礎使用
假設你要將文件的內容複製到剪貼板。在 xclip
中可以使用兩種方法。輸入:
xclip file_name
或者
xclip -sel clip file_name
兩個命令之間有什麼區別(除了第二個命令更長)?第一個命令在你使用滑鼠中鍵粘貼的情況下有效。但是,不是每個人都這樣做。許多人習慣使用右鍵單擊菜單或按 Ctrl+V
粘貼文本。如果你時其中之一(我就是!),使用 -sel clip
選項可確保你可以粘貼要粘貼的內容。
將 xclip 與其他應用一起使用
將文件內容直接複製到剪貼板是個巧妙的技巧。很可能你不會經常這樣做。還有其他方法可以使用 xclip
,其中包括將其與另一個命令行程序結合。
結合是用管道(|
)完成的。管道將一個命令行程序的輸出重定向到另一個命令行程序。這樣我們就會有更多的可能性,我們來看看其中的三個。
假設你是系統管理員,你需要將日誌文件的最後 30 行複製到 bug 報告中。在文本編輯器中打開文件,向下滾動到最後,複製和粘貼有一點工作量。為什麼不使用 MARKDOWN_HASH058ffe12180248ff9d1ab3215e4a3447MARKDOWNHASH
和 [tail](https://en.wikipedia.org/wiki/Tail(Unix)) 來快速輕鬆地完成?運行此命令以複製最後 30 行:
tail -n 30 logfile.log | xclip -sel clip
我的寫作有相當一部分用於內容管理系統 (CMS) 或者在其他網路中發布。但是,我從不使用 CMS 的 WYSIWYG 編輯器來編寫 - 我採用 Markdown 格式離線編寫純文本。也就是說,許多編輯器都有 HTML 模式。通過使用此命令,我可以使用 Pandoc 將 Markdown 格式的文件轉換為 HTML 並將其一次性複製到剪貼板:
pandoc -t html file.md | xclip -sel clip
在其他地方,粘貼完成。
我的兩個網站使用 GitLab Pages 託管。我使用名為 Certbot 的工具為這些站點生成 HTTPS 證書,每當我更新它時,我需要將每個站點的證書複製到 GitLab。結合 cat 命令和 xclip 比使用編輯器更快,更有效。例如:
cat /etc/letsencrypt/live/website/fullchain.pem | xclip -sel clip
這就是全部可以用 xclip 做的事么?當然不是。我相信你可以找到更多用途來滿足你的需求。
最後總結
不是每個人都會使用 xclip
。沒關係。然而,它是一個在你需要它時非常方便的一個小工具。而且,正如我幾次發現的那樣,你不知道什麼時候需要它。等到時候,你會很高興能用上 xclip
。
via: https://opensource.com/article/19/7/xclip
作者:Scott Nesbitt 選題:lujun9972 譯者:geekpi 校對:wxy
本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive