Linux-Tipps, die Ihnen jeden Tag helfen

Linux ist ein mächtiges Betriebssystem mit einer mächtigen Shell. Wir nutzen Linux selbst seit über 15 Jahren. Und mit der Zeit haben sich einige Tipps angesammelt, die wir Ihnen hier präsentieren. Viel Spaß beim Stöbern.

Linux-Filesystem unter Windows bearbeiten

Betriebssystem-Fans, die auf demselben PC Linux und Windows einsetzen, haben oft den Wunsch, von Windows aus auf die Daten einer Linux-Partition zugreifen zu können. Weil das Linux-Filesystem Ext2 von der Microsoft-Plattform nicht unterstützt wird, klappt das mit Bordmitteln alleine aber nicht.

Erst mit dem Programm Explore2FS, das an den Windows-Explorer angelehnt ist, können Sie dieses Manko überwinden. Es bietet sowohl Lese- als auch Schreibzugriff von Windows NT, Win95 und NT aus.

Vom Schreibzugriff sollten Sie allerdings die Finger lassen. Der Autor warnt davor und wir können uns nach der Neuinstallation eines Linux-Rechners nach einem Schreibzugriff der Warnung nur anschließen.

Explore2FS finden Sie auf http://www.chrysocome.net/explore2fs

Ergänzung: Nach Aussagen des Programm-Autoren unterstützt Explore2FS kein ReiserFS. Die Unterstützung ist auch nicht geplant.

Genaue Netzinformation

ifconfig heisst das Werkzeug, das Linux-Usern hilft, Netzwerkproblemen auf die Spur zu kommen. Der Befehl zeigt alle Netzwerkkarten und die mit ihnen verbundenen IP-Adressen.

Dazu gibt es Information über die empfangenen und versendeten Datenpakete, über Kollisionen sowie Interrupt und Adresse der Netzwerkkarte.

Für diesen Befehl brauchen Sie root-Rechte.

Große Dateien herunterladen

Auch Dateien mit 100 MByte oder mehr kann man mit dem normalen Browser laden. Wenn aber die Verbindung einfriert oder abbricht, war meistens alles umsonst und man muss den Download von neuem beginnen.

Das Programm wget dagegen kommt auch bei großen ftp- oder http-Transfers nicht aus dem Tritt und kann in einem neuen Anlauf einen zuvor abgebrochenen Download weiterführen.

Hier ein Aufruf mit typischen Optionen:

wget -c -t10 ftp://xyserv.de/pub/update.bin

Mit

-c

setzt wget einen zuvor abgebrochenen Datei-Transfer fort.

Der Parameter

-t10

hilft mit Servern, bei denen der Verbindungsaubau oft fehlschlägt. Bei Problemen wird wget hierdurch 10 neue Anläufe starten, falls notwendig.

Das Tool wget beherrscht die Protokolle http, https, ftp und kann auch mit Proxies umgehen. Die Auswahl treffen Sie einfach durch das bei URLs übliche Voranstellen des gewünschten Protokolls. Probieren Sie es auf jeden Fall zuerst einmal mit ftp://, da diese Variante den besten Datendurchsatz erreicht.

So bekommen Sie mit Linux besser lesbare Größenangaben

Viele Linux-Kommandos, die Dateigrößen anzeigen, wie etwa der Directory-Lister ls oder die Anzeige des freien Plattenspeichers df, liefern als Standard ein Ergebnis, das für menschlichen Gebrauch relativ ungeeignet ist.

Das muss auch so sein, weil viele Skripts diese Ergebnisse der Kommandos aufnehmen und weiterverarbeiten.

Human Parameter

Um dennoch lesbare Ergebnisse zu erreichen, verfügen viele Programme über den Parameter -h, wie “human”, der beispielsweise statt “6543449” die Variante “6.2G” ausgibt.

Um also den freien Speicher auf der Festplatte zu ermitteln, geben Sie df -h ein. Und Sie bekommen lesbare Größenangaben.

FIlegrößen in lesbarerm Format
FIlegrößen in lesbarerm Format

