10 Tipps und Tricks für die Kommandozeile in Linux

Erstellt am 06.03.2019


Linux Tux

1. Einzelne Dateien oder Ordner mit der Kommandozeile schnell finden

Manchmal möchte man schnell große einzelne Dateien mit der Kommandozeile finden. So etwas lässt sich mit folgendem Befehl einfach realisieren:

ls -lahS $(find / -type f -size +5000k)

Bei diesem Befehl listet $ ls alle Ergebnisse von $ find sortiert nach der Größe auf. Das Beispiel gilt für 5 MB große Dateien und kann über die -size Option verändert werden.
Wer große Ordner finden möchte kann den Befehl $ du -h zur Hilfe nehmen. Um im Wurzelverzeichnis große Ordner anzuzeigen, kann folgender Befehl verwendet werden:

du -h / --max-depth=1

2. Linux Logs

Bei Linux bzw. Unixartigen Systemen ist es üblich, dass alle laufenden Dienste ein Log schreiben. Im Regelfall werden diese unter /var/log/ abgelegt. Falls man nicht weiter weiß, lohnt sich ein Blick in das Log. Mit dem Befehl $ tail kann das Log auch aktuelle Veränderungen ausgeben:

tail -f /var/log/mail.log

3. Rechteverwaltung und Ownerships

Ein weiterer häufiger Fehler sind oftmals die Rechte und Ownerships von Dateien bzw. Ordnern. Will man beispielsweise einen Webserver betreiben, arbeitet der standardmäßig mit dem User www-data, also sollten auch diesem Benutzer die Daten angehören. Ein Beispiel um die Besitzer und Gruppe zu wechseln wäre folgender:

chown -R www-data:www-data /var/www

4. Prozessübersicht

Durch den Befehl $ top bekommt man eine gut und übersichtliche Auflistung der aktuell laufenden Prozesse.

Prozessübersicht mit dem Befehl top

5. Mehr Sicherheit durch Firewall und Fail2Ban

Mehr Sicherheit auf öffentlichen Servern kann z.B. durch eine lokale Software Firewall und Fail2Ban erzeugt werden. Als Software Firewall kämen z.B. folgende in Frage:

6. Nach Inhalten in Dateien suchen

Manchmal ist es hilfreich den Inhalt von Dateien explizit zu durchsuchen, beispielsweise bei Logs. Möchte man aus dem Ordner /var/log alle Zeilen mit dem Wort „Disconnect“ darin ausgeben, kann folgender Befehl aufgeführt werden:

grep -r Disconnect /var/log/

7. Uptime des aktuellen Systems

Interessant ist es gegebenenfalls zu wissen, wie lange der Server schon ohne Neustart läuft. Dazu kann folgendes Kommando verwendet werden:

uptime

8. Mehr Informationen über eine Kommando

Mit jedem Linuxkommando vertraut zu sein ist fast schon unmöglich. Daher muss manchmal auf eine Dokumentation der Befehle zurückgegriffen werden. Ein paar Infos erhält man meist durch Anhängen des Parameters -h oder --help hinter den Befehl. Möchte man jedoch eine genau detaillierte Anleitung kann auf die man Page zurückgegriffen werden. Beispiele:

wget -h
wget --help
man wget
man vom Befehl wget

9. Portweiterleitung mit ssh

Das Kommando ssh ist mächtig. Alle Funktionen aufzuzählen würde den Rahmen sprengen. Ich möchte euch auf die Portweiterleitung aufmerksam machen. Mit ssh ist es möglich Ports an den localhost weiterzugeben:

ssh -L 8080:localhost:1133 root@your-domain.de -N

Mit diesem Befehl wird der Port 1133 von dem Server your-domain.de auf euren lokalen Port 8080 weitergeleitet. Läuft auf dem entfernten Server ein Webdienst auf 1133 ist es möglich diesen nun im Browser mit der Eingabe http://localhost:8080 aufzurufen.

10. Dateien löschen, bis auf gnaz bestimmte

Mit dem Befehl $ rm können Dateien gelöscht werden. Ab und an kommt es vor in einem Verzeichnis alle Dateien bis auf bestimmte zu löschen. Wollen wir alle Dateien bis auf PDFs und die Datei test.jpg löschen, können wir das mit folgendem Befehl realisieren:

rm !(*.pdf|test.jpg)