Hvordan bruke "cat" og "tac" kommandoer med eksempler i Linux


Denne artikkelen er en del av vår Linux-triks- og tips-serie, i denne artikkelen vil vi dekke noen grunnleggende bruk av kommandoen cat (mest brukte kommando i Linux) og tac ( omvendt av cat-kommando – skriv ut filer i omvendt rekkefølge) med noen praktiske eksempler.

Les også: 13 nyttige 'cat'-kommandoer i Linux

Grunnleggende bruk av Cat Command i Linux

Kommandoen Cat, akronym for Concatenate, er en av de mest brukte kommandoene i *nix-systemer. Den mest grunnleggende bruken av kommandoen er å lese filer og vise dem til stdout, som betyr å vise innholdet i filene på terminalen din.

cat file.txt

En annen bruk av kommandoen cat er å lese eller kombinere flere filer sammen og sende utdataene til en skjerm som illustrert i eksemplene nedenfor.

cat file1.txt file2.txt file3.txt

Kommandoen kan også brukes til å sette sammen (føye sammen) flere filer til én enkelt fil ved å bruke “> ” Linux-omdirigeringsoperatøren.

cat file1.txt file2.txt file3.txt > file-all.txt

Ved å bruke tilføy-omadresseringen kan du legge til innholdet i en ny fil nederst i file-all.txt med følgende syntaks.

cat file4.txt >> file-all.txt

Kommandoen cat kan brukes til å kopiere innholdet i filen til en ny fil. Den nye filen kan gis nytt navn til vilkårlig. Kopier for eksempel filen fra gjeldende plassering til katalogen /tmp/.

cat file1.txt > /tmp/file1.txt 

Kopier filen fra gjeldende plassering til katalogen /tmp/ og endre navnet.

cat file1.txt > /tmp/newfile.cfg

En mindre bruk av cat-kommandoen er å lage en ny fil med syntaksen nedenfor. Når du er ferdig med å redigere filen, trykk CTRL+D for å lagre og avslutte den nye filen.

cat > new_file.txt

For å nummerere alle utdatalinjer i en fil, inkludert tomme linjer, bruk -n-bryteren.

cat -n file-all.txt

For å vise bare nummeret på hver ikke-tom linje, bruk -b bryteren.

cat -b file-all.txt

Vil du lære mer om Linux cat-kommando? les deretter artikkelen vår om 13 nyttige eksempler på "cat"-kommandoer i Linux.

Lær hvordan du bruker Tac Command i Linux

På den annen side er en mindre kjent og mindre brukt kommando i *nix-systemer tac-kommandoen. Tac er praktisk talt den omvendte versjonen av kommandoen cat (også stavet baklengs) som skriver ut hver linje i en fil fra den nederste linjen og avslutter på den øverste linjen til maskinstandarden din produksjon.

tac file-all.txt

Et av de viktigste alternativene for kommandoen er representert av -s-bryteren, som skiller innholdet i filen basert på en streng eller et nøkkelord fra filen.

tac file-all.txt --separator "two"

Deretter er den viktigste bruken av tac-kommandoen at den kan gi stor hjelp for å feilsøke loggfiler, og snu den kronologiske rekkefølgen av logginnhold.

tac /var/log/auth.log

Or to display the last lines

tail /var/log/auth.log | tac
Eksempelutgang
tecmint@tecmint ~ $ tac /var/log/auth.log
pr  6 16:09:01 tecmint CRON[17714]: pam_unix(cron:session): session closed for user root
Apr  6 16:09:01 tecmint CRON[17714]: pam_unix(cron:session): session opened for user root by (uid=0)
Apr  6 16:05:01 tecmint CRON[17582]: pam_unix(cron:session): session closed for user root
Apr  6 16:05:01 tecmint CRON[17583]: pam_unix(cron:session): session closed for user root
Apr  6 16:05:01 tecmint CRON[17583]: pam_unix(cron:session): session opened for user root by (uid=0)
Apr  6 16:05:01 tecmint CRON[17582]: pam_unix(cron:session): session opened for user root by (uid=0)
Apr  6 16:00:01 tecmint CRON[17434]: pam_unix(cron:session): session closed for user root
....
tecmint@tecmint ~ $ tail /var/log/auth.log | tac
Apr  6 16:09:01 tecmint CRON[17714]: pam_unix(cron:session): session closed for user root
Apr  6 16:09:01 tecmint CRON[17714]: pam_unix(cron:session): session opened for user root by (uid=0)
Apr  6 16:05:01 tecmint CRON[17582]: pam_unix(cron:session): session closed for user root
Apr  6 16:05:01 tecmint CRON[17583]: pam_unix(cron:session): session closed for user root
Apr  6 16:05:01 tecmint CRON[17583]: pam_unix(cron:session): session opened for user root by (uid=0)
Apr  6 16:05:01 tecmint CRON[17582]: pam_unix(cron:session): session opened for user root by (uid=0)
Apr  6 16:00:01 tecmint CRON[17434]: pam_unix(cron:session): session closed for user root
Apr  6 16:00:01 tecmint CRON[17434]: pam_unix(cron:session): session opened for user root by (uid=0)
Apr  6 15:55:02 tecmint CRON[17194]: pam_unix(cron:session): session closed for user root
Apr  6 15:55:01 tecmint CRON[17195]: pam_unix(cron:session): session closed for user root
...

På samme måte som cat-kommandoen, gjør tac en utmerket jobb med å manipulere tekstfiler, men det bør unngås i andre typer filer, spesielt binære filer eller på filer med første linje angir programmet som skal kjøre det.