Schnell ins HOME-Verzeichnis

Haben Sie sich in den Irrungen der Linux-Verzeichnisstruktur verlaufen und wollen in Ihr Arbeitsverzeichnis zurück?

Dann geben Sie einfach

cd $HOME

ein und drücken sie auf [Return].

Diese Anweisung holt sich das Heimatverzeichnis Ihres Accounts aus der Umgebungsvariablen HOME und versetzt Sie direkt dorthin.

Bei vielen Linux-Varianten geht´s sogar noch kürzer. Hier genügt das Kommando

cd ~

Unser Leser Ulrich Borgdorf hat noch ein schnelleres Verfahen:

cd und [Return] genügen.

Schneller Aufruf von Dateien und Verzeichnissen

Die Eingabezeile von Linux, genauer die Bash steckt voller Power. Speziell die Tabulator-Taste kann sehr hilfreich werden.

Wenn Sie in ein Unterverzeichnis wechseln wollen, dann geben Sie an der Eingabeaufforderung lediglich die ersten zwei oder drei Buchstaben des Verzeichnisses ein, beispielsweise

cd aus

und drücken dann die [Tab]-Taste. Sofern ein Verzeichnis vorhanden ist, das mit diesen Buchstaben beginnt, ergänzt Linux die Eingabe, zum Beispiel:

cd austausch

und Sie brauchen nur noch [Return] zu drücken.

Wenn Sie mehrere Verzeichnisse haben, die mit den gleichen Buchstaben beginnen, beispielsweise win_c und win_d, ergänzt Linux genau so viele Zeichen, wie die Verzeichnisse gemeinsam haben, also win_. Dann geben Sie einfach das oder die fehlenden Zeichen ein.

SSH- oder Telnet-Shell hat sich aufgehängt

Beim Shell-Zugriff auf einen Linux-Server kann es vorkommen, dass der Bildschirm einfriert.

Man könnte meinen, dass sich die Shell aufgehängt hat. Aber meistens ist das Problem lediglich eine falsche Tastenkombination.

Denn drückt man versehentlich [Strg – S], dann bedeutet dieses Signal für einen Linux-Rechner, dass die Gegenstelle um Einhalt gebietet, weil die bislang angekommenen Daten noch verarbeitet werden müssen. Er stoppt deshalb jegliche Ausgabe.

Erst durch die Tastenkombination [Strg – Q] wird dieser Wartezustand aufgehoben.

Für besonders Interessierte: Das ist dasselbe Verfahren, das bei Modems unter dem Stichwort Software-Handshaking (XON/XOFF) zum Einsatz kommt.

Suche nach der Homepage eines Programms

Sie möchten gerne an die neueste Version eines Systemtools oder einer Linux-Anwendung kommen, finden aber in der Dokumentation keinen Hinweis auf die Homepage?

Probieren Sie es doch einmal bei Freshmeat. Unter www.freshmeat.net finden Sie eine höchstaktuelle und gut kommentierte Site, die alle wichtige Linux-Software verzeichnet.

Geben Sie dort im Suchfeld den Namen oder wenigstens einen Namensteil des gesuchten Programms ein und Freshmeat wird Ihnen die Homepage des Autors verraten – falls vorhanden.

Abgesehen davon lohnt sich ein Besuch auf Freshmeat immer, wenn Sie in puncto Linux-Software auf dem Laufenden bleiben wollen.

updatedb in den Hintergrund

Wie im Tipp Linux: Dateien finden beschrieben, ist locate ein ausgesprochen nützlicher Befehl, um Dateien zu finden.

Nur braucht die Anweisung updatedb eine ganze Weile, bis sie die Festplatten durchforstet hat. Deswegen sollten Sie den Vorgang mit einem angehängten & in den Hintergrund schicken:

updatedb&

 Was tun, wenn ein Linux-Programm nicht startet

Linux-Einsteiger bringt die Kommandozeile manchmal zur Verzweiflung. Da hat man es deutlich im Midnight Commander oder in der Verzeichnisliste stehen, dass ein Programm einen bestimmten Namen hat. Zum Beispiel setup. Tippt man ihn dann ein, passiert gar nichts.

