Unix-Befehle für Anfänger

~~~ Hier wird weiter gebaut von Sabine ~~~

siehe auch Bildbearbeitung auf Kommandozeilenebene


Hilfe ok Infos ok Datei · Text ok Löschen ok Sortieren ok Prozesse ok Dateisuche ok Bild-Tools! ok
Basics ok Kopieren ok Uhrzeit ok Umbenennen ok Installieren Rechte Stringsuche ok M-Tools ok
nach oben
Hilfe
Geplante Aktion Unix bewirkt Unix-Kommandozeile
Praktisches Beispiel
Hilfe ausführlich man Zeigt ausführliche Hilfe zu Unixbefehl man ls
Manual, Handbuch (englischsprachige Hilfe) zu allen Parametern eines Befehls.
Hilfe einfach whatis Zeigt Kurzinfo zu Unixbefehl whatis ls
Erklärung wird zweisprachig geliefert
In den Manpages suchen apropos Sucht einen Begriff in den Manual-Seiten und gibt alle Fundstellen aus. Genial :-) apropos formatted
Zeigt eine Liste der Fundstellen, in denen das Wort formatted vorkommt.
nach oben
Infos
Speicherplatzverbrauch bzw. -ressourcen df Zeigt mir die Plattenbelegung einzelner Partitionen. df -H
Es wird übersichtlich angezeigt, wie die Platten belegt sind.
Wer arbeitet am System? who Zeigt mir angemeldete Benutzer und Terminals who
Es werden angemeldete Benutzer angezeigt
Wer bin ich?whoami Zeigt mir angemeldeten Benutzer und Terminals whoami
Es werden Benutzername, Terminalbezeichnung und Anmeldezeit angezeigt
Wo bin ich?pwd Zeigt, in welchem Verzeichnis ich mich gerade wirklich befinde: aktuelles Directory mit absoluter Pfadangabe. pwd
Im Moment befinde ich mich zum Beispiel hier: /home/user/t/
Wer verbirgt sich unter europäischer / dt. IP? whois Personen- / Firmendaten zu einer IP oder Domainnamen anzeigen lassen whois -h whois.ripe.net was.weiss.ich.de
Europäische IP-Adressen + Domains anzeigen lassen
Wer verbirgt sich unter amerikanischer bzw. internat. IP? whois Personen- / Firmendaten zu Ami-IP-Adressen anzeigen lassen whois -h whois.arin.net 123.123.123.123
Internationale IP-Adressen anzeigen lassen
Datum anzeigen date Zeigt aktuelles Datum date +"%d"."%m"."%y"
Gibt Datum aus mit Tag, Monat, Jahr
Infos zu mount count tune2fs Zeigt oder setzt den mount count (nur als root) tune2fs -l /dev/hda1 | grep "[Mm]ount count"
Zeigt, wie oft die Platte vor dem nächsten Plattencheck schon gebootet wurde, und wie hoch der mount count eingestellt ist.
tune2fs -c 50 /dev/hda1
Plattencheck statt nach z.B. 20 Bootvorgängen erst nach 50 durchführen (Zähler für mount count hochsetzen).
nach oben
Uhrzeit
Uhrzeit anzeigen date Zeigt aktuelle Uhrzeit date +%H.%M.%S
Gibt Uhrzeit aus mit Stunden, Minuten, Sekunden
System-Uhrzeit stellen unter Unixdate Die Uhrzeit kann nur von root verändert werden. date -s 10:05
Systemuhr (bis zum nächsten Rechner-Neustart) auf 10:05 Uhr stellen. Also: zuerst die Systemuhr stellen, und dann die Hardware-Uhr danach ausrichten (siehe hwclock).
Hardware-Uhrzeit einstellenhwclock Hardware-Uhr kann ebenfalls nur von root verstellt werden. hwclock --systohc
Hardware-Uhr übernimmt die mit date eingestellte Systemzeit. Zeit bleibt dann auch nach Rechner-Neustart erhalten.
nach oben
Basics
Diskette lowlevel formatieren fdformat Rohformatierung einer 3.5 Zoll Diskette fdformat /dev/fd0H1440
Diskette wird lowlevel-formatiert.
Diskette formatieren mformat 3.5 Zoll Diskette mit 1440 kb unter Unix formatieren für Dos mformat -t80 -h2 -n18 -ldiskname a:
Die Diskette braucht vor dem Formatieren nicht gemountet werden, da "mformat" aus den mtools stammt.
Rechner runterfahren shutdown Mit einem Befehl kann der PC heruntergefahren und wieder neu gebootet werden. shutdown now -f -r
-f skip fsck on reboot (verhindert einen Festplattencheck beim Neustart
-r reboot after shutdown: PC wird nach dem Runterfahren neu gestartet. Der häufigste Fehler bei Verwendung des shutdown-Befehls ist, dass keine Zeitangabe gemacht wird (hier: now)
Dateien auflisten ls Listet Inhalt eines Verzeichnisses auf. ls -R
-R listet auch Dateien der Unterverzeichnisse mit auf, -l bedeutet ausführlich, lange Form der Auflistung, -t nach Änderungsdatum sortiert.
Dateien auflisten ls Standardanzeige ist Monat-Tag-Uhrzeit für das aktuelle Jahr, für ältere Dateien Monat-Tag-Jahr. ls -l --full-time
Auflistung mit ausführlicher Datum- und Zeitangabe, auch für das aktuelle Jahr!
Dateien auflisten ls Standardmäßig wird die Ausgabe am Bildschirm angezeigt. Sie lässt sich aber auch in eine Textdatei umleiten. ls -R > beliebig.txt
Erzeugt eine Datei beliebig.txt, in der das Ergebnis der Auflistung inkl. Unterverzeichnissen zu finden ist.
Verzeichnis anlegen mkdir Neues Verzeichnis mit neuen Unterverzeichnissen anlegen mkdir -p test/test2/test3
Legt gleichzeitig mehrere Verzeichnisse hintereinander an
Verzeichnis wechseln cd Ohne Parameter wechselt cd ins Home-Verzeichnis cd ..
Ein Leerzeichen und zwei Punkte nach dem Befehl: Ein Verzeichnis nach oben wechseln. Unter DOS war das Leerzeichen nicht nötig.
Ins Verzeichnis einer Diskette verzweigen cd Man kann auch von der Festplatte auf eine Diskette verzweigen. cd /floppy/
Wechseln in das Rootverzeichnis der Diskette, sofern sie schon gemountet ist.
Diskette mounten mount Mountet eine Diskette mount /floppy/
Die Floppy wird ins Dateisystem eingebunden
nach oben
Prozesse
Speicherressourcen überwachen zeigen top Liste der laufenden Prozesse anzeigen mit Angaben zu Hauptspeicherbelastung top
Es werden Priorität, Größe, CPU- und Hauptspeicherbelastung angezeigt und laufend aktualisiert.
Aktuelle Prozesse zeigen ps Zeigt an, welche Prozesse im Moment laufen ps -efl
-e Anzeige aller Prozesse, -f volles Format, -l mit allen Attributen, -x alle Systemprozesse
Prozess killen kill Bricht einen Prozess sicher ab, der sich sonst nicht mehr stoppen lässt kill -9 (PID)
Abzubrechender Prozess wird gestoppt und aus dem Speicher entfernt
nach oben
Suche nach Dateien
Suche nach Dateinamen in einem oder mehreren Verzeichnissen locate Durchsucht blitzartig alle Verzeichnisse und indiziert das Suchergebnis, so dass es auch am nächsten Tag noch zur Verfügung steht. locate index.html
Alle Dateien namens "index.html" werden aufgelistet. Es können auch Platzhalter verwendet werden, wie "*.pdf"
Finden einer bestimmten Datei, deren Dateiname bekannt ist find Das angegebene Verzeichnis mit allen darunterliegenden Unterverzeichnissen werden durchsucht. find ordner/ -type f -name "index.htm"
Alle Dateien namens "index.htm" werden aufgelistet.
Finden von Dateien, die in den letzten 2 Tagen geändert wurden find Es wird vom aktuellen Verzeichnis ausgegangen und es werden alle Unterverzeichnisse durchsucht find . -mtime -2 -print
Das Suchergebnis wird auf dem Bildschirm ausgegeben
find . -mtime -2 -print >2tage.txt
Das Suchergebnis wird in der Textdatei 2tage.txt gespeichert
nach oben
Suche nach Strings
Unterverzeichnisse nach String durchsuchen find, xargs Durchsucht Verzeichnisse nach Zeichenkette find ordner/ -type f -name "*.htm" | xargs grep -l spinne
Durchsucht auch HTML-Dateien in Unterverzeichnissen nach "spinne". Trick: Kombination von Pipe "|" mit "xargs" Befehl.
Suchen - ersetzen sed Zeichenkette in Datei suchen und durch andere Zeichenkette ersetzen sed 's/daß/dass/g' aufsatz.tex
Ersetzt jedes Wort ``daß'' durch das Wort ``dass'' in der Datei aufsatz.tex
Suchen - ersetzen mit Sicherung sed Zeichenkette in Datei suchen, durch anderen String austauschen, Datei unter anderem Namen speichern sed 's/paragraph/Absatz/g' datei.tex > dateineu.tex
Ersetzt jedes Wort ``paragraph'' durch das Wort ``Absatz'' in der Datei datei.tex und schreibt das Ergebnis in die Datei dateineu.tex
Datei(en) nach String durchsuchen grep Durchsucht Dateiinhalte nach bestimmten Wörtern oder Zeichenketten grep "Nachtigall" *.htm
Sucht das Wort "Nachtigall" in HTML-Dateien im aktuellen Verzeichnis
nach oben
Löschen
Bestimmte Verzeichnisse löschen rm In vielen Unterverzeichnissen nach .xvpics suchen und diese samt Inhalt löschen find * -name .xvpics | xargs rm -r
Die .xvpics sind Verzeichnisse mit Thumbnails, die beim Bilderbetrachten angelegt werden.
Datei löschen rm unwiederbringlich eine Datei löschen rm -i dateiname
Mit Parameter -i muss die Löschung erst mit "y" bestätigt werden
Verzeichnis löschen rmdir Verzeichnisse werden gelöscht, sofern sie leer sind. rmdir -r
Es wird rekursiv gelöscht, d.h. auch alle darunterliegenden leeren Unterverzeichnisse.
Druckauftrag löschen lprm Druckaufträge löschen, die unter meinem Namen laufen. lprm -
Als Root lösche ich sämtliche Druckaufträge aller User, sonst nur meine eigenen.
nach oben
Umbenennen
Datei umbenennen mv Dateien oder Verzeichnisse werden umbenannt oder verschoben. mv datei.alt datei.neu
-b sichert Dateien vor dem Überschreiben, -f überschreibt rücksichtslos, -i will Bestätigung vor dem Überschreiben vorhandener Zieldateien, -u überschreibt nur ältere Versionen gleichnamiger Zieldateien.
nach oben
Kopieren
Diskette kopieren ähnlich diskcopy unter DOS dd Gesamte Quelldiskette in eine Datei kopieren, dann diese Datei auf Zieldiskette dd if=/dev/fd0 of=disk1.img bs=18k
In unserem Beispiel heißt die Datei "disk1.img". Nach Diskettenwechsel dann die erzeugte Datei auf die Ziel-Diskette schreiben:
dd if=disk1.img of=/dev/fd0 bs=18k
Dateien von Diskette auf Festplatte kopieren und unverändert lassen cp unverändert kopieren cp -p -i /floppy/* .
Dateien unverändert von Diskette auf Festplatte ins aktuelle Verzeichnis kopieren, vor Überschreiben nachfragen
Dateien auf Diskette kopieren cp kopieren cp /home/user/*.* /floppy/
Dateien von Festplattenverzeichnis werden auf Diskette kopiert
Dateien kopieren, die geändert wurden, inkl. Unterverzeichnisse cp kopieren cp -r -u /home/user/*.* /floppy/
Alle Dateien (eines Verzeichnisses inkl. Unterverzeichnisse von Festplatte) auf Diskette speichern, die geändert wurden.
Dateien unverändert aus Linux- ins Win-Verzeichnis kopieren, die in den letzten 30 Tagen geändert wurden cpio Dateien seit einem bestimmten Änderungsdatum kopieren find . -mtime -30 -print | cpio -pvmd /windows/user/
Windowsverzeichnis muss vorher gemountet werden, Datum der Files bleibt unverändert.
Dateien von Diskette unverändert auf HD kopieren cpio kopieren find . -print | cpio -pvmd /home/user/daten/
Beim Kopieren von Dateien in Unterverzeichnissen Datum der Files unverändert lassen
Sicherungskopie eines Verzeichnisbaumes auf HD cp kopieren mit aktuellem Datum cp -pR /home/mein/  /home/dein/neues
Komplettes Verzeichnis wird in ein neues kopiert
nach oben
Sortieren
Dateiinhalt sortieren sort Sortiert Dateiinhalte nach verschiedenen Kriterien sort -fnr
-f Groß- und Kleinbuchstaben gleich behandeln, -n numerische Werte numerisch sortieren, -r in umgekehrter Richtung sortieren
Dateinamen sortiert in Textdatei schreiben ls Die Dateinamen eines Verzeichnisses sortiert nach Änderungsdatum (neueste oben in der Liste), in einer Textdatei auflisten. ls -c /home/user/*.* >ergebnis.txt
zeigt eine nach Datum sortierte Liste der Dateien im angegebenen Verzeichnis, nur Dateinamen
Datenbank sortieren sort wird zum Sortieren von Dateien oder Dateiinhalten benutzt sort -f -t":" -k2 quelle.txt > ziel.txt
Sortiert Datenbank nach Feld 2, ignoriert Groß- u. Kleinschreibung, der Doppelpunkt wurde als Trennzeichen definiert.
nach oben
Datei (Text)
Textdatei anlegen cat Text eingeben cat > dateiname
Eine neue Textdatei wird angelegt und geschrieben, STRG+D gespeichert.
Textdatei verändern cat Text erweitern cat >> dateiname
Vorhandene Textdatei wird erweitert
Führende Leerzeichen z.B. in HTML-Datei entfernen. sedentfernt in der Quelldatei die Leerzeichen und sichert die neue Datei mit anderem Namen sed 's/^ *//g' index.html > index_neu.html
Kennst du das auch? Du holst dir per Copy + Paste einen Textabschnitt aus dem Net, und der ist völlig unformatiert.. Und da hilft dieser Befehl!
Wörter zählenwc zählt Zeilen, Wörter und Buchstaben einer Datei wc -wlc
-w zählt words, -l zählt lines, -c zählt characters
nach oben
Programme unter Unix installieren
rpm-Datei installieren rpm Ein fertiges Package (rpm-Datei) als Root installieren. Vorher schauen, was für Pakete installiert sind. rpm -i package.rpm
In dem Package enthaltene Dateien werden entpackt, das Packet weiß schon, wo es hingehört :-) Evtl. muss noch die Readme oder Hilfedatei für weitere Schritte gelesen werden.
Nach installierten Packeten gucken rpm Bevor man ein Programm(packet) deinstallieren kann, muss man wissen, wie es genau heißt. rpm -q -a
Man kann sich diese große Übersicht auch in ein Textfile umleiten, um sie besser lesen oder darin nach Namen suchen zu können.
rpm-Packet de-installieren rpm Angenommen, ich will Opera V. 5 deinstallieren und weiß nun, dass er "opera-5.0-1" heißt: rpm -e opera-5.0-1
Nun wird Opera 5 deinstalliert, und danach kann man eine neuere Version neu installieren :-)
tar-File herstellen tar Alle html-Dateien in ein tar-File packen (auch die aus darunterliegenden Unterverzeichnissen) tar cvzf paeckchen.tgz  *.html
In der Datei "paeckchen.tgz" sind nachher alle Dateien inkl. Subdirectories enthalten, die den Dateinamenszusatz html haben.
tar-File auspacken tar tar-File wird entkomprimiert und samt seiner Unterverzeichnisse entpackt. tar xzf paeckchen.tgz
Die in dem tar-File enthaltenen Dateien werden entpackt, evtl. enthaltene Verzeichnisse hergestellt
nach oben
Oft benötigte Rechtevergabe
Geplante Aktion Unix bewirkt Unix-Kommandozeile
Praktisches Beispiel
Verzeichnis vor Auflistungszugriffen schützen chmod Verzeichnis schützen, wenn dort keine index.html oder index.htm o.ä. vorhanden chmod 711 verzeichnis
Der Inhalt eines Verzeichnisses, wie z.B. eines Bilderverzeichnisses, kann von außen nicht mehr aufgelistet werden. Sehr nützlich im Web!
Verzeichnis lesbar, benutzbar und für Webserver veränderbar machen chmod Ändert Zugriffsrechte auf Dateien und Verzeichnisse chmod 777 -R verzeichnis
Wird besonders für Webprojekte oft benötigt. Das Verzeichnis wird lesbar und benutzbar für die Welt, und der Webserver kann dort reinschreiben.
find . -type d | xargs chmod 777
find . -type f | xargs chmod 666
Damit setzt Du alle Verzeichnisse und alle Files auf Welt-schreibbar.
Script auf Server ausführbar machen chmod Ändert Zugriffsrechte und macht z.B. ein CGI-Script ausführbar chmod 755 gaestebuch.cgi
Das entsprechende Script wird ausführbar gemacht und kann auf einem Server benutzt werden.
FAQs zur Rechtevergabe

