Chcesz skopiować i wkleić w wierszu poleceń powłoki Bash? Pokażemy Ci wiele technik, niezależnie od tego, czy wolisz klawiaturę, czy mysz. Działają one niezależnie od tego, czy korzystasz z graficznego pulpitu, czy tradycyjnego tekstowego urządzenia TTY.
Spis treści:
Zwykłe skróty klawiaturowe nie będą działać
Kopiowanie i wklejanie tekstu to podstawowy element korzystania z komputera. Kiedy ludzie używają komputera z Linuksem po raz pierwszy, niezależnie od tego, czy pochodzą ze świata Windows, czy macOS, często są zdezorientowani, próbując skopiować i wkleić w oknie terminala.
W systemie Windows użyj Ctrl + C, aby skopiować fragment podświetlonego tekstu i Ctrl + V, aby go wkleić. W macOS używasz Command + C, aby go skopiować, i Command + V, aby go wkleić. Postępują zgodnie z tą samą konwencją C kopiowania i V do wstawiania.
Te same naciśnięcia klawiszy działają w większości aplikacji graficznych Linuksa, takich jak edytor gedit albo LibreOffice pakiet office. Ctrl + C kopiuje zaznaczony tekst, a Ctrl + V wkleja go do kursora. Nasz nowicjusz w Linuksie prawdopodobnie nawet nie myśli o tym, że te konwencje zostały przeniesione do tych aplikacji. Używają klawiszy z pamięci mięśniowej i kontynuują swoją pracę.
Gdy nasz nowicjusz otworzy okno terminala i spróbuje skopiować i wkleić w Bash shell wiersz polecenia, że wszystkie zmiany. Ctrl + C i Ctrl + V przydzielono funkcje na długo przed kopiowaniem i wklejaniem. W rzeczywistości te naciśnięcia klawiszy zostały zrekrutowane na długo przed wynalezieniem powłok graficznych, kiedy teletyp (TTY) był czymś fizycznym.
Ctrl + C i Ctrl + V w TTY
Gdy TTY był urządzeniem fizycznym, wybrano kombinację klawiszy Ctrl + C jako poręczną kombinację klawiszy do generowania sygnału. Ten sygnał jest SIGINT, który mówi bieżącemu procesowi o zakończeniu. Ponieważ okno terminala jest emulowanym TTY, ta kombinacja klawiszy (i wiele innych) została zachowana i zreplikowana podczas emulacji. Zauważ, że to okno terminala jest emulacją. Powłoka Bash to program działający w tym emulowanym TTY.
Z łatwością możemy zobaczyć funkcje, które zostały przypisane do Ctrl + C i Ctrl + V. Załóżmy, że wpisujesz następujące polecenie i naciskasz „Enter”.
ls -R /
Ponieważ używamy opcji -R (rekurencyjna), polecenie ls zacznie wyświetlać każdy plik i katalog, zaczynając od katalogu głównego. Po kilku chwilach zdajesz sobie sprawę, że to nie jest to, czego chciałeś, więc przerywasz proces, naciskając Ctrl + C.
Ctrl+C
Proces ls został zakończony. Widoczny dowód Ctrl + C jest zaznaczony na zrzucie ekranu. Jest wyświetlany jako ^ C.
Kombinacja klawiszy Ctrl + V wywołuje „dosłowne wstawianie”. Pozwala to na wprowadzenie reprezentacji klucza do tego, co piszesz, zamiast uzyskania efektu klucza. Aby to zobaczyć, wypróbuj następujące polecenia (nie wpisuj przecinków). (Na przykład, aby wypróbować pierwszy, naciśnij Ctrl + V, a następnie naciśnij Enter).
Ctrl+V, Enter
Ctrl+V, PgDn
Ctrl+V, RightArrow
Ctrl+V, Esc
Na marginesie możesz zauważyć, że Enter jest reprezentowany przez ^ M. Widzieliśmy wcześniej, że Ctrl + C pojawiło się jako ^ C. Wydawałoby się, że ^ reprezentuje Ctrl. Więc Ctrl + M prawdopodobnie oznacza to samo co Enter. Czy to oznacza, że możemy wpisać Enter, naciskając Ctrl + M? Wypróbuj w oknie terminala. Zobaczysz, że tak.
Tak więc, po prostu nie możemy oczekiwać, że Ctrl + C i Ctrl + V będą kopiować i wklejać tekst, gdy mają już przydzielone funkcje uświęcone czasem. Więc czego możemy użyć?
Ctrl + Shift + C i Ctrl + Shift + V
Łatwo je zapamiętać, ponieważ są bardzo podobne do swoich odpowiedników, Ctrl + Shift + C i Ctrl + Shift + V są bezpośrednimi zamiennikami Ctrl + C i Ctrl + V.
Jeśli zaznaczysz tekst w oknie terminala za pomocą myszy i naciśniesz Ctrl + Shift + C, skopiujesz ten tekst do bufora schowka.
Ctrl+Shift+C
Możesz użyć Ctrl + Shift + V, aby wkleić skopiowany tekst do tego samego okna terminala lub do innego okna terminala.
Ctrl+Shift+V
Możesz także wkleić do aplikacji graficznej, takiej jak gedit. Ale pamiętaj, że kiedy wklejasz do aplikacji – a nie do okna terminala – musisz użyć Ctrl + V.
Możesz też pójść w drugą stronę. Możesz podświetlić tekst w gedit i nacisnąć Ctrl + C, a następnie wkleić go do okna terminala za pomocą Ctrl + Shift + V.
Kombinacja klawiszy Ctrl + Insert jest taka sama jak Ctrl + Shift + C, a kombinacja Shift + Insert jest taka sama jak Ctrl + Shift + V. Zastrzeżenie polega na tym, że można ich używać tylko w tym samym oknie terminala.
Za pomocą myszy: Kliknij prawym przyciskiem myszy
Możesz użyć myszy, aby skopiować i wkleić w oknie terminala. Musisz użyć myszy, aby zaznaczyć tekst, który zamierzasz skopiować, więc dlaczego nie użyć go do wykonania operacji kopiowania i wklejania?
Po zaznaczeniu tekstu kliknij prawym przyciskiem myszy i wybierz „Kopiuj” z menu kontekstowego.
Aby wkleić skopiowany tekst, ponownie kliknij prawym przyciskiem myszy i wybierz „Wklej” z menu kontekstowego.
Tekst jest wklejany w miejscu kursora w linii poleceń. W tym przykładzie ścieżka względna została podana niepoprawnie, a Bash nie może zmienić katalogu. Użytkownik pominął „~ /” na początku ścieżki. Wpisali „~ /”, a następnie skopiowali pozostałą część ścieżki z poprzedniej próby i wkleili ją do drugiego wiersza poleceń.
Po naciśnięciu Enter są przenoszone do katalogu.
Ten przykład pokazał wklejanie do tego samego okna terminala, ale możesz użyć tej techniki kliknięcia prawym przyciskiem myszy, aby wkleić do różnych okien terminala. Za pomocą tej metody można również wkleić do aplikacji graficznych.
Za pomocą myszy: środkowy przycisk
Istnieje jeszcze szybszy sposób kopiowania i wklejania za pomocą myszy, o ile mysz ma środkowy przycisk. Jeśli naciśniesz kółko przewijania (delikatnie!) I kliknie, masz środkowy przycisk.
Podświetl tekst w oknie terminala, a następnie naciśnij środkowy przycisk. Podświetlony tekst zostanie wklejony w miejsce kursora w wierszu poleceń. Kopiowanie i wklejanie odbywa się w tym samym czasie.
Więc zaznacz jakiś tekst:
Następnie naciśnij środkowy przycisk:
Możesz użyć tej metody do wklejania między różnymi oknami terminali, a także do aplikacji graficznych. Po prostu zaznacz tekst, przejdź do innego okna terminala lub aplikacji i naciśnij środkowy przycisk.
Stara szkoła – bez myszy
A co, gdy nie masz myszy? Jeśli nie możesz zaznaczyć żadnego tekstu, jak możesz go skopiować i wkleić?
Serwery Linux są często konfigurowane bez rozszerzenia graficzne środowisko graficzne (GDE), co oznacza, że nie masz dostępu do myszy. Nawet na komputerze z systemem Linux, na którym działa graficzne środowisko graficzne, takie jak GNOME, i masz mysz, będą przypadki, w których nie możesz użyć myszy do podświetlenia tekstu.
Na przykład mogłeś przełączyć się na jeden z dodatkowych TTY. W nowoczesnych dystrybucjach znajdują się one od Ctrl + Alt + F3 (TTY3) do Ctrl + Alt + F6 (TTY6). (Ctrl + Alt + F2 spowoduje powrót do sesji GDE, a Ctrl + Alt + F1 przeniesie Cię do ekranu logowania do GDE).
Być może używasz nawet oryginalnego sprzętowego urządzenia TTY do łączenia się z komputerem z systemem Linux lub Unix.
Tak czy inaczej, te techniki będą działać dla Ciebie. Należy tutaj pamiętać, że to nie jest kopiowanie i wklejanie, tylko wycinanie, kopiowanie i wklejanie, a można wycinać i kopiować tylko z bieżącego wiersza poleceń. Oczywiście możesz użyć klawiszy strzałek, aby przewinąć historię, aby znaleźć wiersz poleceń, z którego chcesz wycinać, kopiować i wklejać.
Klawisze, których możesz użyć, to:
Ctrl + W: Wytnij słowo przed kursorem i dodaj je do bufora schowka.
Ctrl + K: Wytnij część linii za kursorem i dodaj ją do bufora schowka. Jeśli kursor znajduje się na początku linii, wycina i kopiuje całą linię.
Ctrl + U: Wytnij część linii przed kursorem i dodaj ją do bufora schowka. Jeśli kursor znajduje się na końcu linii, wycina i kopiuje całą linię.
Ctrl + Y: Wklej ostatni tekst, który został wycięty i skopiowany.
Przejdźmy do TTY3. (Użyj Ctrl + Alt + F1, aby później wrócić na pulpit).
Ctrl+Alt+F3
tty
Mamy plik, który chcemy usunąć, sprawdźmy, czy jest tutaj.
ls -l file_to_delete.txt
Jeśli użyjemy klawisza strzałki w górę, wywołamy ostatnie polecenie, którego użyliśmy, z historii poleceń. Moglibyśmy po prostu edytować tę linię, ale celem jest zademonstrowanie wycinania, kopiowania i wklejania, więc wykonamy nasze zadanie usunięcia pliku w nieco przedłużony sposób.
Przesuniemy kursor do pierwszej litery nazwy pliku, a następnie naciśniemy Ctrl + K. Spowoduje to usunięcie tej części wiersza i skopiowanie tekstu do bufora schowka.
Będziemy naciskać Backspace, aż wyczyścimy linię.
Wpisz rm, aby usunąć plik.
A teraz możemy nacisnąć Ctrl + Y i wkleić pozostałą część linii.
To kończy nasze polecenie i możemy nacisnąć klawisz Enter, aby usunąć plik.
Tego typu wycinanie, kopiowanie i wklejanie nie może być używane między dodatkowymi TTY. Nie można na przykład wycinać, kopiować i wklejać między TTY3 i TTY4.
Dodatkowe TTY najlepiej traktować jako linię fizycznych terminali TTY ustawionych obok siebie. Nie ma możliwości wycinania i wklejania między różnymi fizycznymi terminalami i nie ma sposobu, aby to zrobić w tych emulacjach.
Kopiuj, Control
Niezależnie od sytuacji, w której się znajdziesz podczas korzystania z komputera z systemem Linux, będzie sposób na kopiowanie i wklejanie. Masz opcje. Niektóre z nich to dziwne opcje, ale przynajmniej są opcje.