DocLinux2.jpg

Der Nächste bitte

Dr. Linux

01.01.2000
Komplizierte Organismen, wie Linuxsysteme es nun einmal sind, haben so ihre ganz eigenen Wehwehchen. Dr. Linux beobachtet die Patienten in den Linux-Newsgruppen, stellt an dieser Stelle Rezepte für aktuelle Probleme aus und alternative Heilmethoden vor.

Finden!

Meine Textbestände sind eher chaotisch sortiert. Kann ich unter Linux große Textbestände nach bestimmten Dateien durchsuchen? Und wie lassen sich Textstellen in Dateien anzeigen?

Dr. Linux: Das Kommando find kann nach bestimmten Dateien suchen. Je nach Pfadangabe durchsucht es Verzeichnisse einschließlich der Unterverzeichnisse. find ist sehr mächtig; es gibt Optionen, die beinahe Alles und Jedes abdecken. Dementsprechend umfangreich ist auch die Manpage. Zum Glück braucht man nicht ständig alles, sondern kommt schon mit ein paar Optionen gut um die Runden. Wenn der Name der gesuchten Datei bekannt ist, kann das Kommando find -name eingesetzt werden.

user$ find -name Leuchtkeks

findet die Datei Leuchtkeks im aktuellen Verzeichnis und in dessen Unterverzeichnissen. Dies bedeutet, dass Sie zunächst in das Verzeichnis wechseln müssen, in dem die Datei gesucht werden soll.

user$ find / -name Leuchtkeks

durchsucht alle Verzeichnisse und Unterverzeichnisse nach Leuchtkeks. / steht für das Wurzelverzeichnis. In Verbindung mit dieser Angabe wird find sämtliche Verzeichnisse und Unterverzeichnisse nach der Datei durchsuchen. Das Kommando find / sollte deshalb nicht in Netzwerken eingesetzt werden, da es ein System zu stark belasten kann.

user$ find ~ -name ´*zip´

listet alle Dateien im Homeverzeichnis und untergeordneten Verzeichnissen auf, an deren Namensende sich die Buchstaben zip befinden. Mit dem Jokerzeichen ~ können Sie sich die Pfadangabe für Ihr Home-Directory ersparen, es wird geradewegs durch /home/Ihr_Name (oder wie Ihr Heimatverzeichnis auch immer heißt) ersetzt.

user$ find ~ -name ´*zip*´

zeigt alle Dateien im Homeverzeichnis auf, in deren Namen das Suchmuster zip vorkommt. Dieser Befehl listet als Ergebnis sowohl .zip-Archive auf, als auch Dateien wie beispielsweise bzip2recover, ziptool oder zipfelmütze. Sollten Sie ein DOS- oder Windowsverzeichnis in ihrem System gemountet haben, können Sie gezielt Dateien in diesen Verzeichnissen finden, wenn sie -fstype vfat bzw. -fstype msdos als Option mit find verwenden.

user$ find / -fstype msdos -name *.zip

listet beispielsweise nur .zip-Dateien auf, die sich auf einer MS-DOS-Partition befinden.

user$ find / -fstype vfat -name *.txt

hingegen führt nur .txt-Dateien von einer Windows-Partition auf.

Die Eingabe man find liefert auf mehr als zehn Seiten einen Blick über weitere Möglichkeiten von find. Wenn Ihnen die Kommandozeile noch nicht ganz geheuer ist und Sie mit KDE arbeiten, können Sie für Ihre Sucherei auch das Programm kfind benutzen. Es befindet sich in der Menüleiste und lässt sich mit dem Eintrag Dateien suchen aufrufen.

Abbildung 1: kfind vereinigt die Funktionalität von find und grep in sich.

Um Textstellen oder Stichworte im aktuellen Verzeichnis zu finden, bietet sich das Kommando grep (engl.: "get regular expression pattern") an.

user$ grep Gartenzwerg *.tex

listet beispielsweise alle Zeilen aus .tex-Dateien im aktuellen Verzeichnis auf, die das Suchmuster Gartenzwerg enthalten.

user$ grep -l Gartenzwerg *.txt