Wo hast du denn die Zahlen her? Ich meine, was bedeuten sie?

r = 4
w = 2
x = 1

r hat den Wert 4, w hat den Wert 2 und x hat den Wert 1.

Damit kannst Du alle Kombinationen aus r, w und x als eine Zahl zwischen 0 und 7 ausdrücken:

---     0
--x     1
-w-     2
-wx     3       ( = 2 + 1 )
r--     4
r-x     5       ( = 4 + 1 )
rw-     6       ( = 4 + 2 )
rwx     7       ( = 4 + 2 + 1)

rwx|rwx|rwx
Besitzer|Gruppe|Rest der Welt

Die "666" kann ich mir nicht erklären!

Die Permissions für jeden dieser drei Abschnitte kannst Du auch als eine Zahl von 0 bis 7 ausdrücken. Die Gesamtpermission also als eine dreistellige Zahl mit Ziffern zwischen 0 und 7.

Üblich sind:

644     rw-r--r--       ==> Besitzer darf lesen+schreiben, Rest nur Lesen.
600     rw-------       ==> Besitzer darf lesen+schreiben, Rest darf nix.
640     rw-r-----       ==> Besitzer darf lesen+schreiben, Gruppe lesen,
                                Rest darf nix.

Bei "chmod" kannst einzelne Permissions ändern:

        chmod g+w  file.ext

