Hvordan kopiere og lime inn tekst på Linuxs Bash Shell

Vil du kopiere og lime inn på kommandolinjen til Bash-skallet? Vi viser deg flere teknikker enten du foretrekker tastaturet eller musen. Disse fungerer enten du er ved et grafisk skrivebord eller ved en tradisjonell tekstbasert TTY.

De vanlige tastatursnarveiene vil ikke fungere

Å kopiere og lime inn tekst er en viktig del av bruk av en datamaskin. Når folk bruker en Linux-datamaskin de første gangene, enten de kommer fra Windows- eller macOS-verdenen, blir de ofte forvirret når de prøver å kopiere og lime inn i et terminalvindu.

I Windows bruker du Ctrl+C for å kopiere en del av uthevet tekst og Ctrl+V for å lime den inn. I macOS bruker du Command+C for å kopiere den og Command+V for å lime den inn. De følger samme konvensjon med C for å kopiere og V for å sette inn.

De samme tastetrykkene fungerer i de fleste grafiske Linux-applikasjoner, for eksempel editoren gedit eller LibreOffice office suite.Ctrl+C kopierer markert tekst og Ctrl+V limer den inn ved markøren. Vår nykommer til Linux tenker nok ikke engang på det faktum at disse konvensjonene har blitt gjennomført i disse applikasjonene. De bruker tastetrykkene fra muskelminnet og fortsetter arbeidet.

Når nykommeren vår åpner et terminalvindu og prøver å kopiere og lime inn på Bash-skall ledetekst, at alle endringer. Ctrl+C og Ctrl+V ble tildelt funksjoner lenge før det var tenkt på kopiering og innliming. Faktisk ble disse tastetrykkene rekruttert lenge før grafiske skall ble oppfunnet, den gang en teletype (TTY) var en fysisk ting.

Ctrl+C og Ctrl+V i TTY-er

Når en TTY var en fysisk enhet, ble Ctrl+C valgt som en praktisk tastekombinasjon for å generere et signal. Det signalet er SIGINT, som forteller at den nåværende prosessen skal avsluttes. Fordi et terminalvindu er en emulert TTY, har den tastetrykkkombinasjonen (og mange andre) blitt bevart og replikert i emuleringen. Merk at det er terminalvinduet som er emuleringen. Bash-skallet er et program som kjører i den emulerte TTY-en.

Vi kan enkelt se funksjonene som er tildelt Ctrl+C og Ctrl+V. Anta at du skriver inn følgende kommando og trykker «Enter.»

ls -R /

Fordi vi bruker alternativet -R (rekursivt) vil ls-kommandoen begynne å liste hver fil og katalog, med start fra rotkatalogen. Etter et par øyeblikk innser du at dette ikke er det du ønsket, så du avslutter prosessen ved å trykke Ctrl+C.

Ctrl+C

ls-prosessen er avsluttet. Det synlige beviset på Ctrl+C er uthevet i skjermbildet. Den vises som ^C.

  Slik løser du problemer med Zoom-møtelyd

Ctrl+V-tastekombinasjonen påkaller «ordrett innsetting». Dette lar deg legge inn en representasjon av en nøkkel i det du skriver, i stedet for å få effekten av nøkkelen. For å se dette, prøv følgende kommandoer (ikke skriv inn kommaene). (For eksempel, for å prøve den første, trykk Ctrl+V og trykk deretter Enter.)

Ctrl+V, Enter
Ctrl+V, PgDn
Ctrl+V, RightArrow
Ctrl+V, Esc

Som en rask side kan du legge merke til at Enter er representert av ^M . Vi så tidligere at Ctrl+C dukket opp som ^C. Det ser ut til at ^ representerer Ctrl. Så Ctrl+M betyr sannsynligvis det samme som Enter. Betyr det at vi kan gå inn på Enter ved å skrive Ctrl+M? Prøv det i et terminalvindu. Du vil se at det gjør det.

Så vi kan tydeligvis ikke forvente at Ctrl+C og Ctrl+V skal kopiere og lime inn tekst når de allerede har anerkjente funksjoner tildelt dem. Så hva kan vi bruke?

Ctrl+Shift+C og Ctrl+Shift+V

Lett å huske fordi de er veldig like sine motparter, Ctrl+Shift+C og Ctrl+Shift+V er direkte erstatninger for Ctrl+C og Ctrl+V.

Hvis du markerer tekst i terminalvinduet med musen og trykker Ctrl+Shift+C, kopierer du teksten til en utklippstavlebuffer.

Ctrl+Shift+C

Du kan bruke Ctrl+Shift+V for å lime inn den kopierte teksten i det samme terminalvinduet, eller i et annet terminalvindu.

Ctrl+Shift+V

Du kan også lime inn i et grafisk program som gedit. Men merk deg, når du limer inn i et program – og ikke i et terminalvindu – må du bruke Ctrl+V.

Og du kan også gå andre veien. Du kan markere tekst i gedit og trykke Ctrl+C, og deretter lime den inn i et terminalvindu ved å bruke Ctrl+Shift+V.

Tastekombinasjonen Ctrl+Insert er den samme som Ctrl+Shift+C, og kombinasjonen Shift+Insert er den samme som Ctrl+Shift+V. Forbeholdet her er at disse kun kan brukes innenfor samme terminalvindu.

Bruke musen: Høyreklikk

Du kan bruke musen til å kopiere og lime inn i et terminalvindu. Du må bruke musen for å markere teksten du skal kopiere, så hvorfor ikke bruke den til å utføre kopierings- og limhandlingene?

  Slik søker du i alle strømmetjenester etter en film eller et TV-program

