如何在 Linux 的 Bash Shell 中複製和貼上文本
重點
- Ctrl+C 和 Ctrl+V 通常用於在圖形應用程式中進行複製和貼上,但在 Bash shell 命令提示字元中不起作用。
- 要在 Bash shell 命令提示字元中複製和貼上,可以使用 Ctrl+Shift+C 和 Ctrl+Shift+V 或右鍵單擊滑鼠,然後從上下文功能表中選擇「複製」和「貼上」。
- 您也可以按滑鼠中鍵將所選文字自動貼上到遊標位置。
想要在 Bash shell 的命令列中複製並貼上嗎?無論您喜歡鍵盤還是滑鼠,我們都會向您展示多種技術。無論您使用的是圖形桌面還是傳統的基於文字的 TTY,這些功能都適用。
通常的複製和貼上鍵盤快捷鍵不起作用
複製和貼上文字是使用電腦的主要部分。當人們第一次使用 Linux 電腦時,無論他們來自 Windows 還是 macOS 世界,當他們嘗試在終端機視窗中複製和貼上時,他們常常會感到困惑。
在 Windows 中,您可以Ctrl+C
複製突出顯示的文字部分並將Ctrl+V
其貼上。在 macOS 中,您可以使用Command+C
複製和Command+V
貼上的方式。C
它們遵循相同的複製和V
插入約定。
這些完全相同的擊鍵適用於大多數 Linux 圖形應用程序,例如編輯器gedit或LibreOffice辦公室套件。Ctrl+C
複製突出顯示的文字並將Ctrl+V
其貼上到遊標處。我們的 Linux 新手可能根本沒有想到這些約定已被應用到這些應用程式中。他們使用肌肉記憶中的擊鍵並繼續工作。
一旦我們的新手打開終端機視窗並嘗試在Bash shell命令提示字元下複製和貼上,一切都會改變。早在複製和貼上被想到之前就被分配了功能Ctrl+C
。Ctrl+V
事實上,這些擊鍵早在圖形 shell 發明之前就已經被採用了,當時電傳打字機 (TTY)只是物理存在。
TTY 中的 Ctrl+C 和 Ctrl+V
當 TTY 是實體設備時,Ctrl+C
被選為產生訊號的便捷組合鍵。該訊號是SIGINT,它告訴當前進程終止。由於終端視窗是模擬的 TTY,因此該擊鍵組合(以及許多其他組合)已在模擬中保留和複製。請注意,終端機視窗是模擬。Bash shell 是在模擬 TTY 中執行的程式。
Ctrl+C
我們可以很容易地看到分配給和 的函數Ctrl+V
。假設您鍵入以下命令並按“Enter”。
ls -R /
因為我們使用-R
(遞歸)選項,所以該ls
指令將從根目錄開始列出每個檔案和目錄。過了一會兒,您意識到這不是您想要的,因此您透過點擊 來終止該過程Ctrl+C
。
Ctrl+C
該ls
過程被終止。Ctrl+C
螢幕截圖中突出顯示了可見的證據。它顯示為^C
。
此Ctrl+V
組合鍵調用「逐字插入」。這允許您將鍵的表示形式輸入到您正在鍵入的內容中,而不是獲得鍵的效果。若要查看此內容,請嘗試以下命令(不要鍵入逗號)。(例如,要嘗試第一個,請按 Ctrl+V,然後按 Enter。)
Ctrl+V, Enter
Ctrl+V, PgDn
Ctrl+V, RightArrow
Ctrl+V, Esc
順便說一句,您可能會注意到 Enter 由 表示^M
。我們之前看到它Ctrl+C
顯示為^C
. 看起來似乎^
代表著Ctrl
。所以Ctrl+M
可能與 Enter 的意思相同。這是否意味著我們可以透過輸入 Enter 來輸入Ctrl+M
?在終端機視窗中嘗試一下。你會發現確實如此。
因此,顯然,當它們已經分配了歷史悠久的功能時,我們不能期望Ctrl+C
並執行複製和貼上文字。Ctrl+V
那我們可以用什麼呢?
Ctrl+Shift+C 和 Ctrl+Shift+V
很容易記住,因為它們與對應項非常相似,Ctrl+Shift+C
並且是和Ctrl+Shift+V
的直接替代品。Ctrl+C
Ctrl+V
如果您用滑鼠反白顯示終端視窗中的文字並點擊,Ctrl+Shift+C
您就會將該文字複製到剪貼簿緩衝區中。
Ctrl+Shift+C
您可以將Ctrl+Shift+V
複製的文字貼上到同一終端機視窗或另一個終端視窗中。
Ctrl+Shift+V
您也可以貼上到圖形應用程式中,例如gedit
. 但請注意,當您貼上到應用程式中(而不是貼上到終端視窗中)時,您必須使用Ctrl+V
.
你也可以走另一條路。您可以突出顯示文字gedit
並點擊Ctrl+C
,然後使用 將其貼上到終端機視窗中Ctrl+Shift+V
。
組合鍵Ctrl+Insert
與 相同Ctrl+Shift+C
,組合方式Shift+Insert
與 相同Ctrl+Shift+V
。這裡要注意的是,這些只能在同一終端視窗中使用。
使用滑鼠:右鍵單擊
您可以使用滑鼠在終端視窗中進行複製和貼上。您必須使用滑鼠突出顯示要複製的文本,那麼為什麼不使用滑鼠來執行複製和貼上操作呢?
突出顯示某些文字後,右鍵單擊滑鼠並從上下文選單中選擇“複製”。
若要貼上複製的文本,請再次按一下滑鼠右鍵,然後從上下文功能表中選擇「貼上」。
文字將貼上到命令列上遊標的位置。在此範例中,相對路徑的給出不正確,且 Bash 無法變更目錄。用戶錯過了路徑開頭的“~/”。他們輸入了“~/”,然後複製了之前嘗試的剩餘路徑並將其貼上到第二個命令行中。
當他們按 Enter 鍵時,它們將被移動到該目錄。
此範例顯示了貼上到同一個終端視窗中,但您可以使用此右鍵單擊技術貼上到不同的終端視窗中。您也可以使用此方法貼上到圖形應用程式中。
使用滑鼠:中鍵
只要您的滑鼠有中鍵,還有一種更快的方法可以使用滑鼠進行複製和貼上。如果您按下滾輪(輕輕地!)並發出咔噠聲,您就得到了一個中間按鈕。
突出顯示終端機視窗中的一些文本,然後按中鍵。突出顯示的文字將貼上到命令列上的遊標位置。複製和貼上同時發生。
因此,突出顯示一些文字:
然後按中間按鈕:
您可以使用此方法在不同的終端機視窗之間貼上,也可以貼上到圖形應用程式中。只需突出顯示文本,移動到其他終端視窗或應用程序,然後按中間按鈕。
老派——沒有滑鼠
如果沒有滑鼠怎麼辦?如果無法突出顯示任何文本,如何複製和貼上它?
Linux 伺服器通常配置為沒有圖形桌面環境(GDE),這表示您無法使用滑鼠。即使在運行 GNOME 等圖形桌面環境的 Linux 電腦上並且您有滑鼠,也會存在無法使用滑鼠突出顯示文字的情況。
例如,您可能已切換到其他 TTY 之一。在現代發行版中,這些位置位於Ctrl+Alt+F3
(TTY3) 到Ctrl+Alt+F6
(TTY6)。(Ctrl+Alt+F2
將使您返回 GDE 會話並Ctrl+Alt+F1
進入 GDE 的登入畫面。)
也許您甚至正在使用真正的硬體 TTY 裝置連接到 Linux 或 Unix 電腦。
不管怎樣,這些技術都會對你有用。這裡要記住的一點是,這不是複製和貼上,而是剪切、複製和貼上,並且您只能從當前命令列進行剪切和複製。當然,您可以使用箭頭鍵滾動瀏覽歷史記錄,找到您想要剪下、複製和貼上的命令列。
您可以使用的按鍵有:
- Ctrl+W:剪下遊標之前的單字,並將其新增至剪貼簿緩衝區。
- Ctrl+K:剪下遊標後的行部分,並將其新增至剪貼簿緩衝區。如果遊標位於行的開頭,它將剪下並複製整行。
- Ctrl+U:剪下遊標之前的行部分,並將其新增至剪貼簿緩衝區。如果遊標位於行尾,它將剪切並複製整行。
- Ctrl+Y:貼上最後剪下和複製的文字。
讓我們跳到 TTY3。(隨後使用 Ctrl+Alt+F1 返回桌面。)
Ctrl+Alt+F3
tty
我們有一個要刪除的文件,讓我們檢查一下它是否在這裡。
ls -l file_to_delete.txt
如果我們使用向上箭頭鍵,我們將呼叫命令歷史記錄中最後使用的命令。我們可以只編輯這一行,但目的是演示剪切、複製和貼上,因此我們將以稍微耗時的方式完成刪除文件的任務。
我們將遊標移到檔案名稱的第一個字母,然後按Ctrl+K
。這將刪除該行的該部分並將文字複製到剪貼簿緩衝區。
我們將按退格鍵,直到清除該行。
我們將輸入rm
來刪除該檔案。
現在我們可以點擊Ctrl+Y
並貼上該行的其餘部分。
這完成了我們的命令,我們可以按 Enter 刪除檔案。
此類剪下、複製和貼上不能在附加 TTY 之間使用。例如,您無法在 TTY3 和 TTY4 之間剪下、複製和貼上。
最好將額外的 TTY 視為並排排列的物理 TTY。無法在不同的實體終端之間進行剪切和粘貼,並且在這些仿真中也無法這樣做。
複製那個,控制
無論您在使用 Linux 電腦時遇到什麼情況,都會有複製和貼上的方法。你有選擇。其中一些是奇怪的選擇,但至少有選擇。
Linux指令 |
|
文件 |
tar · pv · cat · tac · chmod · grep · diff · sed · ar · man · pushd · p.opd · fsck · testdisk · seq · fd · pandoc · cd · $ ATHPATH _ _ _ _ _ _ _ _ uniq · journalctl · tail · stat · ls · fstab · echo · less · chgrp · chown · rev · 查看 · 字串 · 輸入·重命名 · zip ·解壓· mount · umount ·安裝· fdisk · mmdir · rm · mmdir · rm rsync · df · gpg · vi · nano · mkdir · du · ln · patch ·轉換· rclone · shred · srm · scp · gzip · chattr · cut · find · umask · wc · tr |
流程 |
別名 · 螢幕 · 頂部 · 不錯 · renice · 進度 · strace · systemd · tmux · chsh · 歷史記錄 · at · 批次 · 空閒 · 哪個 · dmesg · chfn · usermod · ps · chroot · xargs · tty ·小指· lsof ·小指· vmstat ·超時· wall · yes · kill ·睡眠· sudo · su ·時間· groupadd · usermod · groups · lshw · shutdown · reboot · h · poweroff · passwd · lscpu · crontab · date cron · poweroffg passwd · lscpu · cron _ pmap |
聯網 |
netstat · ping · traceroute · ip · ss · whois · fail2ban · bmon · dig · finger · nmap · ftp · curl · wget · who · whoami · w · iptables · ssh -keygen · ho · whoami · w · iptables · ssh-keygen · ufw 花 |
發佈留言