Hur man använder Linux Cat-kommandon (med exempel)

By rik

I alla operativsystem hanterar användare filer och utför operationer som att skapa, radera och läsa data från dem. Linux utgör inget undantag i detta avseende.

Även om det är fullt möjligt att arbeta med filer genom det grafiska gränssnittet i Linux, föredrar många användare att interagera med systemet via terminalen.

Därför erbjuder Linux ett antal kommandon som gör det möjligt att manipulera filer direkt i terminalfönstret. Ett av dessa kommandon är `cat`.

Enligt Linux manual-sidor används `cat`-kommandot för att sammanfoga filer och visa filinnehåll i standardutmatningen. Linux manual-sidor fungerar som dokumentation och hjälper användarna att förstå hur olika Linux-kommandon fungerar.

För att nå manual-sidan för ett specifikt Linux-kommando skriver du `man `. Till exempel, för att se `cat`-kommandots manual-sidor, ange följande i terminalen:

man cat

Vad används `cat`-kommandot till?

Som tidigare nämnts, kan `cat`-kommandot användas för att visa innehållet i en fil på skärmen. En annan funktion är att slå ihop flera filer och visa deras innehåll som en sammanhängande ström. Det betyder att om du matar in flera filnamn som argument till kommandot, kommer det att slå ihop deras innehåll och visa det på skärmen.

Enkelt uttryckt sammanfogar `cat`-kommandot innehållet i olika filer och presenterar det i terminalen. Det är viktigt att notera att kommandot inte skapar någon ny fil och de ursprungliga filerna förblir opåverkade.

Kommandot `cat` används också i samband med omdirigering. Omdirigering syftar på möjligheten att ändra källan för standardinmatning och destinationen för standardutmatning och standardfel. Standardinmatning, standardutmatning och standardfel är de kanaler som används för kommunikation inom Linux.

Som standard är standardinmatningen tangentbordet, medan standardutmatning och standardfel visas på skärmen.

Omdirigering gör det möjligt att, i stället för att hämta inmatning från tangentbordet, hämta den från en fil eller annan källa.

När det gäller standardutmatning och standardfel kan omdirigering användas för att styra utdata till en fil i stället för att visa det på skärmen.

`cat`-kommandosyntax

Syntaxen för `cat`-kommandot ser ut som följer:

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

I Linux manual-sidor markeras valfria element med hakparenteser. Det betyder att `cat`-kommandot inte nödvändigtvis behöver ett `OPTION`-argument eller ens ett filnamn som argument. Det kan ha ett av dem, båda eller inget alls.

Ellipsen (…) används för att indikera att en eller flera av de föregående operanderna eller argumenten är tillåtna. Därför kan kommandot `cat` hantera en eller flera `OPTIONS` eller `FILES`.

`FILE` representerar filerna som vi vill att `cat`-kommandot ska sammanfoga och visa. `OPTION` representerar flaggor som kan läggas till `cat`-kommandot för att ändra dess beteende. Några tillgängliga alternativ visas nedan:

`cat`-kommandot tar emot filer som argument och visar deras innehåll i standardutmatningen, som vanligtvis är terminalfönstret. Om flera filer skickas till det kommer deras innehåll att sammanfogas och sedan visas i terminalen.

Beteendet hos `cat`-kommandot påverkas även av de flaggor som skickas med. Till exempel, flaggan `-n` gör att raderna i utdata numreras. Beroende på önskat resultat kan du använda någon av de flaggor som är kompatibla med `cat`-kommandot.

Hur man använder `cat`-kommandot

För att använda `cat`-kommandot, skriv helt enkelt `cat` följt av namnet på den eller de filer du vill sammanfoga och läsa. Till exempel, för att visa innehållet i en fil med namnet `rainbow.txt`, ange följande:

cat rainbow.txt

Du kan också lägga till en flagga för att ändra `cat`-kommandots beteende. Till exempel kan du numrera alla utmatningsrader med flaggan `-n`. I det tidigare exemplet kan vi numrera utmatningsraderna i `rainbow.txt` genom att ange följande:

cat -n rainbow.txt

Resultaten från de två kommandona visas nedan:

För att kombinera flaggor eller alternativ som kan användas med `cat`-kommandot, anger du dem efter varandra eller placerar dem separerat med mellanslag. Båda metoderna fungerar. Flaggan `-E` används till exempel för att lägga till ett dollartecken ($) i slutet av varje utmatningsrad.

Detta kan vara praktiskt när du hanterar valutavärden. Nedan visas några sätt att kombinera flera flaggor med kommandot `cat`:

För att slå ihop och visa flera filer med `cat`-kommandot skriver du helt enkelt filnamnen efter varandra, separerade med mellanslag. Till exempel, för att slå ihop två filer, `rainbow.txt` och `primary.txt`, anger du följande:

cat rainbow.txt primary.txt

Utdata från kommandot visas nedan:

De två filerna `rainbow.txt` och `primary.txt` förblir oförändrade efter operationen. Observera att ordningen på filerna i kommandot avgör ordningen på utmatningen. Innehållet i filerna kommer att visas från den första till den sista. Du kan också lägga till flaggor när du slår ihop och visar flera filer, som visas nedan:

En viktig sak att notera om `cat`-kommandot är att om ingen fil matas in eller om ett bindestreck (-) anges, läser `cat`-kommandot inmatning från tangentbordet istället för en fil. Tangentbordet är standardinmatningen.

