![]() |
RuTh's
RuThLEss
HomEpAgE
|
|
Linuxkursfür User der Fakultät für Computerlinguistik an der UdS Dies ist ein Linux-Kurs - d.h. ich kann keine Windows-Fragen beantworten.
Inhalt
Orientierung
Was ist UNIX/Linux?"Linux"
und "Solaris"
sind Vertreter der Betriebssystemfamile "UNIX".
Diese Multi-User-Betriebssysteme werden verwendet, wo mehrere Benutzer von verschiedenen
Arbeitsplatzrechnern aus auf den selben Zentralrechner zugreifen wollen
-- z.B. an Universitäten, Firmen und in Computerräumen.
Der zentrale Server der CoLi heisst z.B. gnome.coli.uni-sb.de, sein Betriebssystem ist Solaris Unix. Der CIP-Raum-Server heisst zip.cip.coli.uni-sb.de, die lokalen Terminals (Arbeitsplatz-PCs) in unserem CIP-Raum haben Namen wie path, tree, label, erase.cip.coli.uni-sb.de u.a. ... Ihr Betriebssystem ist Linux. Anmelden (Einloggen)Damit nun das lokale Terminal (der Arbeitsplatz-PC im CIP-Raum unter dem Tisch vor Dir) weiss, wen er dieses Mal vor sich hat, muss sich jeder Benutzer als erstes immer mit seiner Login (seinem Benutzernamen), und seinem geheimen Passwort anmelden. So stellst Du sicher, dass Du vom Server Deine Dateien angezeigt bekommst. Deine Login und ein erstes Passwort solltest Du von der Systemgruppe erhalten haben. Wenn nicht, oder wenn es nicht klappt, dann frag bitte bei der Systemgruppe nach.
Das Passwort ist beim Eintippen übrigens absichtlich unsichtbar!Hiermit hast Du Dich eingeloggt. Willkommen bei Linux. Abmelden (Ausloggen)Bist Du fertig mit der Arbeit am Linux-Rechner, musst Du Dich abmelden. Abmelden ist wichtig, denn tust Du das nicht, könnte jeder, der nach Dir kommt, Deine Dateien lesen, ändern, löschen, oder unter Deinem Namen eMail verschicken! Im Textmodus meldet man sich ab durch Eingabe von [martin@zip]$ logout Oder, in einem graphischen System wie in der CoLi, über das Menü ausloggen. Ein beispielhafter Linux-BildschirmAuf dem folgenden Beispiel-Bild siehst du zwei sogenannte "Terminal-Fenster". Das vordere ist farblich hervorgehoben, d.h. es hat gerade den Fokus und kann Befehle annehmen. Rechts oben sieht man den Pager, der die Nutzung von "virtuellen Bildschirmen" ermöglicht. Darunter befinden sich eine Uhr und ein eMail-Benachrichtiger. Hinweis: Da es unter Linux zahlreiche "Window-Manager" (so was wie "Themes") gibt, können alle Elemente auch anderswo positioniert sein, oder andere Farben haben...! Dies ist nur ein allgemeines Beispiel.
Befehlseingabe via TerminalfensterAuf dem Bildschirm siehst Du nach dem Einloggen also ein "Terminal-Fenster"; darin läuft das für die Interaktion mit Linux essentielle Progamm, die "Linux-Shell" (so was wie ein Explorer). Unsere konkrete Shell heiss 'bash', es gibt auch andere. Die Shell zeigt am Anfang der Zeile die Eingabeaufforderung, auf Englisch Shell Prompt. Der Prompt ist ein Symbol wie ">", "$", oder Dein Login-Name, o.ä. In der CoLi sieht der Prompt z.B. so aus "[martin@gnome] (~) $". Hinter dem Prompt befindet sich die Einfügemarke, der Cursor. Die Shell braucht man, um hinter ihren Prompt seine Befehle an den Rechner einzutippen.
Alle Befehlseingaben werden durch Drücken der <Return>-Taste
Beispiele für den Aufbau von Linux-KommandosEcho ist ein einfacher Beispielbefehl. Er schreibt einen gewünschten Text ins Shell-Fenster. (Sinnvolle Verwendungszwecke folgen später): [martin@zip]$ echo 'Hallo Welt!' In einem Multi-User-System ist man für gewöhnlich nicht lange einsam. Will man also wissen, wer, seit wann, von wo alles noch nettes angemeldet (eingeloggt) ist, verwendet man den Befehl "who". Wenn du 'who' in einem lokalen Terminalfenster eingibst, zeigt es dir eventuell nur an, dass Du alleine an diesem Rechner bist. [martin@zip]$ who Allgemeiner Aufbau:
Häufige Fehlerquellen
Befehlseingabe via MenüEinige Befehle, die man häufig braucht, sind (alternativ dazu, dass man sie immer auch ins Terminalfenster eintippen kann) auch über ein Menü aufrufbar. Linux ist frei konfigurierbar, es gibt daher keinen allgemeinen Linux-Standard; je nach dem vom Benutzer gewählten "Window-Manager" (dem Programm, das für die graphische Darstellung zuständig ist) sind die Menüs anders angeordnet. Zwei Beispiele für häufige Varianten:
InformationsbeschaffungWelche Befehle gibt es?Linux stellt eine Unmenge mächtiger Befehle zur Verfügung. Leider gibt es nicht für alle davon Menüs, aus denen man diese einfach auswählt. Wenn man will, dass eine der zur Verfügung stehenden Funktionen ausgeführt wird, muss man im Allgemeinen erst rausfinden, wie der Befehl heisst, und ihn dann eintippen. Keine Panik: Auch Linux-Profis wissen die Befehle nicht alle auswendig. Aber sie wissen, wo sie nachschauen müssen! Die wichtigsten und nützlichsten dieser Befehle und Beispiele dafür kommen z.B. in diesem Kurs vor. Außerdem gibt's eine Kurzfassung zum Ausdrucken. Hier ein paar ungefährliche Befehle zum Ausprobieren: Online-HandbuchEs gibt mehrere interne Handbücher mit Namen wie "help", "man", "apropos" oder "?", die die Liste der verfügbaren Befehle und ihrer Funktionen und Benutzungsweise anzeigen. Mindestens eine davon gibt es immer. Diese Handbücher werden euch später sehr hilfreich sein, um selbständig neue Linux-Funktionen dazuzulernen. Um sich detailliert über den Befehl "echo" zu informieren, gibt man ein: [martin@zip]$ man echo Oder um sich ganz oberflächlich über den Befehl "who" zu informieren: [martin@zip]$ who --help Hinweis: Um solche (read-only) Handbuchseiten weiterzublättern, tippt man die <SPACE>-Taste; um zeilenweise weiterzugehen, tippt man die Pfeiltasten hoch und runter; um das Handbuch zu verlassen und wieder zurück zur Eingabeaufforderung zu kommen, tippt man den Buchstaben q.
ProgrammeProgramme im TextmodusDie ursprünglichen Linux-Programme arbeiten alle ohne Mouse
und ohne Menü, also nur durch Tastatureingaben. Alle
Textmodusprogramme bieten eine eigene Hilfefunktion, die programmspezifische
Befehle erklärt.
Beispiele für Programme im Textmodus:emacs Texteditor joe Texteditor pico Texteditor elm eMail pine eMail lynx WWW-Browser (keine Tabellen/Frames/Bilder) w3m WWW-Browser (Tabellen/Frames, keine Bilder) mc Dateimanager Programme mit graphischer BenutzeroberflächeIst wie in der CoLi eine graphische Benutzeroberfläche (X-windows) installiert, sind noch mehr Programme verfügbar. Im Gegensatz zu Terminalprogrammen erscheinen diese beim Öffnen in ihren eigenen Fenstern (wie in Windows und MacOS), anstatt als Text im Shell-Fenster. Auch kann die Mouse verwendet werden, und es gibt anklickbare Menüs oder Paletten. Beispiele für Programme mit graphischer Benutzeroberflächegimp Graphikeditor xcalc Taschenrechner xpaint Malprogramm gqview Graphiken xv Graphiken xloadimage Graphiken mozilla WWW-Browser, eMail galeon WWW-Browser netscape WWW-Browser, eMail gv Ghostview (Postscript-Dateien) acroread Acrobat Reader (PDF-Dateien) xpdf PDF-Dateien emacs } Texteditor xemacs } nautilus Nautilus: Dateimanager
Programme aufrufenzum Aufrufen eines Programmes gibt man dessen Namen in die Shell ein, und tippt <return>, z.B. um den Midnight Commander aufzurufen: Wie man ein Porgramm wieder beendet, sieht man in einem seiner Menüs, oder in der Hilfe des jeweiligen Programmes angezeigt. In diesem Fall (Midnight Commander) tippt man z.B. <F10>. Findet man das Kommando zum Beenden eines Textprogrammes gerade nicht heraus, kann man ein Programm meistens durch Eintippen von ^C abschiessen.[martin@zip]$ mc Mehrere Programme gleichzeitig verwendenNach dem Starten eines Programmes (z.B. durch Eingabe des obigen Beispielbefehls) ist das Terminalfenster 'besetzt'. D.h., man kann in diesem Fenster so lange keine anderen Programme mehr starten, bis das laufende Programm beendet wird. Es gibt zwei Methoden, eine für graphische und eine für textbasierte Programme, sich zu behelfen, wenn man mehrere Programme gleichzeitig verwenden möchte, aber nicht für jedes ein extra Terminalfenster öffnen will. Neuer HintergrundprozessWill man in einer graphischen Benutzeroberfläche mehrere Programme gleichzeitig von einem Shell-Fenster aus starten, gibt man beim Starten der Programme als letztes Zeichen ein "&" ein, um jeweils einen neuen Prozess im Hintergrund zu starten: Um z.B. mozilla und den Graphik-Viewer xview nebeneinander laufen zu haben, gibt man nacheinander ein: [martin@zip]$ mozilla & Graphische Programme beendet man über ihren eigenen betreffenden Menü-Punkt (Quit oder Exit). Virtuelle TerminalsHat man keine graphische Benutzeroberfläche zur Verfügung, sondern ist im Textmodus, bietet Linux zum Ausgleich mehrere "virtuelle Terminals" an, zwischen denen man umschalten kann. In jedem kann ein anderes Terminal-Programm im Textmodus laufen. Angesehen davon ist das kurze Umschalten auf die virtuellen Terminals eine sichere Methode, um den Namen des lokalen PCs herauszufinden, oder um im CIP-Raum Disketten nutzen zu können. Um zwischen den virtuellen Text-Terminals umzuschalten, tippt man jeweils eine der folgenden Tastenkombinationen: <ALT> + <STRG> + <F1> <ALT> + <STRG> + ... <ALT> + <STRG> + <F7> Die letzte dieser F-Key-Kombinationen ist mit der graphischen Benutzeroberfläche belegt, wenn man zu ihr zurückkehren will, bei uns ist das F7. Virtuelle BildschirmeIn der graphischen Oberfläche gibt es bei uns auch zusätzlich sehr praktische "Virtuelle Bildschirme", um die zur Verfügung stehende Fläche scheinbar zu vergrößern. Um sie zu verwenden braucht man den 'Pager'. Alle geöffneten Fenster werden verkleinert im Pager dargestellt. Klick mit der mittleren Mousetaste auf eine der kleinen Darstellungen eines Fensters im Pager, und verschieb es auf einen anderen Virtuellen Bildschirm (in ein anderes der Felder also). Dann klickst Du dieses Feld mit der linken Mousetaste an, um dorthin zu gelangen. Du kannst alle Felder im Pager benutzen, um dort Fenster abzulegen.
Programmaufruf mit ArgumentenViele Programme nehmen beim Aufrufen Argumente an. Das können Voreinstellungen, Dateinamen, Links u.a. sein. Der Graphikeditor Gimp wird z.B. eine als Argument angegebene Graphikdatei laden und beim Öffnen sofort zeigen: [martin@zip]$ gimp MeinBild.jpg Dem Textbrowser w3m kann man auf diese Weise schon beim Starten die URL der gewünschten Internetseite angeben, oder (sehr praktisch) seine Lesezeichendatei. [martin@zip]$ w3m www.yahoo.com Das Emailprogramm pine wird bei Angabe des Arguments -i sofort nach dem Starten die Inbox anzeigen: [martin@zip]$ pine -i
Wichtige Abkürzungen bei der BefehlseingabeBefehlswiederholungWendet man ein und den
selben oder ähnliche Befehle öfters hintereinander an,
kann man ihn ab dem zweiten Mal durch einen Tastaturkurzbefehl
wiederholen: Durch Drücken der "Hoch"-Pfeiltaste Befehls- und DateinamenergänzungErinnert man sich nicht mehr genau an den Namen eines gesuchten Befehls,
oder will man eine Liste von verfügbaren
Befehlen sehen, genügt es, die ersten Buchstaben einzugeben,
und die Tabulatortaste <TAB>
zu drücken -- Gibt es nur einen Befehl mit
diesen Anfangsbuchstaben, wird er nun automatisch ergänzt. Sehr praktisch! Wie hiess gleich noch mal der Befehl, der mit "wh..." anfing? Ah, "who" war es. Das selbe funktioniert auch mit Dateinamen, wenn man z.B. die vorhandene Datei mit dem langen Namen mein_Brief_an_Otto.txt mit dem Programm Emacs öffnen möchte. Lässt man sich wie im Beispiel 'emacs m' vom Tabulator ergänzen, bekommt man als Vorschläge alle Dateien, die mit m anfangen, wenn es mehrere gibt. Fügt man nun zur Eindeutigmachung noch die Buchstaben '...ein_Br' hinzu, erkennt die Tabulator-Ergänzung die gemeinte Datei und ergänzt ihren vollständigen Namen:[martin@zip]$ wh<TAB><TAB> whatwhereis while whoami whois whatis which who whocalls [martin@zip]$ wh [martin@zip]$ emacs m<TAB><TAB> mein_Brief_an_Otto.txt mein_Bild.jpg mail.txt [martin@zip]$ emacs mein_Br<TAB> [martin@zip]$ emacs mein_Brief_an_Otto.txt Kurzbefehle selbst DefinierenListe der schon vorhandenen Kurzbefehle anzeigen lassen: [martin@zip]$ alias man kann selber neue Kurzbefehle festlegen für Befehle, die man oft benutzt. Z.B. möchte man den Befehl "liste" erstellen als Abkürzung für die detaillierte Auflistung aller vorhandenen Dateien: [martin@zip]$ alias liste='ls --color=tty' Auch Befehlsfolgen lassen sich so abkürzen, indem man alle Kommandos der Reihe nach in eine Zeile schreibt und anstelle der <return>s nach jedem Kommando einen Strichpunkt setzt.
Praktische Kurzbefehle, die man in Zukunft immer verwenden will, trägt man mit einem Texteditor in seine Startdatei (".bashrc") ein, damit sie jedesmal zur Verfügung stehen. Solche individuellen Einstellungen können überall in der '.bashrc'-Datei stehen, ausser in der ersten Zeile. Zum Bsp: alias liste="ls -l --color=tty" alias weristda="who" Wichtige Kurzbefehle für Textmodus-ProgrammeWenn in einem Linux-Programm keine graphische Oberfläche mit Mouse- oder Menü-Steuerung zu Verfügungen stehen sollte, sondern nur Textmodus, müssen Funktionen wie Blättern oder Beenden durch Tastatureingaben gesteuert werden. Die Eingaben können von Programm zu Programm variieren. Die am häufigsten (z.B. in den Programmen more, man, less) verwendeten sind: <SPACE> eine Seite weiter <RETURN> eine Zeile weiter Zwangsbeenden von ProgrammenMit dem Kommando top bekommt man eine Übersicht aller laufender Programm-Prozesse. [martin@zip]$ topDurch Eintippen den Buchstabens "u" in top gefolgt vom eigenen Benutzernamen kann man alle Programm-Prozesse herausfiltern lassen, die einem selbst gehören. Dies ist nützlich, wenn man ein Programm, das man nicht normal beenden kann, "abschießen" möchte. Dazu merkt man sich die Prozess-Identifizierungs-Zahl, die in der top-Liste unter der Überschrift PID steht, und tippt nun den Buchstaben "k" für Kill ein, gefolgt von der PID-Nummer. Aber nicht wild Prozesse abschießen, wenn Ihr nicht wisst, was die Prozesse tun, sonst könntet Ihr Euch sprichwörtlich den Boden unter den Füßen wegziehen. ;-) Kopieren und Einsetzen von Text mit der MouseEs kommt oft vor, dass man etwas von einem Programm ins andere kopieren möchte. Z.B. will man einen mit dem Texteditor geschriebenen Text in ein eMail einsetzten, oder umgekehrt ein eMail im Texteditor bearbeiten. Leider gibt es in Linux keine globale Zwischenablage. Zum Kopieren von Text daher an den Anfang der Textpassage mit der linken Mousetaste klicken, Taste gedrückt lassen, Text auswählen, loslassen. Die zuletzt so mit der Mouse ausgewählte Textpassage lässt sich jetzt in einem anderen Programm durch Klicken der mittleren Mouse-Taste einsetzen!
Verzeichnisse und DateienWo bin ich?Jeder Benutzer hat sein eigenes "Home-Verzeichnis",
in dem er seine Dateien ablegen darf. Es hat
als Namen den Login-Namen seines Benutzers und ist automatisch das erste
Verzeichnis, in dem Du ankommst, wenn Du Dich einloggst.
Die Home-Verzeichnisse für CoLi-Studenten liegen z.B. im Pfad "/home/CE/".
Das "root directory" --die alleroberste Ebene-- heisst im Verzeichnissystem "/",
dort dürfen "Normalsterbliche" keine Dateien ablegen.
[martin@zip]$ pwd Was ist drin im Verzeichnis?Den Inhalt des aktuellen Verzeichnisses listet man mit dem Befehl "ls" auf: [martin@zip]$ ls Möchte man den Inhalt eines Verzeichnisses aufgelistet bekommen, in dem man sich gerade nicht befindet, muss man dessen Namen (Pfad) explizit angeben: [martin@zip]$ ls Meine_Bilder/Photos Will man Dateien in einem Verzeichnis inklusive der "ausgeblendeten" Konfigurationsdateien (deren Namen mit einem "." beginnen) gelistet bekommen, fügt man "-a" hinzu: [martin@zip]$ ls -a Will man detailierte Informationen über die Dateien bzw Verzeichnisse --wem sie gehören, welche Zugriffsrechte bestehen, wie gross und wie alt sie sind: [martin@zip]$ ls -l Solche Argumente lassen sich beliebig kombinieren! Die folgende Argumentkombination gibt z.B. detailierte Informationen (-l) über alle Dateien (-a) in einem Unterverzeichnis (Pfad "Meine_Bilder/Photos") aus: [martin@zip]$ ls -la Meine_Bilder/Photos Dateien erstellenGibt man als Argument einen Dateinamen an, der im aktuellen Verzeichnis noch nicht existiert, wird von vielen Programmen eine neue leere Datei diesen Namens erstellt, und mit dem genannten Programm geöffnet. Um mit dem Texteditor emacs eine leere Textdatei zu erstellen und zu öffnen, tippt man z.B.: [martin@zip]$ emacs Neue_Datei.txt Zur Wahl von Verzeichnis- und Dateinamen
Neues Verzeichnis erstellenMit mkdir (make directory) erstellt und benennt man ein neues leeres Verzeichnis. Macht davon Gebrauch, um Eure Dateien sinnvoll zu ordnen, indem Ihr einzelne Unterverzeichnisse für Studium, Privates, usw. anlegt. [martin@zip]$ mkdir Studium So erstellt man ein Unterverzeichnis in einem Verzeichnis: [martin@zip]$ mkdir Studium/Informatik-Uebung Verzeichnis wechselnMit dem Befehl cd (change directory) wechselt man in ein anderes Verzeichnis. (Zur Veranschaulichung steht hier zusätzlich die Ausgabe des Befehls 'pwd' dabei, damit Ihr seht, woran Ihr als Anfänger erkennt, wo Ihr gerade seid. Ihr braucht später nicht jedesmal 'pwd' eingeben). [martin@zip]$ pwd Oder, durch Angabe eines längeren Pfades als Argument, gleich mehrere Schritte auf einmal: [martin@zip]$ pwd Die zwei Punkte ".." sind die Abkürzung für die nächsthöhere Verzeichnisebene. Um von einem Verzeichnis in die genau darüberliegende Ebene zu wechseln, gibt man "cd .." ein: [martin@zip]$ pwd Mit "cd" ohne Angabe von Argumenten kehrt von überall aus sofort in sein "Home-Verzeichnis" zurück: Die Tilde "~" ist eine alternative Abkürzung für das Home-Verzeichnis. Mit "cd -" kehrst Du in das letzte Verzeichnis zurück, indem Du zuvor warst (egal ob drüber oder drunter): [martin@zip]$ pwd Übersicht Pfad-Abkürzungen. Pfad hierher .. Pfad zu einer Ebene höher ~ Pfad zum Homeverzeichnis - Pfad zum vorherigen Verzeichnis
Verzeichnis löschenMit Remove Directory löscht man ein leeres (!) Verzeichnis. Befinden sich in dem zu löschenden Verzeichnis noch Dateien oder Verzeichnisse, müssen diese zuerst alle gelöscht werden! (siehe unten) [martin@zip]$ rmdir Meine_Bilder Dateien löschen:Mit dem Remove-Befehl rm löscht man eine Datei. [martin@zip]$ rm bloede_Datei.txt Mehrere Dateien auf einmal löscht man, indem man im Dateinamen Metazeichen wie * verwendet: Um z.B. im aktuellen Verzeichnis alle Dateien zu löschen, die mit ".txt" aufhören: [martin@zip]$ rm -i *.txt Um im aktuellen Verzeichnis wirklich alle Dateien zu löschen. (Vorsicht!): [martin@zip]$ rm -i * Man kann auch den Pfad eines Verzeichnisses und einen * angeben, um dessen gesamten Inhalt zu löschen: [martin@zip]$ rm -i Meine_Bilder/* Hinweise:
KopierenBeim Copy-Befehl wird als erstes Argument der Name der Quelldatei angegeben, als zweites Argument der neue Name, den die Kopie bekommen soll. Man wähle für die Kopie einen noch nicht existierenden Namen; die Originaldatei bleibt dabei unverändert. [martin@zip]$ cp -i Original.jpg Kopie.jpg Den Inhalt eines gesamten Verzeichnisses in ein anderes kopieren: [martin@zip]$ cp -i Quellverzeichnis/* Zielverzeichnis/ VerschiebenMit dem Move-Befehl wird eine Datei in ein anderes Verzeichnis verschoben. D.h. die Original-Datei im Quellverzeichnis ist danach gelöscht, und existiert nur noch im Zielverzeichnis. [martin@zip]$ mv -i Mein_Brief.txt Zielverzeichnis/ UmbenennenMove kann auch verwendet werden, um eine Datei umzubenennen. Man "verschiebt" sie sozusagen innerhalb desselben Verzeichnisses in eine neue Datei mit einem anderen Namen. [martin@zip]$ mv -i alter_Name.txt neuer_Name.txt Vorsicht beim Löschen, Kopieren und Verschieben!
DateigrößeDie Größe der Dir gehörenden Dateien zu wissen, ist wichtig, da es hier Quota gibt: Jeder Student darf maximal 50 MB belegen! Die Grösse einer Datei bzw des aktuellen Verzeichnisses bekommt man mit: bzw[martin@zip]$ du Datei.txt [martin@zip]$ du -s *
Meta-Zeichen* steht für eine beliebige Zeichenfolge
? oder . steht für genau 1 beliebiges Zeichen
{Otto,17,foobar} steht für genau die angegebenen Zeichenketten
[2-9] steht für eine Folge von Zahlen
Wozu brauche ich die?Will man mehrere Dateien gleichzeitig öffnen oder erstellen, ist es oft sehr unhandlich, wenn man den Namen jeder einzelnen eintippen muss. Das lässt sich oft vermeiden, v.a. wenn ihre Namen eine regelmäßige Gemeinsamkeit aufweisen. Beispiel: Nachdem man mit dem Befehl ls die Liste aller im Verzeichnis verhandenen Dateien und Verzeichnisse betrachtet hat, möchte man nun z.B. ausschließlich alle Textdateien im aktuellen Verzeichnis mit emacs öffnen, die mit dem ".txt"-Suffix gekennzeichnet sind. [martin@zip]$ lsist identisch mit: Mit Hilfe des Kommandos "echo" kann man sich in Kombination mit den Metazeichen alle Namen von im aktuellen Verzeichnis existierenden Dateien auflisten lassen, die einem gewissen Muster entsprechen. Das ist praktisch, wenn sich in einem Verzeichnis unübersichtlich viele Dateien befinden. Z.B. zeigt uns die Ausgabe von ls, dass sich in deinem Verzeichnis sieben Dateien befinden, darunter irgendwo die drei Dateien Uebung7.txt, Uebung8.txt und Uebung12.txt. [martin@zip]$ ls Du willst jetzt z.B. nur alle Dateinamen auflisten lassen, die mit dem Wort "Uebung..." beginnen: [martin@zip]$ echo Uebung* Oder Du willst nur alle Dateinamen auflisten lassen, die mit dem Wort "Uebung..." beginnen, dann genau 1 Zeichen stehen haben, und mit txt enden (Also alle "Übungen" mit einstelliger Zahl): [martin@zip]$ echo Uebung?.txt Das bedeutet: Wenn Du dieses Prinzip anwendest, und bei diesen Beispielen statt echo z.B. emacs schreibst, kannst du stattdessen die jeweilige Untermenge von Dateien z.B. im Texteditor öffnen! usw...
Um zu drucken, muss man erst einen der vorhandenen Drucker
bestimmen, indem man seinen Namen angibt, z.B. bei unserem CIP-Drucker
namens "univers": "export PRINTER=univers Welches Druckkommando für welches Dateiformat?Einen Standard-Ausdruck einer Text- (datei.txt) bzw. einer Postscript-Datei (datei.ps) erhält man durch den entsprechenden der folgenden Befehle: [martin@zip]$ a2ps MeinBrief.txt Bitte Papier sparen! Um eine Postscript-Datei verkleinert auszudrucken, so dass je z.B. 4 Seiten auf einer DIN A4 Seite gedruckt werden, muss man den "Number Of Pages"-Befehl zum Verkleinern dazwischenschalten: [martin@zip]$ psnup -4 Vorlesung.ps | lpr Analog dazu - Will man eine txt-Datei verkleinert ausdrucken, so dass je 4 Seiten auf einer DIN A4 Seite gedruckt werden, gibt man ein: [martin@zip]$ a2ps -4 MeinBrief.txt Dateien im PDF-Format druckt man, indem man sie mit dem Programm Acrobat Reader öffnet, und darin den Drucken-Befehl aus dem Menü wählt: [martin@zip]$ acroread vorlesung.pdf Um PDF-Dateien papiersparend zu drucken, wandelt man sie mit dem Kommando pdf2ps in eine gleichnamige Postscript-Datei um, und behandelt sie dann wie oben für .ps-Dateien beschrieben.: [martin@zip]$ pdf2ps vorlesung2.pdf Druckerprobleme, Druckauftrag abbrechen Du hast einen Druckauftrag abgesendet, aber es passiert nichts? Um rauszufinden, wieviele Druckaufträge noch darauf warten, bearbeitet zu werden, oder ob Fehler aufgetreten sind, sollte man einen Blick in die Warteschlange ("queue") werfen -- und nie den Druckbefehl einfach mehrmals absenden!! [martin@zip]$ lpq Wenn der oberste Druckauftrag in der Warteschlange "klemmt" (erkennbar an dem Wort "stalled"), muss derjenige, der ihn abgesendet hat, ihn abbrechen. Dazu oder allgemein zum Abbrechen von Druckaufträgen benutzt man den befehl lprm. [martin@zip]$ lprm
DateizugriffsrechteBetrachtet man die detaillierten Informationen über den Inhalt eines Verzeichnisses mit "ls -la" (siehe oben), bekommt man in der linken Spalte auch die aktuellen Zugriffsrechte der Dateien und Verzeichnisse gezeigt: [martin@zip]$ ls -la Aaahja. Häää??Allgemein: Die Buchstaben-Strich-Kombinationen, wie z.B. 'drwxr-xr-x', zeigen die Zugriffsrechte:
Die folgenden 9 Buchstaben sind drei Dreiergruppen:
Beispiel:
Um diese Rechte zuzuweisen, gibt es zwei Methoden, beide können das selbe. Die erstere benötigt manchmal zwei Schritte, ist aber für Anfänger leichter. Die zweite erledigt alles in einem Schritt, ist aber schwieriger auswendig zu lernen. Zugriffsrechte ändern -- Methode 1Mit dem Befehl ChangeMode weist der Besitzer von Dateien den Gruppen ihre Rechte zu. Dabei gibt es folgende Argumente, bestehend aus drei Teilen:
Das Kommando ls -l zeigt, dass das Verzeichnis 'Studium' in diesem Beispiel anfangs alle Rechte (rwx) für alle gesetzt hat. Will man jetzt z.B., dass group und other nun für dieses Verzeichnis und andererseits dessen ganzen Inhalt (*) nur noch Read- und Execute-Permission (rx) haben, würde man folgendes eingeben: (zur Veranschaulichung der Änderungen steht jedesmal noch die Anzeige von 'ls -l' dabei; ls -l musst Du selbst nicht jedesmal eintippen): [martin@zip]$ ls -l Studium Nun möchte der Besitzer eine einzelne Datei hallo.txt seiner Gruppe zugänglich machen, indem er ihr Schreibrechte zuteilt: [martin@zip]$ ls -l hallo.txt Um eine wichtige Datei so sicher zu machen, dass nicht einmal der Besitzer selbst sie versehentlich löschen kann, nimmt er sich selbst die Write-Permission für die Datei. Zusätzlich schützt er sie noch durch den dritten Befehl vor den Blicken und Zugriffen anderer: [martin@zip]$ chmod u-w wichtig.txt Auch wenn der Besitzer sich selbst einmal die Rechte für seine Dateien oder Verzeichnisse genommen hat, hat er natürlich immer die Möglichkeit, sich diese Rechte an seinen Dateien mit dem chmod-Befehl wieder zurückzugeben! Zugriffsrechte ändern -- Methode 2Der Befehl ChangeMode kann die Rechte auch in einem Schritt setzen, unter Zuhilfenahme eines geekigen oktalen Bit-Feldes. :-) Man stelle sich die drei Gruppen "user", "group" und "other" jeweils als Stellen einer dreistelligen Zahl vor:
Desweiteren ist jedem Recht ein Zahlenwert zugeordnet:
Will man nun bestimmten Gruppen bestimmte Rechte für Dateien geben/nehmen, addiere man die Zahlenwerte der gewünschten Rechte, und verwende sie als die betreffenden Stellen einer dreistelligen Zahl. Will man z.B. sich selbst an der Datei "Dokument.txt" alle Rechte geben (read, write und execute, also 4+2+1 = 7), der Gruppe nur "read" (read = 4), und "other" soll gar keine Rechte erhalten (= 0), dann gibt man ein: [martin@zip]$ chmod 740 Dokument.txt
SicherheitIn einem Multi-User-System sind die einzelnen Bereiche immer mit einem Passwort geschützt. Es gibt aber Cracker-Programme, die Wörterlisten mit typischen Passwörten wie Personennamen oder Geburtstagen durchprobieren! Ein sicheres Passwort...
Wozu Sicherheit?Zugang zu Computern zu bekommen hat für Cracker einen großen Wert -- vor allem, wenn sie unter dem Namen einer anderen Personen teure Pornoseiten ansehen oder unerwünschte Massen-eMails versenden, oder die Festplatten anderer ohne deren Wissen als Dateien-Lagerraum für illegale Tauschbörsen nutzen können. Es wurde auch schon von Crackern versucht, zahlreiche gecrackte PCs gleichzeitig unter ihre Kontrolle zu bringen, um Denial-Of-Service-Attacken auf 'unbeliebte' Server zu starten. Auf den ersten Blick sieht es dann so aus, als ob Du an der Attacke oder den Spam-eMails etc. schuld wärest...Passwort ändernMit dem Password-Befehl ändert man sein Passwort. Dabei wird man erst aufgefordert, sich zu identifizieren, indem man sein aktuelles Passwort eingibt. Dann gibt man das neue ein, und um sicherzugehen, dass man sich nicht vertippt hat, noch ein zweites Mal das neue. Die Änderung gilt nur für Euer Linux-Account. [martin@zip]$ passwd Achtung, es kann vorkommen, dass die Tastaturbelegung nicht mit dem übereinstimmt, was auf der Tastatur aufgedruckt ist! Zum Beipsiel, wenn eine deutsche Tastatur an einem Rechner angeschlossen ist, der eine US-Amerikanische Tastaturbelegung hat. Dann liegen alle Sonderzeichen woanders, Buchstaben wie z und y sind vertauscht, und Ihr tippt Eurer Passwort unwissentlich falsch ein... Deswegen darf ein Passwort keine (deutschen) Umlaute oder sonstige sprachspezifischen Zeichen enthalten.
DiskettenAuch wenn Linux an sich keine Probleme mit langen Namen hat, werden die Dateinamen auf DOS-Disketten trotzdem auf 8+3 Zeichen gekürzt dargestellt. Vorsicht, häufige Fehlerquelle: Die folgenden Befehle
funktionieren natürlich nur auf dem lokalen Rechner
- d.h. nicht in einem "Zip"- oder "Gnome"-Fenster! (Die Server haben kein Diskettenlaufwerk -- aber viele Leute inklusive mir probieren das trotzdem regelmäßig) ;-)
Es gibt zwei Möglichkeiten, um unter Linux auf DOS-Disketten zuzugreifen, einerseits 'mTools' und andererseits 'mount'. Methode 1 -- Disketten nutzen mit mToolsIn den Folgenden Beipsiel sei 'tree' der Name des lokalen CIP-Raum-PCs. Den Inhalt der Diskette im Laufwerk A anzeigen: [martin@tree]$ mdir Eine Datei bzw. ein Verzeichnis von der Festplatte auf die Diskette kopieren: [martin@tree]$ mcopy Datei.jpg a: Eine Datei von der Diskette in ein Verzeichnis auf der Festplatte, bzw ins aktuelle Verzeichnis kopieren: [martin@tree]$ mcopy a:Datei.jpg ZielVerzeichnis/ Ein leeres Verzeichnis auf der Diskette erstellen: [martin@tree]$ mmd a:neuesVerzeichnis/ Ein Verzeichnis samt Inhalt(!!), bzw eine Datei von der Diskette löschen: [martin@tree]$ mdeltree a:bloedesVerzeichnis/ Die Größe einer Datei bzw Die Gesamtgröße aller Dateien auf der Diskette ermitteln: [martin@tree]$ mdu a:Datei.txt Eine Datei innerhalb der Diskette verschieben: [martin@tree]$ mmove a:Datei.txt a:Verzeichnis/ Methode 2 -- Disketten nutzen mit MountAlternativ kann man den Inhalt der Diskette auch in einem Verzeichnis sichtbar machen (= mounten). Die Befehle, die das Wort 'floppy' enthalten, gelten für Diskettenzugriff, die die das Wort 'cdrom' enthalten, machen das selbe für Daten-CDs. [martin@tree]$ mount /mnt/floppy Ab jetzt sind die Dateien von der Diskette im Pfad /mnt/floppy/ bzw. die von der CD-ROM in /mnt/cdrom/ zugänglich und können solange von dort mit ganz normalen Linuxkommandos kopiert, gelesen, bearbeitet werden. Am Ende: Unmounten nicht vergessen! Bevor ihr geht und die Diskette auswerft, müsst ihr das Laufwerk wieder freigeben, sonst blockiert ihr es: Eine gemountete CD kann man nicht auswerfen, eine gemountete Diskette zwar schon, aber es kann keine weitere gemountet werden, bevor die vorhergegangene nicht abgemeldet wurde. Dazu gibt es jeweils die Kommandos: [martin@tree]$ umount /mnt/floppy Tipp: Falls sich eure Diskette nicht mounten lässt, da Euer Vorgänger gegangen ist ohne sie zu unmounten: CIP-Raum-Rechner mit <CTRL>+<Alt>+<F1> und <Strg>+<Alt>+<Entf> neustarten.
Diverse nützliche BefehleDateien Lesen Den Inhalt von (ASCII-)Textdateien
zeigt man mit den Kommandos 'more' oder 'less' an.
More zeigt zusätzlich noch an, wieviel Prozent der
Datei schon gezeigt worden sind. Die Ausgabe ist read-only, d.h., man kann keine
Änderungen machen. Blättern wie immer mit <SPACE>
und <RETURN>, Datei verlassen mit <q>, Wort suchen
mit "/suchwort [martin@zip]$ more Brief2.txt [martin@zip]$ less Brief3.txt KonkatenierenMehrere Text-Dateien aneinanderhängen und ausgeben, read-only, ohne blättern (Sinnvolle Verwendungszwecke siehe Befehlsverkettung): [martin@zip]$ cat TextEins.txt TextZwei.txt Bildschirm leerenClear leert die Bildschirmanzeige des Shell-Fensters. [martin@zip]$ clear Die ZeitDas aktuelle Datum und Uhrzeit ausgeben: [martin@zip]$ date Dateien SuchenDrei Methoden, um eine Datei zu suchen: (Es sind nicht immer alle installiert) Groß- und Kleinschreibung bei Dateinamen beachten! [martin@zip]$ whereis Spiele In Dateien SuchenEine sehr flexible Möglichkeit, eine Zeichenkette zu finden, ist Get Regular Expression Pattern, "grep". Es gibt einem alle Zeilen aus, in denen das gesuchte Wort/der gesuchte Ausdruck vorkommt. Dieser Befehl wird oft und gerne an allen möglichen Befehlen als Filter verwendet. Erst der Suchbegrif, dann der Suchort. Groß- und Kleinschreibung beachten! [martin@zip]$ grep verschollenes_wort GrosseDatei.txt Dieser etwas komplexere Ausdruck sucht das 'bla' in allen Dateien, auch in Unterverzeichnissen, die auf .txt enden: [martin@zip]$ find * -name "*.txt" -print | xargs grep bla Ordnung schaffenSortieren des Inhalts einer Textdatei: [martin@zip]$ sort Liste.txt Sicherer BildschirmschonerxLock ist ein Bildschirmschoner z.B. in FVWM2, der nur durch Eingabe des Passwortes des eingeloggten Users wieder ausgeschaltet werden kann. Die einzige andere Möglichkeit, das 'lock' zu durchbrechen, ist den PC neuzustarten. [martin@zip]$ xlock FingerWenn Du wissen willst, welche Login/eMail-Adresse ein Komiltone hat, oder welche Login zu welcher Person gehört, durchsuchst Du die Liste aller im CoLi-Netzwerk angemeldeten Personen mit dem Kommando "finger": Wenn Du z.B. herauszufinden wolltest, wer "mayer" ist, und ob er/sie gerade online ist, wie lange er/sie schon kein Mail mehr gelesen hat, u.v.m., sähe das z.B. so aus: [martin@zip]$ (~) $ finger mayer Du bestimmst selbst, was anderen als Deinen "Plan:" angezeigt wird. Dazu schreibst Du Deine Projekte/Hobbies, Kontaktmöglichkeiten, etc. in eine Datei, die Du ".plan" nennst. Solange diese Datei in Deinem Verzeichnis liegt, und die Leserechte für die Gruppe (bzw alle anderen auch) gesetzt hat, wird ihr Inhalt allen gezeigt, die nach dir mit "finger" suchen. Ansonsten wird von 'finger' kein Plan gezeigt. Kleines Beispiel für die schnelle Erstellung einer Plan-Datei: [martin@zip]$ echo "Wer spielt mit mir Go?" > .plan [martin@zip]$ chmod a+r .plan Speicherplatz sparenViele Dozenten stellen ihre Skripte als komprimierte Dateien zum Download bereit, diese erkennt man an der Datei-Endung '.gz' oder '.zip'. Man kann sie nur drucken und ansehen, wenn man sie vorher wieder auspackt! Mit GnuZip lassen sich grosse Dateien handlich komprimieren, mit GnuUnzip lassen sich (wie im 2. Beispiel) solche Dateien wieder öffnen: [martin@zip]$ gzip Datei Möchte man mehrere Dateien zu einem Archiv namens Mein_Archiv.tar zusammenschliessen, bzw (wie im 2. Beispiel) ein solches Archiv wieder öffnen, verwendet man "tar": [martin@zip]$ tar -cvf Mein_Archiv.tar verzeichnis/* Eine Kombination von 'tar' und 'gzip' erkennt man an der Endung -tgz. Das 1. Beispiel zeigt, wie man solche komprimierten Archive erstell, das 2. wie man sie wieder auspackt: [martin@zip]$ tar -cvzf Mein_Archiv.tgz verzeichnis/*
Verkettung von LinuxkommandosPipesMit dem Pipe genannten Symbol "|" lassen sich Linux-Befehle verketten. Dadurch vervielfältigen sich die möglichen Funktionen! Häufig werden z.B. "grep" und die Pipe zusammen als Filter eingesetzt. Auch wenn Ihr anfangs den Dreh noch nicht raushaben solltet, selber effiziente Pipes zu schreiben, wird es dennoch nützlich sein, die hier in den Beispielen vorgestellten Befehle zu kennen und zu benutzen. Möchte man z.B. herausfinden, ob man selbst Verzeichnisse herumfliegen hat, bei denen seine "group" write-Permission hat, leitet man den "alles detailiert auflisten"-Befehl ("ls -la") an das Filter-Kommando 'grep' oder 'egrep' weiter, der das Ergebnis auf das gewünschte Permission-Muster "d...rw" hin filtert, und dann erst das Ergebnis ausgibt: [martin@zip]$ ls -al | egrep "d...rw" Oder wenn die Ausgabe eines Befehls wie ls oder cat nicht auf eine Bildschirmseite passen sollte, 'pipe't man ihn an die Lesebefehle "less" oder "more"; dann blättert man die Ausgabe mit <space> und <return> durch, zum Aufhören tippt man <q>. [martin@zip]$ ls -al | more AusgabeumleitungenStatt dass ein Befehl sein Ergebnis standardmässig ausgibt
(ins Shell-Fenster), kann er ihn auch mit Hilfe der Ausgabeumleitung
">" in eine Datei schreiben, wenn man das Ergebnis
speichern will. Im 1. Beispiel wird eine Datei sortiert und unter einem neuen Namen gespeichert; im 2. wird die ausführliche Liste aller Dateien in diesem Verzeichnis als Datei gespeichert; im letzten werden zwei Dateien aneinandergehängt (konkateniert) und als neue Datei gespeichert. [martin@zip]$ sort meineListe.txt > sortierteListe.txt Um die Ausgabedaten an eine schon existierende Datei anzuhängen, ohne diese zu überschreiben, nimmt man >> statt >: [martin@zip]$ ls -al >> Liste.txt Analog dazu kann man auch die Eingabe eines Befehls mit < zu einer Datei hin umleiten, aber das benutzt man nur selten.
Netzwerk, Portsurfen, u.a.EinloggenUnter Linux kann man sich mit verschiedenen Befehlen direkt über das Netzerwek bei einem Server-Rechner einloggen. Um weiter als nur bis "vor die Haustür" des Servers zu kommen, braucht man eine Login und ein Passwort dort. Ihr könnt Euch z.B. von zu Hause aus mit Eurem Passwort und Eurer Login auf gnome.coli.uni-sb.de (dem Server der CoLi) einloggen, um Eure Mail abzurufen etc (normalerweise nur Textmodus). Es gibt zwei Befehle zum Fern-Einloggen im Netzwerk, telnet oder ssh. Mit SSH stellt man eine sichere Verbindung her, wohingegen bei der mit Telnet hergestellten Verbindung theoretisch die Gefahr besteht, dass das Passwort abgefangen werden kann. Deswegen verweigert die CoLi Kontaktierungsversuche mit telnet von aussen (seit WS02/03). Von außen funktioniert nur noch eine Kontaktierung via SSH2, telnet funktioniert nur intern. Von zu Hause an der CoLi einloggen: (SSH installieren)[martin@zuhause]$ ssh gnome.coli.uni-sb.deVon zip zu gnome (intern):[martin@zip]$ ssh gnome Um die Verbindung zu Unterbrechen, tippt man in beiden Fällen: [martin@gnome]$ exit PingMit Ping (benannt nach dem U-Boot-Echolot-Geräusch?) lotet man aus, ob andere 'lebende' Rechner im Netzwerk sind. Wenn sie auf ein 'Ping' antworten können, weiss man, dass sie an sind; wenn die Antwort verspätet oder gar nicht kommt, gibt es Verbindungsprobleme -- daran erkennt man man, entweder ist der Zielrechner aus, oder das Netzwerk ist generell überlastet, oder Du bist gar nicht online. ;-) [martin@zip]$ ping gnome.coli.uni-sb.de Um das Pingen zu Unterbrechen, und die Endergebnisse angezeigt zu bekommen, tippt man ^C. Den Ping länger als ein paar Sekunden laufen zu lassen, behindert den Netzwerkverkehr, und da man bei jedem Ping seinen Absender in alle Welt posaunt, kann man übrigens als Störendfried sofort identifiziert werden! Dateien hoch- oder runterladenUm Dateien auf einen Server hochzuladen bzw sie von dort runterzuladen (wenn man z.B. seine Homepage aktualisieren will), stellt man eine sogenannte FTP-Verbindung mit dem FTP-Server her (FTP = file transfer protocol) : [martin@zip]$ ftp ftp.coli.uni-sb.de Die gewünschte Datei läd man innerhalb des ftp-Terminalprogrammes runter mit dem Kommando: get alterIndex.html Um eine Datei hochzuladen gibt man ein: put neuerIndex.html Auf einem Fremden Server angekommen geht es meist weiter mit "man" oder "help" oder "?", "ls", "cd", etc. Indem man die Hilfen liest, lernt man auch bei anders als gewohnt konfigurierten Servern was dazu.
eMail und ChatUm einfach und unkompliziert eine eMail abzuschicken, verwendet man den mail-Befehl. Nach einem return ist eine geschriebene Zeile nicht mehr änderbar. Den fertigen Brief schickt man durch die Eingabe von <RETURN> und dann EOF ab (Um EOF zu erhalten, tippt man <STRG>+D). [martin@zip]$ mail freund@universitaet.de Ansonsten besteht natürlich auch die Möglichkeit, seine Mail mit Mozilla oder Netscape oder Evolution zu schreiben und zu empfangen. Will man aber regelmäßig im Textmodus Mail schreiben, sollte man sich mit einem der zwei eMail-Programme pine oder elm bekanntmachen. eMail-WeiterleitungMit Linux lassen sich in der Mailbox dieses Servers ankommende eMails an eine andere eMail-Adresse weiterleiten. Dazu erstellt man eine versteckte Datei namens ".forward", in die man die eMail-Adresse(n) einträgt, an die man seine eMails von nun an weitergeleitet haben möchte. [martin@zip]$ echo "abc@mail.com" > .forward Oder [martin@zip]$ emacs .forward ... und dann in emacs die neue Adresse von Hand in die Datei eintragen,
speichern, und emacs beenden. [martin@zip]$ echo "\ich@uni.de, abc@mail.com" > .forward eMail-Signatur:Will man an seine eMails eine Signatur hinzufügen, schreibt man diese in eine versteckte Datei namens ".signature". Deren Inhalt (Werbung fü,r Deine Webseite, Kontaktmöglichkeiten, eine Spruch) wird dann an jedes abgesandte eMail angehängt und sollte nicht länger als 4 Zeilen sein. [martin@zip]$ emacs .signature und nun einen Spruch oder irgendwas eintippen, speichern, und emacs beenden, oder in einem Schritt [martin@zip]$ echo "Linux rulez!" > .signature Linux-ChatMit dem Kommando Write sendet man kurze Nachrichten direkt auf ein Shell-Fenster einer anderen auf dem selben Server eingeloggten Person. Dazu muss man die Login des Benutzers kennen, mit dem man quatschen möchte. Da man auf seinem lokalen Rechner recht allein ist, funktioniert dieser Befehl nur sinnvoll in einem Server-Fenster (zip, gnome, etc)! Eine fertige Nachricht schliesst man ab mit einer leeren Zeile und EOF (= <STRG>+D ).Wenn der Empfänger auf dem selben Server (bei uns also 'Gnome') eingeloggt ist (Überprüfe das zuvor mit "who"): [martin@gnome]$ write denise Das offiziell korrekte "write"-Verhalten!
(Sonst gibt's Buchstabensalat) :-) Das Kommando Talk ermöglicht es zwei Personen direkt zu chatten. Dazu wird das Shell-Fenster für beide in zwei Hälften geteilt, in denen der getippte Text sofort erscheint. Der Partner muss den Talk "annehmen", damit es funktioniert, indem er selbst auch einen "talk" an den anderen startet. Den Dialog beendet man beidseitig mit <strg>+C. Wenn der Gesprächspartner gerade auf dem selben Server eingeloggt ist (Überprüfe das zuvor mit "who"): [martin@zip]$ talk denise NettiketteWenn Du Deinen Gesprächspartner in der who-Liste entdeckt und ihm mit write oder talk geschrieben hast, kann es vorkommen, dass er nicht antwortet, weil er gerade nicht in sein Terminal-Fenster schaut. Es ist zudem nicht die feine englische Art, wild in anderer Leute Shell-Fenster
Nachrichten erscheinen zu lassen, vielleicht benutzen sie diese ja gerade... Man sollte sich daher vorher einigen,
in welchem Shell-Fenster man chatten will -- oder durch die Eingabe von
"w [martin@gnome]$ w Man sollte seinem Gesprächspartner (z.B. Denise) nur direkt in dessen leere '-bash'-Fenster eine Nachricht schreiben, (hier wäre das z.B. Fenster Nummer 'pts/0'): [martin@zip]$ write denise pts/0 Tipps:
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
http://www.ruthless.zathras.de/ |