spuckt hingegen die Namen aller .txt-Dateien im aktuellen Verzeichnis aus, die das Wort Gartenzwerg enthalten. Es muss aber nicht immer gleich ein ganzes Bündel Dateien sein:

user$ grep "Overkill" Gartenzwerg.txt

führt alle Zeilen mit dem Suchmuster Overkill in der Datei Gartenzwerg.txt auf. man grep gibt einen Überblick, welche Optionen wie mit grep eingesetzt werden können.

Kill and go!

Wenn ein Programm oder die Konsole hängen bleibt, muss ich dann einen Neustart des Systems durchführen?

Dr. Linux: Nein, mit dem Betriebssystem Linux ist ein Reset nicht nötig. Ganz im Gegenteil sollte ein Drücken der Reset-Taste immer vermieden werden, denn es kann zu Datenverlusten führen. Erste Hilfe in einem solchen Fall ist das Drücken der Tastenkombination Ctrl-C alias Strg-C: Die meisten Befehle/Kommandos lassen sich damit abbrechen. Eine ganze Reihe Programme fangen diese Tastenkombination allerdings ab, insbesondere, wenn sie selbst etwas anderes mit diesem Shortcut vorhaben. In diesem Fall hilft der Befehl kill. Er wird zusammen mit einer Prozess-ID (PID) eingesetzt. Eine solche wird an jeden Prozess vergeben.

Falls nötig, ist zunächst ein Wechsel der Konsole mit Alt-F1(F2...F6) angebracht. Benutzer des X-Window-Systems können ihre grafische Oberfläche durch die Tastenkombination Strg-Alt-F1 (F2...F6) ebenfalls verlassen. Auf der unblockierten Konsole setzen Sie das Kommando ps ("Prozess-Status") ab. Diese Eingabe erzeugt eine Tabelle:

user$ ps
PID TTY STAT TIME COMMAND
170   4 S    0:00 login -- userinnen
479   1 S    0:00 grep Leuchtkeks
480   4 R    0:00 ps

Der Befehl, der zum Stillstand des Terminals geführt hat, wird leicht an seinem Eingabekommando in der Spalte COMMAND erkannt, es handelt sich in diesem Beispiel um eine unvollständige grep-Eingabe. Er befindet sich auf Konsole 1 (TTY) und hat die Prozess-ID (PID) 479. Die Eingabe

user$ kill 479

terminiert den Prozess, und nachdem Sie mit Alt-F1 (F2...F6) auf die Konsole (resp. TTY – "Teletype Terminal", ein Begriff aus der Großrechnerzeit) zurückgeschaltet haben, ist das Terminal wieder voll einsatzfähig. Sollte die Eingabe von kill PID nichts bewirkt haben (nachzuprüfen mit einem neuen ps in der Spalte STAT), so ist die Eingabe von kill -9 PID tödlich für alle Prozesse. STAT zeigt den Prozessstatus an:

  • S = schlafend
  • R = running (laufend)
  • T = terminiert
  • Z = Zombie

ps kann mit verschiedenen Optionen eingesetzt werden:

  • ps a listet alle aktiven Prozesse auf.
  • ps x weitet die Auflistung auf Prozesse aus, die mit keinem Terminal verbunden sind.
  • ps u erweitert die Ausgabe um den Benutzernamen und die Startzeit.
  • Wenn Sie diese Optionen spannend finden, probieren Sie doch auch noch ps f, das die Prozessfamilien als Bäume darstellt.

Die Optionen können auch alle gleichzeitig eingegeben werden. Allerdings wirkt ps aux auf Einsteiger zunächst recht unübersichtlich. Wer mit einer grafischen Oberfläche arbeitet, kann sich zum "Abschießen" eines hartnäckigen Programms auch des Kommandos xkill, eingegeben in einer Befehlszeile, bedienen. Der Cursor wandelt sich in ein Zielkreuz, mit dem das bockige Fenster "um die Ecke gebracht" werden kann. Allerdings ist xkill mit Vorsicht anzuwenden; es besteht bei unvorsichtigem Einsatz die Gefahr des Verlusts ungesicherter Daten.