Die Lösung des Problems: Bei vielen Linux-Distributionen müssen Sie dem Dateinamen ein ./ (Punkt und Schrägstrich) voranstellen, wenn Sie sich gerade in dem Verzeichnis befinden in dem auch die Datei gespeichert ist. Sie müssen dann also ./setup in der Kommandozeile tippen.

Das ist die Folge einer Sicherheitseinstellung, die es böswilligen Hackern erschweren soll ein Programm extern zu starten.

Schnelle Korrektur in der Kommandozeile

Zwei Funktionen der Linux-Eingabezeile helfen Ihnen bei der Arbeit:

1. Haben Sie sich vertippt, dann können Sie den Fehler mit den Cursortasten [Pfeil links] und [Pfeil rechts] anfahren und ausbessern.

2. Mit den Tasten [Pfeil oben] und [Pfeil unten] können Sie sich früher schon einmal eingetippte Befehlsfolgen auf die Kommandozeile zurückholen.

Beides zusammen ist ungemein hilfreich. Haben Sie zum Beispiel zuvor schon einen längeren Befehl eingegeben, der demjenigen ähnelt den Sie gerade tippen wollen, dann holen Sie sich Ihn zunächst auf die Kommandozeile zurück und ändern ihn anschließend nur ab. Das ist vor allem bei der wiederholten Eingabe langer Verzeichnisfolgen sehr praktisch.

Nützliche Linux-Kommandos

df ermittelt den gesamten, den belegten und den freien Platz der Festplatten. Allerdings sind die Angaben schwer zu entziffern in Byte. Probieren Sie es deshalb mit df -h. Das h steht für “human readable” und verwandelt die Byteangaben in Kilobyte, Megabyte und gegebenenfalls Gigabyte. Das erleichtert das Lesen.

who stellt fest, wer noch online ist.

uptime zeigt an, wie lange Ihr System bereits läuft. Außerdem erhalten Sie Kennzahlen über die Systemauslastung.

top zeigt die derzeit aktivsten Prozesse an. So finden Sie besonders Speicher und Rechenzeit fressende Programme. Außerdem gibt es viel Information über die aktuelle Auslastung des Systems.

wall sendet eine Meldung an alle angemeldeten Benutzer

reboot startet den Rechner sofort neu

halt fährt den Rechner sofort herunter

Wie lange läuft der Rechner schon?

Haben Sie einen Linux-Rechner im Dauerbetrieb? Dann lohnt es sich, gelegentlich mal den Befehl

uptime

einzugeben. Der sagt Ihnen, wie lange der Computer schon online ist. Das gibt Aufschluss über eventuell unbemerkte Abstürze bei einem Stromausfall oder darauf, dass ein Root-Kollege den Rechner vielleicht neu gestartet hat.

Ausserdem ist es ein klasse Anblick, wenn uptime meldet, dass der Rechner schon seit 60 Tagen ununterbrochen am Werk ist ;-).

Für Server in Unternehmen sollten Sie natürlich den Server nur mit einer Unterbrechungsfreien Stromversorgung betreiben.

Mit dem Befehl Tail können Sie Log-Dateien von Linux live ausgeben lassen

Das Kommando tail zeigt unter Linux ganz unspektakulär die letzten Zeilen einer Textdatei an. Fügen Sie allerdings den Parameter -f hinzu, dann springt das Kommando nicht einfach zur Kommandozeile zurück, sondern zeigt dynamisch die letzten Zeilen an, bis Sie das Programm per [Strg] – C beenden.

Sinnvoll ist diese Option beispielsweise bei allen Log-Dateien, die oft neue Inhalte bekommen.

Wollen Sie etwa live sehen, was gerade auf Ihrem Webserver passiert, dann wenden Sie doch einfach den tail-Befehl auf das Server-Log an:

tail -f /var/log/httpd/access_log

