Linux-Terminal-Basics 4: Textdateien bearbeiten und anzeigen
Kommt Euch im Terminal garantiert mal vor Augen: Die Textdatei. Und dann will sie auch noch geÀndert werden ...
Das Anzeigen von Textdateien macht im Terminal wohl kaum jemandem Sorgen - dennoch kommen da ein paar Tools zusammen. Die Bearbeitung ist wiederum ein wenig komplizierter. Manchmal kann man auch einfach den Editor nicht beenden - ich schwöre!
In unserer Serie zu Linux-Terminal-Basics zeigen wir Euch, wie Ihr einige der wichtigsten Aufgaben auf der Kommandozeile erledigen könnt - vom Navigieren, ĂŒber Dateioperationen, bis hin zu komplexen SuchauftrĂ€gen. Als Terminal verwenden wir Bash und auch wenn Linux im Vordergrund steht, funktioniert fast alles auch unter Windows. Und nun noch die Links zur Einleitung und zur Ăbersicht aller Artikel.
Textdateien lesen
Zum Lesen von Textdateien, ganz oder teilweise, bieten sich vier Tools an: cat, head, tail und more. Katzen zuerst: Mit cat werden Textdateien schlicht im Terminal ausgegeben, und zwar direkt nacheinander:
cat meine-datei.txt ~/texte/foobar.txt
Wenn die Texte allerdings super lang sind, wĂ€re es doch schön, den Text Seite fĂŒr Seite lesen zu können. Und das erledigt more:
more meine-datei.txt
Mit der Leertaste könnt Ihr den Text dann durchblÀttern.
Manchmal wollt Ihr aber vielleicht nur einen kurzen Blick in die Datei werfen und zum Beispiel nur die ersten fĂŒnf Zeilen ausgeben - das macht head:
head -n 5 meine-datei.txt
Und fĂŒr den umgekehrten Fall gibt es dann tail, um die letzten x Zeilen auszugeben:
tail -n 5 meine-datei.txt
Alle Tools bieten natĂŒrlich weitere Optionen, im Alltag genĂŒgen aber meist die Basics. Aber mal als kleiner Teaser:
more -10 +/.*Zusammenfassung.* meine-datei.txt
Oh, eine Suchfunktion - nett :)
Mehr zu tail, head und cat:
curl cli.help/cat
curl cli.help/head
curl cli.help/tail
Und so weiter ...
Textdateien bearbeiten
Der Klassiker des Terminal-Horrors: Viele viele Menschen landen seit Jahrzehnten versehentlich mal im Standard-Texteditor ihrer Linux-Distribution. Und das meist dort, wo es gar keinen grafischen Desktop gibt. Und meist ist das vi. Das Gemeine am Texteditor vi: Wenn man nicht weiĂ wie, ist es nahezu unmöglich, das fiese kleine Ding ĂŒberhaupt zu beenden. Von einer Nutzung ganz zu schweigen.
Von daher solltet Ihr eigentlich nie eine Datei mit
vi meine-datei.txt
öffnen. In einem Terminal-Fenster auf einem grafischen Desktop ist das egal, im Zweifel einfach das Fenster schlieĂen. Aber schon in einer SSH-Session, zum Beispiel beim Einrichten eines Raspberry Pis, kann das eine böse Falle sein.
Wenn Ihr aber in die Verlegenheit kommt: Das eigentliche Geheimnis steckt hinter der ESC-Taste! Damit wird nĂ€mlich der Befehlsmodus von vi aktiviert und unten erscheint eine eigene Kommandozeile - super, oder? Mit einem Doppelpunkt werden dort Befehle ausgefĂŒhrt und wenn Ihr einfach nur raus wollt, ohne zu speichern (denn mittlerweile habt Ihr bestimmt versehentlich irgendwas eingegeben):
:q!
q steht freilich fĂŒr quit und das Ausrufezeichen sorgt dafĂŒr, dass trotz ungespeicherter Ănderungen auch wirklich beendet wird.
Sobald Ihr aus der Falle raus seid, nutzt lieber einen anderen Editor - mittlerweile steht die Alternative nano fast immer zur VerfĂŒgung:
nano meine-datei.txt
Der groĂe Vorteil von nano: Es wird unten einfach direkt angezeigt, wie sich das Ding bedienen lĂ€sst. Und statt eines Befehlsmodus gibt es hier die deutlich gewohnteren TastenkĂŒrzel zum Steuern, etwa STRG+O zum Speichern und STRG+X zum Beenden.
Und nur falls Ihr euch fragt, warum vi immer noch so oft als Standard-Editor oder ĂŒberhaupt lĂ€uft: Wenn man das Teil beherrscht, ist es einfach groĂartig!
Weitere Hilfen fĂŒr die Kommandozeile liefert unsere hauseigene Linux-Hilfe cli.help direkt im Terminal.
Leider wurde der Primus unter den Textanzeigern fĂŒr Menschen vergessen: less, inkl. des fĂŒr archivierte Logdateien sehr nĂŒtzlichem zless. Die Beschreibung des Editors ist etwas Anti-vi und wo Strg-O, was allgemein fĂŒr Open steht und Strg-X, mit dem man normalerweise ausschneidet, gewohnter sein sollen, erschlieĂt sich mir nicht. GlĂŒcklicherweise wurde emacs nicht erwĂ€hnt ;)
less, zless und Dutzende weiterer Kandidaten habe ich aus demselben Grund wie emacs nicht erwĂ€hnt – es erschlĂ€gt Einsteiger. Anti-vi: FĂŒr Einsteiger definitiv ja! Ich persönlich nutze vim stĂ€ndig, aber SpaĂ macht das Ding wirklich nur, wenn man es stĂ€ndig nutzt und die Bedienung dann entsprechend sitzt. Das STRG+O ist ohne Zweifel eine behĂ€mmerte Tastenkombination, ich meinte einfach, dass ĂŒberhaupt TastenkĂŒrzel genutzt werden statt verschiedene Modi. emacs ist aber bestimmt eine gute Ăbung fĂŒr komplizierte Gitarrenakkorde ;)