In elk besturingssysteem werken gebruikers met bestanden en voeren ze bewerkingen uit zoals bestanden maken, verwijderen en lezen. In Linux is de situatie niet anders.
Hoewel u met bestanden kunt werken via de grafische gebruikersinterface in een Linux-besturingssysteem, geven de meeste Linux-gebruikers de voorkeur aan interactie met het besturingssysteem via de terminal.
Daarom heeft Linux commando’s waarmee gebruikers direct vanaf de terminal met bestanden kunnen werken. Eén zo’n commando is het cat commando.

Uit de Linux man pagina’s blijkt dat de cat opdracht gebruikt wordt om bestanden aan elkaar te rijgen en de inhoud van bestanden naar de standaarduitvoer af te drukken. Linux man pagina’s zijn documentatiebestanden die bedoeld zijn om gebruikers te helpen begrijpen wat Linux commando’s zijn en hoe ze gebruikt worden.
Om toegang te krijgen tot de man pagina voor een Linux commando, voert u simpelweg man <command_name> in. Bijvoorbeeld, om de man pagina’s voor de cat opdracht te zien, voert u de volgende opdracht in de terminal uit:
man cat
Waar wordt het cat commando voor gebruikt
Zoals eerder vermeld, kan het cat commando gebruikt worden om de inhoud van een bestand naar het scherm af te drukken. De andere functionaliteit is het samenvoegen van bestanden en het uitvoeren van hun inhoud. Dit betekent dat als u het cat commando meerdere bestanden geeft, het hun inhoud aaneenschakelt en naar het scherm uitvoert.
Simpel gezegd zal de opdracht cat de inhoud van meerdere bestanden samenvoegen en naar het scherm uitvoeren. Bij een dergelijke bewerking maakt de opdracht cat echter geen nieuw bestand aan, en de originele bestanden die in de opdracht cat worden gebruikt, blijven ongewijzigd.

De opdracht cat wordt ook gebruikt bij redirection. Omleiding verwijst naar hoe gebruikers de bron van standaard invoer en de bestemming voor standaard uitvoer en standaard fout kunnen wijzigen. Standaard invoer, standaard uitvoer en standaard fout zijn de standaard stromen die gebruikt worden voor communicatie in Linux.
Standaard is de standaard invoer het toetsenbord, en standaard uitvoer en standaard fouten worden standaard op het scherm weergegeven.
Omleiding betekent dus dat we in plaats van de standaardinvoer van het toetsenbord te halen, zoals standaard het geval is, de invoer kunnen omleiden en uit een bestand of een andere bron kunnen halen.
Wat betreft de standaarduitvoer en -fout, die standaard op het scherm worden weergegeven, kunt u door omleiding deze uitvoer naar een bestand laten schrijven.
syntaxis cat-opdracht
De syntaxis voor de opdracht cat is als volgt:
cat [OPTIE]... [BESTAND]...
In Linux man-pagina’s is alles wat tussen vierkante haken staat optioneel. Daarom is het in de bovenstaande syntaxis niet verplicht voor het cat commando om een OPTION of zelfs een File als argument te hebben. Het kan een van de twee, beide of helemaal geen argument hebben.
Ellips(…) worden gebruikt om aan te geven dat één of meer van de voorgaande operanden of argumenten toegestaan zijn. Daarom kan het cat commando één of meerdere OPTIONEN of BESTANDEN aannemen.
BESTAND staat voor bestanden die we door de opdracht cat aan elkaar willen laten rijgen en weergeven. OPTION vertegenwoordigt vlaggen die aan de opdracht cat kunnen worden toegevoegd om het gedrag ervan te wijzigen. De opties die met de opdracht cat kunnen worden gebruikt, staan hieronder:

De cat-opdracht neemt de bestanden die eraan worden doorgegeven en voert de inhoud ervan uit naar de standaarduitvoer, het terminalvenster. Als er meerdere bestanden worden doorgegeven, wordt hun inhoud samengevoegd en vervolgens weergegeven op het terminalvenster.
De opdracht cat gedraagt zich ook anders, afhankelijk van de vlag die eraan wordt doorgegeven. Als u bijvoorbeeld de vlag -n doorgeeft, nummert de opdracht cat alle uitvoerregels. Afhankelijk van hoe u wilt dat het commando zich gedraagt, kunt u alle vlaggen doorgeven die met het cat commando gebruikt kunnen worden.
De opdracht cat gebruiken
Om de opdracht cat te gebruiken, voert u de opdracht en de naam van het bestand of de bestanden in die u wilt samenvoegen en bijvoorbeeld wilt lezen. Om de inhoud van een bestand met de naam rainbow.txt uit te voeren, voert u de volgende opdracht uit.
cat rainbow.txt
U kunt ook een vlag toevoegen om het gedrag van de opdracht cat te wijzigen. U kunt bijvoorbeeld alle uitvoerregels nummeren met de vlag -n. In ons bovenstaande voorbeeld kunnen we alle uitvoerregels in rainbow.txt nummeren door de volgende regel uit te voeren:
cat -n rainbow.txt
De uitvoer van de twee commando’s ziet u hieronder:

Om de vlaggen of opties die gebruikt kunnen worden met de opdracht cat te combineren, schrijft u ze gewoon achter elkaar, of u zet ze uit elkaar. Elk van de twee werkt. De vlag -E hieronder wordt gebruikt om een dollarteken ($) toe te voegen aan het einde van de uitvoerregels.
Dit kan handig zijn bij het weergeven van valutawaarden. Hieronder ziet u de verschillende manieren waarop u meerdere vlaggen kunt combineren met de opdracht cat:

Om meerdere bestanden aan elkaar te rijgen en weer te geven met de cat opdracht, schrijft u gewoon de bestandsnamen achter elkaar, gescheiden door spaties. Om bijvoorbeeld twee bestanden genaamd rainbow.txt en primary.txt aan elkaar te rijgen, voert u de volgende regel uit:
cat rainbow.txt primary.txt
De uitvoer van de opdracht ziet u hieronder

De twee bestanden rainbow.txt en primary.txt blijven ongewijzigd na deze bewerking. Merk op dat de volgorde waarin de bestanden in de opdracht verschijnen, bepaalt hoe de inhoud wordt weergegeven. De inhoud wordt weergegeven van het eerste naar het laatste bestand. U kunt ook vlaggen toevoegen wanneer u meerdere bestanden aan elkaar rijgt en weergeeft, zoals hieronder getoond wordt:

Een laatste opmerking over de opdracht cat is dat in het geval dat er geen bestand is opgegeven voor de opdracht of er een streepje(-) is opgegeven, de opdracht cat leest van de standaard invoer in plaats van een bestand. De standaard invoer is het toetsenbord.
Daarom zal de opdracht cat gewoon weergeven wat de gebruiker via het toetsenbord invoert. Om dit in de praktijk te zien, voert u de opdracht uit:
cat
De opdracht brengt u naar een knipperende cursor die wacht op invoer vanaf het toetsenbord. Voer tekst in en druk op Enter. De tekst die u typt, wordt uitgevoerd naar de standaarduitvoer, zoals hieronder getoond:

Druk op CTRL C om af te sluiten en geen invoer meer door te geven aan de opdracht cat.
We kunnen de opdracht cat ook gebruiken om de inhoud van alle bestanden van een bepaald type in de actieve map aan elkaar te rijgen en uit te voeren. Dit wordt gedaan met behulp van een sterretje(*) jokerteken. Om bijvoorbeeld de inhoud van alle tekstbestanden (.txt) in een bepaalde map uit te lezen, voeren we de onderstaande code uit:
cat *.txt
De uitvoer van de opdracht wordt hieronder getoond:

Voorbeelden van cat commando
Naast het standaardgebruik van de opdracht cat, kan de functionaliteit van de opdracht cat worden uitgebreid door omleiding. Zoals eerder vermeld, voert de opdracht cat standaard uit naar het terminalscherm.
Door middel van omleiding kunnen we de uitvoer echter omleiden naar een ander bestand in plaats van dat de uitvoer op het scherm wordt weergegeven.
De operator voor het omleiden van uitvoer in Linux is > ( het groter dan-symbool, ook wel chevron genoemd).
Als we bijvoorbeeld de regel uitvoeren:
cat rainbow.txt
De inhoud van rainbow.txt wordt weergegeven op het scherm.
Als we echter
cat colors.txt > rainbow.txt
De inhoud van rainbow.txt wordt niet weergegeven op het scherm. In plaats daarvan worden ze omgeleid en weggeschreven naar het bestand colors.txt. Dit kan een uitstekende manier zijn om inhoud van het ene bestand naar het andere te kopiëren.
Het standaardgedrag van uitvoeromleiding in Linux is dat het alle inhoud in het bestand waarnaar we omleiden overschrijft. In het bovenstaande voorbeeld zal bijvoorbeeld alle inhoud in rainbow.txt overschreven worden door de inhoud van colors.txt. Om de bestaande inhoud in het bestand waarnaar u doorstuurt te behouden, en de nieuwe inhoud eraan toe te voegen, gebruikt u >> bij het doorsturen.
Merk hieronder op dat colors.txt nu de kleuren heeft die gevonden werden in rainbows.txt na het doorsturen van de uitvoer van rainbows.txt naar colors.txt met >>