Beachten Sie, daß bei Ihrer Linux-Installation das Webserver-Logfile in einem anderen Verzeichnis liegen könnte.

Übrigens steht Ihnen tail auch auf Apple-Computern im Terminal zur Verfügung.

Einfacher Umgang mit Disketten

Um Per Linux Zugriff auf DOS-Disketten zu bekommen, muß man sie nach der “reinen Lehre” mit dem Befehl mount ins Dateisystem einhängen.

Einfacher geht es mit der Programmsammlung Mtools. Nach der Installation können Sie mit einfachen Befehlen – fast wie auf der DOS-Kommandozeile – mit dem Diskettenlaufwerk arbeiten, ohne sich mit dem Mounten herumschlagen zu müssen.

Dabei werden die DOS-Befehle copy, dir, del, deltree, md, move, cd, rd, format, label, ren und type unterstützt. Der einzige Unterschied liegt in der Namensgebung: Sie hängen einfach jeweils ein m davor.

Um beispielsweise alle html-Dateien von Diskette in das TMP-Verzeichnis zu kopieren, geben Sie ein

mcopy a:*.html /tmp

Die Mtools sind auf den meisten neuen Linux-Distributionen installiert.

Alte Eingaben wiederholen

Routine-Arbeiten brauchen immer wieder die gleichen Befehle. Zum Glück hat da die Linux-Shell eine Funktion zum Zurückblättern, die Kommandozeilen-History. Um den zuvor eingegebenen Befehl wieder in der Kommandozeile anzeigen zu lassen, drücken Sie auf Taste [Pfeil oben]. Nach jedem weiteren Druck auf diese Taste werden die jeweils davor eingegebenen Befehle gezeigt. Um den Befehl zu wiederholen, drücken Sie einfach [Return]. Übrigens: Mit [Pfeil unten] blättern Sie wieder einen Befehl weiter nach vorne.

In zuvor eingegebenen Befehlen suchen

Je mehr Befehle man eingegeben hat, desto schwieriger wird es, ihn in der Kommandozeilen-History wieder zu finden. In solchen Fällen kommen Sie mit der in die Shell eingebauten Suchfunktion schneller voran. Drücken Sie die Tastenkombination [Strg – R] und tippen Sie eine Buchstabenfolge ein, die in diesem Befehl vorkommt. Die Shell liefert dann den letzten Befehl zurück, in dem diese Buchstabenfolge vorkommt. Sobald Sie fündig sind, drücken Sie [Return], um den Befehl auszuführen. Oder Sie drücken die [Esc]-Taste. Danach wird der Befehl angezeigt und Sie können ihn bearbeiten oder von diesem Befehl ausgehend in der Kommandozeilen-History vor- und zurückblättern

 

Verzeichnis- und Dateinamen automatisch ergänzen lassen

Viel Kommandozeilenpower steckt in der Taste [Tab]. Sobald Sie darauf drücken, versucht die Shell anhand der bisherigen Angaben einen Datei- oder Verzeichnisnamen zu ermitteln und bietet diesen an. Auf diese Weise kommen Sie schnell durch Verzeichnisse. Probieren Sie es aus: Tippen Sie cd /v, drücken Sie [Tab] und schon verwandelt sich die Eingabe in

cd /var/

Tippen Sie dann ein l und wieder auf [Tab] – und es rührt sich nichts. Das ist das Zeichen dafür, dass die Shell in diesem Fall zu viele Verzeichnis- oder Dateinamen findet, die mit dem Buchstaben l beginnen. Drücken Sie in diesem Fall noch einmal auf [Tab] und die Shell zeigt Ihnen alle passenden Einträge an.

Status überwachen

Das im Tipp »Nach Fehlern suchen« beschriebene Programm tail hat noch einen Vorteil: Sie können damit Log-Dateien überwachen: Probieren Sie es damit:

tail -f /var/log/messages

Sobald in messages eine neue Zeile gespeichert wird, erscheint diese auch sofort auf Ihrem Bildschirm. Ideal ist so ein Überwachungsfenster auf der grafischen Benutzeroberfläche aufgehoben, wo Sie die Information immer im Blick haben.