I det här fallet kommer `cat`-kommandot bara att visa vad användaren skriver in via tangentbordet. För att se detta i praktiken, ange kommandot:

cat

Kommandot resulterar i en blinkande markör som väntar på inmatning från tangentbordet. Skriv valfri text och tryck sedan på Enter. Vad du än skriver kommer att visas i standardutmatningen som nedan:

Tryck på CTRL + C för att avsluta och sluta mata in till `cat`-kommandot.

Vi kan också använda `cat`-kommandot för att slå ihop och visa innehållet i alla filer av en viss typ i den aktuella katalogen. Detta görs med en asterisk (*)

cat *.txt

wildcard. Till exempel, för att se allt innehåll i textfiler (.txt) i en given katalog, anger vi koden nedan:

Utdata från kommandot visas nedan:

Exempel på `cat`-kommandon

Utöver de vanliga användningsområdena för `cat`-kommandot kan dess funktionalitet utökas genom omdirigering. Som tidigare nämnts visas utdata från `cat`-kommandot i terminalen som standard.

Men genom omdirigering kan vi styra utmatningen till en annan fil i stället för att visa den på skärmen.

Operatören för omdirigering av utdata i Linux är `>` (större än-tecknet, även kallat chevron).

cat rainbow.txt

Till exempel om vi anger raden:

Kommer innehållet i `rainbow.txt` att visas på skärmen.

cat colors.txt > rainbow.txt

Men om vi utför:

Kommer innehållet i `rainbow.txt` inte att visas på skärmen. Istället kommer det att omdirigeras och skrivas till filen `colors.txt`. Detta kan vara ett praktiskt sätt att kopiera innehåll från en fil till en annan.

Standardbeteendet för omdirigering av utdata i Linux är att det skriver över allt innehåll i filen som vi omdirigerar till. I exemplet ovan kommer till exempel allt innehåll i `rainbow.txt` att skrivas över med innehållet från `colors.txt`. För att behålla det befintliga innehållet i filen som du omdirigerar till och lägga till det nya innehållet, använd `>>` vid omdirigering.

Observera nedan att `colors.txt` nu har färgerna som fanns i `rainbows.txt` efter omdirigeringen från `rainbows.txt` till `colors.txt` med `>>`.

För att ytterligare utöka funktionaliteten hos `cat`-kommandot kan vi kombinera omdirigering med `cat`-kommandots standardbeteende att läsa från standardinmatningen om ingen fil anges. Detta låter oss använda `cat`-kommandot för att skapa en fil och skriva till den.

cat > dark.txt

Om du anger koden nedan:

Kommer vi att omdirigera utdata till `dark.txt`. Eftersom vi inte har angett en fil vars innehåll ska omdirigeras till `dark.txt`, kommer `cat`-kommandot att förvänta sig inmatning från tangentbordet.

Skriv därför in vilken text du vill spara i `dark.txt`, tryck på Enter för att gå till nästa rad och tryck sedan på CTRL + D när du är klar för att spara det du har skrivit till filen som du omdirigerar till.

Eftersom vi omdirigerar till en fil som inte existerar kommer `dark.txt` att skapas automatiskt, och det vi skrev in via tangentbordet kommer att sparas i filen. På detta sätt kan vi använda `cat`-kommandot för att skapa filer och skriva till dem vid skapandet.

Resultatet av operationen visas nedan:

cat >> dark.txt

`cat` kan också användas för att lägga till text i slutet av en fil. Med `dark.txt` kan vi lägga till fler färger genom att ange:

Du kan sedan lägga till ytterligare information genom att skriva via tangentbordet och sedan trycka på CTRL + D för att spara och lägga till det nya innehållet i `dark.txt` som visas nedan:

cat file1 file2 file3 > file4

`cat`-kommandot kan också användas för att slå ihop flera filer till en enda fil. Syntaxen för en sådan operation visas nedan:

Innehållet i `file1`, `file2` och `file3` kommer att slås ihop och skrivas till `file4`. Du kan också använda `>>` om du inte vill skriva över innehållet i `file4`. Om filen inte finns skapas den automatiskt.

Ett exempel på detta visas nedan:

cat colors.txt primary.txt > allColors.txt

För att skriva innehållet i `colors.txt` och `primary.txt` till `allColors.txt`, anger vi:

cat primary.txt >> colors.txt

Du kan också lägga till innehållet från en eller flera filer till en annan fil med `cat`-kommandot. Detta görs med `>>` vid omdirigering av utdata. Detta förhindrar att det som redan finns i den andra filen skrivs över. Om du till exempel vill lägga till innehållet i `primary.txt` till `colors.txt`, anger du koden nedan:

Resultatet av denna operation visas nedan:

Slutsats

`cat`-kommandot är ett mycket användbart Linux-kommando som gör det möjligt att slå ihop och visa innehållet i filer. Kommandot erbjuder flera flaggor som kan läggas till för att ändra dess beteende.

Genom omdirigering kan funktionaliteten hos `cat`-kommandot utökas avsevärt. Detta ger användarna möjligheten att skapa och kopiera filer, slå ihop flera filer till en och lägga till innehåll i en befintlig fil. För att lära dig mer om `cat`-kommandot kan du besöka dess manual-sidor.

Du kan också undersöka andra Linux-kommandon avsedda för systemadministratörer.