g+w     Schreiberlaubnis für Gruppe setzen
o-w     Schreiberlaubnis für Rest der Welt löschen
u+w     Schreiberlaubnis für Besitzer setzen
go+x    Ausführerlaubnis für Gruppe und Rest der Welt setzen
u+rwx   Alle Erlaubnisse für Besitzer setzen.

oder halt alle auf einmal.

Danke für die Erklärungen zur "chmod-Mathematik" :-) an den externer Link Wolf

Und zum Schluss noch ein seehr nützliches Helferlein zum Setzen von Rechten unter Unix, der Dateirechtesetzer:
externer Link www.gesamtschule-eiserfeld.de/gee/intranet/selfhtml/helferlein/chmod.htm

nach oben
Bildbearbeitung auf Kommandozeilenebene
Bildbearbeitung durch einzelne Kommandos
mittels netpbm-Tools
netpbm
pnmscale,
pnmcut
pnmflip
ppmtopgm
pnmgamma
pnmsmooth
Bilder scalieren, beschneiden, drehen, umrechnen in schwarz-weiß, heller oder dunkler machen, weichzeichnen Praktische Beispiele auf einer gesonderten Seite: http://nafoku.de/t/unix/pbm.shtml
 
Die netpbm-Tools sind eine sehr alte Sammlung von Routinen zum Manipulieren von Bildern. Das Prinzip:
1. in eines der Formate pbm, pgm oder ppm wandeln
   (b=bits, also s/w, g=grey, p=pixel, also Farbe)
   pnm steht für irgendeines der b/g/p