Om de functionaliteit van de opdracht cat nog verder uit te breiden, kunnen we omleiding en het standaardgedrag van de opdracht cat om te lezen vanaf de standaardinvoer wanneer er geen bestand is opgegeven, combineren om de opdracht cat te gebruiken om een bestand aan te maken en ernaar te schrijven.
Als u de onderstaande code uitvoert
cat > dark.txt
We zullen doorverwijzen naar dark.txt. Aangezien we geen bestand hebben opgegeven waarvan de inhoud wordt doorgestuurd naar dark.txt, verwacht de opdracht cat invoer vanaf het toetsenbord.
Voer daarom elke tekst in die u wilt opslaan in dark.txt, druk op Enter om naar de volgende regel te gaan, en druk op CTRL D als u klaar bent om wat u getypt hebt op te slaan in het bestand waarnaar u doorverwijst.
Omdat we doorverwijzen naar een bestand dat niet bestaat, wordt dark.txt automatisch aangemaakt, en wat we via het toetsenbord hebben getypt, wordt opgeslagen in het bestand. Op deze manier kunnen we de opdracht cat gebruiken om bestanden aan te maken en ernaar te schrijven op het moment dat ze worden aangemaakt.
De uitvoer van de bewerking ziet u hieronder:

De cat kan ook gebruikt worden om tekst aan het einde van een bestand toe te voegen. Als we dark.txt gebruiken, kunnen we er meer kleuren aan toevoegen door het volgende uit te voeren:
cat >> dark.txt
U kunt dan extra informatie toevoegen door via het toetsenbord te typen en vervolgens op CTRL D te drukken om de nieuwe inhoud op te slaan en toe te voegen aan dark.txt, zoals hieronder getoond wordt:

De opdracht cat kan ook gebruikt worden om meerdere bestanden aan elkaar te rijgen tot één bestand. De syntaxis voor een dergelijke bewerking wordt hieronder weergegeven
cat bestand1 bestand2 bestand3 > bestand4
De inhoud van bestand1, bestand2 en bestand3 wordt aan elkaar geschreven en weggeschreven naar bestand4. U kunt ook >> gebruiken als u de inhoud van bestand4 niet wilt overschrijven. Als bestand$ niet bestaat, wordt het automatisch aangemaakt.
Hieronder ziet u een voorbeeld hiervan:
Om de inhoud van colors.txt en primary.txt naar allColors.txt te schrijven, voeren we het volgende uit
cat colors.txt primary.txt > allColors.txt

U kunt ook de inhoud van één of meerdere bestanden toevoegen aan een ander bestand met de opdracht cat. Dit wordt gedaan door >> te gebruiken bij het doorsturen van de uitvoer. Dit voorkomt dat wat al in het andere bestand is opgeslagen, wordt overschreven. Om bijvoorbeeld de inhoud van primary.txt aan colors.txt toe te voegen, voert u de onderstaande code uit:
cat primary.txt >> colors.txt
Het resultaat van deze bewerking ziet u hieronder:

Conclusie
De opdracht cat is een zeer nuttige Linux-opdracht waarmee gebruikers de inhoud van bestanden kunnen samenvoegen en weergeven. Het commando heeft meerdere vlaggen die kunnen worden toegevoegd om te veranderen hoe het zich gedraagt.
Door middel van omleidingen kan de functionaliteit van de opdracht cat sterk worden uitgebreid, waardoor gebruikers bestanden kunnen maken en kopiëren, meerdere bestanden aan elkaar kunnen rijgen tot één bestand en kunnen toevoegen aan een bestaand bestand. Ga naar de man-pagina’s voor meer informatie over de opdracht cat.
U kunt ook enkele Linux-commando’s voor systeembeheerders bekijken.