LinuxCommunity kaufen

Einzelne Ausgabe
 
Abonnements
 

Related content

  • Systeminitialisierung und Runlevel
    Zwischen dem Einschalten des Computers und dem Einloggen der Benutzer arbeitet das Programm init als erster Prozess. Es initialisiert das System, weckt Daemons wie crond oder syslogd und legt den Runlevel fest, den der Anwender vorfindet.
  • out of the box: gPS
    Sie verlieren bei textbasierten Prozessmonitoren wie top schnell die Übersicht? gPS bietet einen grafischen Ersatz und kann sogar mehrere Rechner über ein Netzwerk überwachen.
  • Mit den Dienern reden
    Linux startet beim Booten viele Dienste – welche, hängt davon ab, wie Sie die Runlevels konfiguriert haben. Dazu verwendet man meist grafische Tools, aber "chkconfig" leistet das Gleiche in einem Bruchteil der Zeit.
  • Präzise Kontrolle
    Auf einem typischen Linux-System laufen viele Anwendungen und Dienste gleichzeitig. Mit den richtigen Befehlen verschaffen Sie sich einen Überblick und greifend steuernd ein.
  • 1x1 der Tools für Festplatten und Prozesse
    Ein Linux-System ist wie eine Maschine mit vielen kleinen Schrauben und Rädchen. Wer die Einzelteile genauer unter die Lupe nehmen will, braucht das entsprechende Werkzeug. Untersuchen Sie mit einfachen Befehlen Prozesse und Festplatten ihres Systems!
Kommentare

Infos zur Publikation

title_2014_08

Digitale Ausgabe: Preis € 5,95
(inkl. 19% MwSt.)

Mit der Zeitschrift LinuxUser sind Sie als Power-User, Shell-Guru oder Administrator im kleinen Unternehmen monatlich auf dem aktuelle Stand in Sachen Linux und Open Source.

Sie sind sich nicht sicher, ob die Themen Ihnen liegen? Im Probeabo erhalten Sie drei Ausgaben zum reduzierten Preis. Einzelhefte, Abonnements sowie digitale Ausgaben erwerben Sie ganz einfach in unserem Online-Shop.

NEU: DIGITALE AUSGABEN FÜR TABLET & SMARTPHONE

HINWEIS ZU PAYPAL: Die Zahlung ist auch ohne eigenes Paypal-Konto ganz einfach per Kreditkarte oder Lastschrift möglich!       

Tipp der Woche

Schnell Multi-Boot-Medien mit MultiCD erstellen
Schnell Multi-Boot-Medien mit MultiCD erstellen
Tim Schürmann, 24.06.2014 12:40, 0 Kommentare

Wer mehrere nützliche Live-Systeme auf eine DVD brennen möchte, kommt mit den Startmedienerstellern der Distributionen nicht besonders weit: Diese ...

Aktuelle Fragen

Server antwortet mit falschem Namen
oin notna, 21.07.2014 19:13, 1 Antworten
Hallo liebe Community, Ich habe mit Apache einen Server aufgesetzt. Soweit, so gut. Im Heimnet...
o2 surfstick software für ubuntu?
daniel soltek, 15.07.2014 18:27, 1 Antworten
hallo zusammen, habe mir einen o2 surfstick huawei bestellt und gerade festgestellt, das der nic...
Öhm - wozu Benutzername, wenn man dann hier mit Klarnamen angezeigt wird?
Thomas Kallay, 03.07.2014 20:30, 1 Antworten
Hallo Team von Linux-Community, kleine Zwischenfrage: warum muß man beim Registrieren einen Us...
openSUSE 13.1 - Login-Problem wg. Fehler im Intel-Grafiktreiber?
Thomas Kallay, 03.07.2014 20:26, 8 Antworten
Hallo Linux-Community, habe hier ein sogenanntes Hybrid-Notebook laufen, mit einer Intel-HD460...
Fernwartung für Linux?
Alfred Böllmann, 20.06.2014 15:30, 7 Antworten
Hi liebe Linux-Freunde, bin beim klassischen Probleme googeln auf www.expertiger.de gestoßen, ei...