Mester Linux cat-kommandoen: Komplett guide med eksempler

I alle operativsystemer arbeider brukere med filer og utfører handlinger som å opprette, slette og lese innhold fra filer. Linux er intet unntak.

Selv om det er mulig å håndtere filer via det grafiske brukergrensesnittet i Linux, foretrekker mange Linux-entusiaster å interagere med operativsystemet direkte via terminalen.

Linux tilbyr derfor en rekke kommandoer som lar brukerne arbeide med filer direkte fra terminalen. En av disse kommandoene er `cat`.

Ifølge Linux’ manualsider, brukes `cat`-kommandoen til å kombinere filer og vise filinnhold på standard utdata. Linux’ manualsider er dokumentasjonsfiler som skal hjelpe brukerne å forstå Linux-kommandoer og deres anvendelse.

For å få tilgang til manualsiden for en Linux-kommando, skriver du enkelt `man `. For å se manualen for `cat`-kommandoen, utfør for eksempel følgende kommando i terminalen:

man cat

Hva `cat`-kommandoen brukes til

Som tidligere nevnt, kan `cat`-kommandoen brukes til å vise innholdet i en fil på skjermen. En annen bruksområde er å sette sammen innhold fra flere filer og vise resultatet. Dette betyr at hvis du sender flere filnavn til `cat`-kommandoen, vil den kombinere innholdet og vise det på skjermen.

Enkelt sagt, `cat`-kommandoen slår sammen innholdet fra flere filer og viser det i terminalen. Det er viktig å merke seg at `cat`-kommandoen ikke oppretter noen ny fil, og de originale filene forblir uendret under operasjonen.

`cat`-kommandoen brukes også i forbindelse med omdirigering. Omdirigering refererer til prosessen der brukere kan endre kilden for standard input, og destinasjonen for standard output og standard feil. Standard input, standard output og standard feil er de vanlige datastrømmene som brukes for kommunikasjon i Linux.

Som standard er standard input tastaturet, mens standard output og standard feil vises på skjermen.

Omdirigering tillater oss dermed å hente standard input fra en fil eller annen kilde i stedet for tastaturet.

På samme måte kan vi, via omdirigering, sende standard output og standard feil til en fil i stedet for å vise dem på skjermen.

`cat` Kommandosyntaks

Syntaksen for `cat`-kommandoen er som følger:

cat [OPTION]... [FILE]...

I Linux’ manualsider, er alt som står innenfor hakeparenteser valgfritt. I syntaksen ovenfor er det altså ikke nødvendig for `cat`-kommandoen å ha en OPTION eller en fil som argument. Den kan ha en av delene, begge, eller ingen av dem.

Ellipsis (…) brukes for å indikere at en eller flere av de foregående operandene eller argumentene er tillatt. Derfor kan `cat`-kommandoen akseptere en eller flere OPTIONS eller FILER.

FILE representerer filene vi vil at `cat`-kommandoen skal kombinere og vise. OPTION representerer flagg som kan legges til `cat`-kommandoen for å endre dens oppførsel. Noen av alternativene som kan brukes med `cat`-kommandoen er presentert nedenfor:

`cat`-kommandoen henter filene som er angitt og sender innholdet til standard output, som er terminalvinduet. Hvis flere filer er spesifisert, vil innholdet deres kombineres og deretter vises i terminalen.

`cat`-kommandoens oppførsel endres også i henhold til flagget som sendes med den. For eksempel, hvis du sender flagget `-n`, vil `cat`-kommandoen nummerere alle linjene i utdataene. Du kan velge et hvilket som helst av de tilgjengelige flaggene, avhengig av ønsket funksjonalitet.

Slik bruker du `cat`-kommandoen

For å bruke `cat`-kommandoen, skriver du bare inn kommandoen etterfulgt av navnet på filen(e) du vil kombinere og lese. For å vise innholdet i filen `rainbow.txt`, for eksempel, utfør følgende kommando:

cat rainbow.txt

Du kan også legge til et flagg for å modifisere `cat`-kommandoens oppførsel. For eksempel kan du nummerere alle utdatalinjene ved å bruke flagget `-n`. I eksemplet over, kan vi nummerere linjene i `rainbow.txt` ved å bruke denne kommandoen:

cat -n rainbow.txt

Utdataene for de to kommandoene er vist nedenfor:

For å kombinere flagg eller alternativer som kan brukes med `cat`-kommandoen, skriver du dem ganske enkelt etter hverandre, enten samlet eller adskilt. Begge måtene fungerer. Flagget `-E` som vises nedenfor, brukes til å legge til et dollartegn ($) på slutten av utdatalinjene.

Dette kan være nyttig når du viser pengeverdier. De forskjellige måtene du kan kombinere flere flagg med `cat`-kommandoen på, er vist nedenfor:

For å sette sammen og vise flere filer ved hjelp av `cat`-kommandoen, skriver du ganske enkelt filnavnene etter hverandre, separert med mellomrom. For å kombinere to filer kalt `rainbow.txt` og `primary.txt`, for eksempel, utfør følgende kommando:

cat rainbow.txt primary.txt

Utdata fra kommandoen er vist nedenfor:

De to filene `rainbow.txt` og `primary.txt` forblir uendret etter denne operasjonen. Det er viktig å merke seg at rekkefølgen filene vises i kommandoen, bestemmer hvordan innholdet skal vises. Innholdet vises fra den første filen til den siste. Du kan også legge til flagg når du setter sammen og viser flere filer, som vist nedenfor:

En siste ting å merke seg om `cat`-kommandoen er at hvis ingen fil er angitt i kommandoen, eller en bindestrek (-) er angitt, vil `cat`-kommandoen lese fra standard input i stedet for en fil. Standard input er tastaturet.

Derfor vil `cat`-kommandoen ganske enkelt vise det en bruker skriver inn via tastaturet. For å se dette i praksis, utfør følgende kommando:

cat

Kommandoen vil da vise en blinkende markør som venter på input fra tastaturet. Skriv inn tekst og trykk deretter Enter. Uansett hva du skriver, vil sendes til standard output, som vist nedenfor:

Trykk CTRL + C for å avslutte og slutte å sende input til `cat`-kommandoen.

Vi kan også bruke `cat`-kommandoen for å sette sammen og vise innholdet av alle filer med en bestemt type i den gjeldende katalogen. Dette gjøres ved hjelp av en stjerne

cat *.txt

jokertegn. For å vise innholdet av alle tekstfiler (.txt) i en gitt katalog, vil vi for eksempel kjøre koden nedenfor:

Utdataene fra kommandoen er vist nedenfor:

Eksempler på `cat`-kommandoen

I tillegg til standardbruken av `cat`-kommandoen, kan dens funksjonalitet utvides gjennom omdirigering. Som tidligere nevnt, sender `cat`-kommandoen output til terminalskjermen som standard.

Gjennom omdirigering kan vi imidlertid sende output til en annen fil istedenfor å vise det på skjermen.

Output-omdirigeringsoperatoren i Linux er > (større-enn-symbolet, også kalt chevron).

cat rainbow.txt

Hvis vi for eksempel utfører denne kommandoen:

Vil innholdet av `rainbow.txt` vises på skjermen.

cat colors.txt > rainbow.txt

Men hvis vi utfører:

Vil innholdet av `rainbow.txt` ikke vises på skjermen. I stedet vil det omdirigeres og skrives til `colors.txt`-filen. Dette kan være en utmerket måte å kopiere innhold fra en fil til en annen.

Standardoppførselen for output-omdirigering i Linux er at den overskriver alt innholdet i filen vi omdirigerer til. I eksemplet over vil altså alt innhold i `rainbow.txt` bli erstattet med innholdet fra `colors.txt`. For å beholde eksisterende innhold i filen du omdirigerer til, og legge til nytt innhold, bruk >> når du omdirigerer.

Merk at `colors.txt` nå inneholder fargene fra `rainbows.txt`, etter at vi omdirigerte output fra `rainbows.txt` til `colors.txt` ved hjelp av >>.

For å utnytte funksjonaliteten til `cat`-kommandoen enda mer, kan vi kombinere omdirigering og `cat`-kommandoens standardoppførsel om å lese fra standard input når ingen fil er spesifisert, for å bruke `cat`-kommandoen til å opprette en fil og skrive til den.

cat > dark.txt

Hvis du utfører denne koden:

Vil vi omdirigere til `dark.txt`. Siden vi ikke har spesifisert en fil som skal omdirigeres til `dark.txt`, vil `cat`-kommandoen forvente input fra tastaturet.

Skriv derfor inn tekst du vil lagre i `dark.txt`, trykk Enter for å gå til neste linje, og trykk CTRL + D når du er ferdig for å lagre det du har skrevet i filen du omdirigerer til.

Siden vi omdirigerer til en fil som ikke eksisterer, vil `dark.txt` automatisk opprettes, og det vi har skrevet via tastaturet vil lagres i filen. På denne måten kan vi bruke `cat`-kommandoen til å opprette filer og skrive til dem samtidig.

Resultatet av denne operasjonen er vist nedenfor:

cat >> dark.txt

`cat` kan også brukes til å legge til tekst på slutten av en fil. Med `dark.txt` som eksempel, kan vi legge til flere farger ved å utføre:

Du kan deretter legge til ekstra informasjon ved å skrive via tastaturet og deretter trykke CTRL + D for å lagre og legge til det nye innholdet i `dark.txt`, som vist nedenfor:

cat file1 file2 file3 > file4

`cat`-kommandoen kan også brukes til å sette sammen flere filer til én enkelt fil. Syntaksen for en slik operasjon er vist nedenfor:

Innholdet i `file1`, `file2` og `file3` vil bli kombinert og skrevet til `file4`. Du kan også bruke >> hvis du ikke ønsker å overskrive innholdet i `file4`. Hvis `file4` ikke eksisterer, vil den opprettes automatisk.

Et eksempel på dette er vist nedenfor:

cat colors.txt primary.txt > allColors.txt

For å skrive innholdet av `colors.txt` og `primary.txt` til `allColors.txt`, utfører vi:

cat primary.txt >> colors.txt

Du kan også legge til innhold fra en eller flere filer til en annen fil ved hjelp av `cat`-kommandoen. Dette gjøres ved å bruke >> når du omdirigerer output. Dette unngår å overskrive innholdet som allerede er lagret i den andre filen. For eksempel, for å legge til innholdet i `primary.txt` til `colors.txt`, kjør koden nedenfor:

Resultatet av denne operasjonen er vist nedenfor:

Konklusjon

`cat`-kommandoen er en svært nyttig Linux-kommando som lar brukere sette sammen og vise filinnhold. Kommandoen har flere flagg som kan legges til for å endre hvordan den opererer.

Gjennom omdirigering kan `cat`-kommandoens funksjonalitet utvides betydelig, slik at brukere kan opprette og kopiere filer, sette sammen flere filer til én enkelt fil og legge til innhold i en eksisterende fil. For å lære mer om `cat`-kommandoen, se manualsidene.

Du kan også utforske noen Linux-kommandoer for systemadministratorer.