Nachdem du Dateien bestimmen kannst, besteht der nächste Schritt darin, ihren Inhalt zu lesen. cat zeigt Dateien an und reiht ihre Inhalte aneinander; sein Name ist die Kurzform von „concatenate“.
Befehlszeile · Lektion 7
cat
Lerne, mit cat Dateiinhalte sicher anzuzeigen, zu verketten und umzuleiten.
Dateiinhalte anzeigen
In der einfachsten Form zeigt cat eine Datei direkt im Terminal an:
$ cat myfile.txt
Der Befehl schreibt die gesamte Datei in die Standardausgabe, hier also ins Terminal. Das eignet sich gut für kurze Texte; lange Dateien können jedoch zu schnell vorbeiscrollen.
Welcher Befehl zeigt myfile.txt vollständig im Terminal an?
Dateien verketten
Übergibst du cat mehrere Dateien, liest der Befehl sie in der angegebenen Reihenfolge und gibt ihre Inhalte nacheinander aus:
$ cat dogfile birdfile
Damit erscheint zuerst dogfile, anschließend birdfile. Um die kombinierte Ausgabe in einer neuen Datei zu speichern, leitest du die Standardausgabe mit > um:
$ cat dogfile birdfile > animals
Die Shell erstellt animals beziehungsweise leert eine bereits vorhandene Datei, bevor sie cat ausführt, und leitet die kombinierte Ausgabe dorthin. Verwende deshalb keine der Eingabedateien zugleich als Ziel: Sie könnte geleert werden, bevor cat sie liest.
Welcher Befehl schreibt erst part1, dann part2 in die neu erstellte oder ersetzte Datei whole?
Terminaleingaben in eine Datei schreiben
Ohne Eingabedatei liest cat aus der Standardeingabe. Zusammen mit > kannst du so Text im Terminal eingeben und in eine Datei schreiben:
$ cat > newfile.txt
Gib anschließend den gewünschten Text ein. Mit Ctrl+D sendest du ein Dateiende-Signal und kehrst zur Shell zurück. Vorsicht: Existiert newfile.txt bereits, löscht > den bisherigen Inhalt.
Mit >> hängst du neue Eingaben an, statt vorhandene Inhalte zu ersetzen:
$ cat >> notes.txt
Du möchtest weiteren Text am Ende einer vorhandenen notes.txt eingeben. Welcher Befehl startet diesen Vorgang, ohne die Datei zu leeren?
Die Ausgabe formatieren
Mehrere Optionen erleichtern die Prüfung der Ausgabe:
-n: Nummeriert alle Ausgabezeilen, beginnend bei 1.-b: Nummeriert nur nicht leere Ausgabezeilen.-s: Fasst mehrere aufeinanderfolgende Leerzeilen zu einer zusammen.-A: Macht nicht druckbare Zeichen, Tabulatoren und Zeilenenden sichtbar.
Beispiele:
$ cat -n script.sh
$ cat -b notes.txt
$ cat -s messy.txt
Welcher Befehl nummeriert nur die nicht leeren Ausgabezeilen von notes.txt?
Einen Betrachter für lange Dateien wählen
Verwende cat, wenn du die gesamte Ausgabe auf einmal sehen möchtest. Bei langen Dateien ist less meist angenehmer, weil du darin scrollen, suchen und die Ansicht verlassen kannst, ohne das Terminal mit Text zu überfluten:
$ less /var/log/syslog
Welcher Befehl eignet sich besser zum interaktiven Lesen einer langen Protokolldatei?
Zum Üben des Anzeigens und Verkettens von Dateiinhalten eignen sich diese Labs:
- Linux cat Command: File Concatenating – Übe das Anzeigen, Verketten und Verarbeiten von Textdateien mit
cat. - Viewing Log and Configuration Files in Linux – Zeige mit Befehlen wie
catSystemprotokolle und Konfigurationsdateien effizient an und entnimm ihnen gezielt Informationen.
Lektion abgeschlossen
Sie haben cat abgeschlossen
Du kannst nun mit cat Dateiinhalte anzeigen und verketten und dabei sichere Umleitungen wählen.
Zeige den vollständigen Inhalt einer kurzen Datei an.
Verkette Dateien in einer bestimmten Reihenfolge.
Ersetze oder ergänze ein Ziel bewusst.
Nummeriere oder vereinfache Ausgabezeilen.
Verwende
less, wenn interaktives Lesen geeigneter ist.
Lernfortschritt speichern
Erstellen Sie ein kostenloses Konto, um diese Lektion zu speichern und auf jedem Gerät weiterzulernen.
Kostenloses Konto erstellen