NumLock immer einschalten

Verwenden Sie bei der Arbeit immer den Ziffernblock der Tastatur? Dann sorgen Sie dafür, dass der immer beim Start von KDE automatisch eingeschaltet wird.

Drücken Sie [Alt -F2] und geben Sie kcontrol ein. Im Kontrollzentrum klicken Sie auf Angeschlossene Geräte und auf Tastatur. Dann fehlt nur noch ein Klick auf Einschalten unter Zahlenblocksperre bei KDE-Start und der Ziffernblock steht künftig immer bereit.

Falsche Nutzung von chown übersieht Dateien

Gerade wenn man als Programmierer von Websites auch als root-Benutzer arbeitet, kann es zu Rechteproblemen kommen. Dann kann beispielsweise der User unter dem der Webserver agiert bestimmte Dateien nicht anlegen oder löschen.

Üblicherweise ist das kein Problem: Mit dem Linux-Befehl chown lassen sich schnell die Eigentümer aller Dateien ändern.

Nun gibt es aber eine “falsche” Verwendung von chown, die meistens klaglos arbeitet, aber in bestimmten Fällen komplette Verzeichnisse übersieht.

Betrachten Sie zum Beispiel diese Zeile:

chown -R www-data *

Der Befehl scheint auf den ersten Blick alle Dateien dem User “www-data” zuzuweisen und dabei rekursiv alle Unterverzeichnisse abzuarbeiten.

Tatsächlich läuft es hinter den Kulissen aber ein wenig anders. Schuld daran ist der Stern. Denn der wird gar nicht so an das Kommando chown weitergegeben. Stattdession wirkt die “wildcard expansion” der Linux-Shell. Die macht aus dem Stern eine Liste aller Dateien und Verzeichnisse im aktuellen Verzeichnis

Das können Sie leicht durch “echo *” als Kommando nachvollziehen:

Shell Wildcard Expansion
Shell Wildcard Expansion

Besteht Ihr aktuelles Verzeichnis zum Beispiel aus den beiden Verzeichnissen dir1 und dir2 sowie der Datei file1, dann wird aus obige Eingabe effektiv folgende Zeile:

chown -R www-data dir1 dir2 file1

Das ist nun normalerweise auch das, was Sie erreichen möchten. Anders sieht es aber mit Dateien und Verzeichnissen aus, die mit einem Punkt beginnen. Die sind in Linux ja “versteckt”, werden also normalerweise nicht angezeigt. Auch die Expansion unterdrückt solche Objekte.

Haben Sie also im aktuellen Verzeichnis zum Beispiel eine Datei .htaccess oder ein Verzeichnis .svn, dann übergeht das Kommando sie. Erst in einem Unterverzeichnis klappt es, weil dann chown die Sichtung der Dateien übernimmt und dabei auch Verstecktes miteinbezieht.

So entgehen Sie der Expansions-Falle

Die Lösung für das Problem ist ganz einfach. Statt dem Stern verwenden Sie einen Punkt, der ja als Alias für das aktuelle Verzeichnis gilt:

chown -R www-data .

Alternativ können Sie auch das Startverzeichnis für die chown-Aktion explizit benennen, wie in

chown -R www-data /var/www/myweb

Halt die Klappe, Alexa! 😤

So, Schluss, aus. Alexa ist abgestöpselt. Stecker aus der Dose, ab ins Regal. Warum? Weil mir das Amazon Echo dauernd reinquatscht. Und weil es mich nicht versteht.

Warum ich von einem simplen „Plop“ so begeistert bin 🎛

VCV-Rack

Ok, es ist mehr, als ein „Plop“ – es ist auch ein „Wi-UUU-Wi-UUU“ und so vieles mehr. Ich spreche von einem modularen Synthesizer. Fast hätte ich mir so ein Ding als Hardware gekauft für über 500 Euro. Doch dann habe ich ein Programm entdeckt, das einen modularen Synthesizer auf dem Computer simuliert.