2. machen was man will
3. zurückwandeln
 
djpeg: jpeg -> pgm/ppm
cjpeg: pgm/ppm -> jpeg
 
pnmscale macht Größenveränderungen.
pnmflip macht Spiegelungen und 90° Drehungen:
-lr links<->rechts
-bt oben<->unten
-ccw drehen nach links 90°
-cw drehen nach rechts 90°
-r180 drehen um 180°

Lässt sich über den Pipemechanismus z.B. mit pnmscale verbinden.

Die Erläuterungen zu den pbm-Tools stammen vom Wolf

nach oben
MTools
Identisch mit Dos-Befehlen:
Unterscheidet sich nur durch das vorangestellte "m" :-)
mtools Zeigt alle verfügbaren Befehle der mtools an. mattrib, mbadblocks, mcat, mcd, mcopy, mdel, mdeltree, mdir, mdoctorfat, mdu, mformat, minfo, mlabel, mmd, mmount, mpartition, mrd, mread, mmove, mren, mshowfat, mtoolstest, mtype, mwrite, mzip (supported commands)
fdformat formatiert Disketten, erzeugt aber kein Dateisystem
mformat legt ein DOS-Dateisystem an


Mail-Adresse
e-Mail
Forum für
Naturfragen
Gäste-
buch
Fotos von
Wildblumen
Foto des
Tages
Mein
Naturtagebuch
HOME
 
w3.org Externer Link: Valid CSS!  
Seit 5. April 2008: X-Stat.de

1998 bis heute © Sabine Jelinek
Nafoku Natur- und Fotokunst