Når du har markert litt tekst, høyreklikker du med musen og velger «Kopier» fra hurtigmenyen.

For å lime inn den kopierte teksten, høyreklikk med musen en gang til og velg «Lim inn» fra kontekstmenyen.

Teksten limes inn ved posisjonen til markøren på kommandolinjen. I dette eksemplet har den relative banen blitt gitt feil, og Bash kan ikke endre katalog. Brukeren gikk glipp av «~/» fra starten av banen. De har skrevet «~/» og deretter kopiert resten av banen fra deres forrige forsøk og limt den inn i den andre kommandolinjen.

Når de trykker Enter, flyttes de til katalogen.

Dette eksemplet viste innliming i det samme terminalvinduet, men du kan bruke denne høyreklikkteknikken til å lime inn i forskjellige terminalvinduer. Du kan også lime inn i grafiske applikasjoner ved å bruke denne metoden.

Bruke musen: Midtknapp

Det er en enda raskere måte å kopiere og lime inn med musen, så lenge musen har en midtknapp. Hvis du trykker ned på rullehjulet ditt (forsiktig!) og det klikker, har du en midtknapp.

Marker litt tekst i et terminalvindu og trykk deretter på midtknappen. Den uthevede teksten limes inn til markørposisjonen på kommandolinjen. Kopiering og innliming skjer samtidig.

Så fremhev litt tekst:

Trykk deretter på midtknappen:

Du kan bruke denne metoden til å lime inn mellom forskjellige terminalvinduer og i grafiske applikasjoner også. Bare marker teksten, flytt til det andre terminalvinduet eller applikasjonen, og trykk på den midterste knappen.

Old School – Ingen mus

Hva med når du ikke har mus? Hvis du ikke kan markere noen tekst, hvordan kan du kopiere og lime den inn?

Linux-servere er ofte konfigurert uten en grafisk skrivebordsmiljø (GDE), som betyr at du ikke har tilgang til en mus. Selv på en Linux-datamaskin som kjører et grafisk skrivebordsmiljø som GNOME og du har en mus, vil det være tilfeller der du ikke kan bruke musen til å markere tekst.

Du kan for eksempel ha byttet til en av de ekstra TTYene. På moderne distribusjoner er disse plassert fra Ctrl+Alt+F3 (TTY3) til Ctrl+Alt+F6 (TTY6). (Ctrl+Alt+F2 vil returnere deg til GDE-økten, og Ctrl+Alt+F1 tar deg til påloggingsskjermen til GDE-en din.)

Kanskje du til og med bruker en ekte maskinvare-TTY-enhet for å koble til en Linux- eller Unix-datamaskin.

Uansett vil disse teknikkene fungere for deg. Poenget å huske på her er at dette ikke er kopier og lim, det klippes, kopieres og limes inn, og du kan bare klippe ut og kopiere fra gjeldende kommandolinje. Selvfølgelig kan du bruke piltastene til å bla gjennom historien din for å finne kommandolinjen du vil klippe ut, kopiere og lime inn fra.

  Hva er Smishing, og hvordan beskytter du deg selv?

Tastetrykkene du kan bruke er:

Ctrl+W: Klipp ut ordet før markøren, og legg det til i utklippstavlebufferen.
Ctrl+K: Klipp ut delen av linjen etter markøren, og legg den til i utklippstavlebufferen. Hvis markøren er på begynnelsen av linjen, vil den kutte og kopiere hele linjen.
Ctrl+U: Klipp delen av linjen før markøren, og legg den til i utklippstavlebufferen. Hvis markøren er på slutten av linjen, vil den kutte og kopiere hele linjen.
Ctrl+Y: Lim inn den siste teksten som ble klippet ut og kopiert.

La oss hoppe over til TTY3. (Bruk Ctrl+Alt+F1 for å komme tilbake til skrivebordet etterpå.)

Ctrl+Alt+F3
tty

Vi har en fil vi ønsker å slette, la oss sjekke at den er her.

ls -l file_to_delete.txt

Hvis vi bruker opp-piltasten, kaller vi den siste kommandoen vi brukte ut av kommandohistorikken. Vi kunne bare redigere denne linjen, men målet er å demonstrere klipp, kopier og lim inn, så vi vil utføre oppgaven vår med å slette filen på en litt langvarig måte.

Vi flytter markøren til den første bokstaven i filnavnet, og trykker deretter Ctrl+K. Dette vil fjerne den delen av linjen og kopiere teksten til utklippstavlebufferen.

Vi trykker på Backspace til vi rydder linjen.

Vi skriver inn rm for å slette filen.

Og nå kan vi trykke Ctrl+Y og lime inn resten av linjen.

Dette fullfører kommandoen vår, og vi kan trykke Enter for å få filen slettet.

Denne typen klipp, kopier og lim inn kan ikke brukes mellom de ekstra TTY-ene. Du kan for eksempel ikke klippe ut, kopiere og lime inn mellom TTY3 og TTY4.

De ekstra TTY-ene er best tenkt på som en linje med fysiske TTY-er som sitter side om side. Det er ingen måte å klippe og lime mellom de forskjellige fysiske terminalene, og det er ingen måte å gjøre det i disse emuleringene.

Kopier det, kontroll

Uansett hvilken situasjon du befinner deg i når du bruker en Linux-datamaskin, vil det være en måte å kopiere og lime inn. Du har alternativer. Noen av dem er merkelige alternativer, men det finnes i det minste alternativer.