LINUX - BASH

bash = bourne again shell
ermöglicht die Eingabe und Ausführung von Linux-Kommandos -> Kommandointerpreter

Aufbau eines Befehls:
Befehl    -Parameter    Dateiname

WICHTIG: Linux unterscheidet zwischen Gross- und Kleinbuchstaben.

Passwort ändern:

Passwörter sind in der Datei: /etc/passwd gespeichert.
Anschauen der Datei: more /etc/passwd (Zeigt Dateien seitenweise an)

Suchen einer Bestimmten Zeile in der Datei:
grep suchmuster datei
Beispiel: grep cha /etc/passwd

Passwort ändern:
passwd -> ohne Username, wird nach dem aktuellen User gefragt. Zuerst muss das alte Passwort eingegeben werde, dann 2 mal das neue.

 

Aktuelles Verzeichnis auflisten (oder relatives oder absolutes Verzeichnis -> siehe unten):

ls -l (siehe auch Manual man ls) (listet aktuelles Verzeichnis, Paremeter -l = long)
(abrechen ctrl. + z)

Beispiel:
drwxr-xr-x 2 cha users 512 Oct 15 2000 doku
-rw-r--r-- 1 cha users 3555 Apr 22 2001 enter.htm
drwxr-xr-x 2 cha users 512 Nov 29 2005 hellmann
-rw-r--r-- 1 cha users 886 Oct 15 2000 index.htm
-rw-r--r-- 1 cha users 866 Aug 16 2000 index_alt.htm
-rw-r--r-- 1 cha users 12900 Feb 29 2004 index_bild1.gif


drwxr-xr-x
/ 5 / cha / users / 2048 / Mar 8 2003 kreatural

Berechtigungen / Anzahl Links / Besitzerin / Gruppe / Dateigrösse in Bytes / Datum letzte Mutation / Name

drwxr-xr-x : d = Directory (Verzeichnis), sonst ist es eine Datei

Zugriffsrechte auf Dateien und Verzeichnisse:
-rwxr-xr-x :
r = read
w = write
x = execute
die erste Dreiergruppe steht für user, die zweite für group und die dritte für all (oder world)
user ist der oder die BesitzerIn der Datei, user können Mitglied einer Gruppe sein und all sind die Rechte, die alle andern haben.

im Beispiel: die Userin hat Lese-, Schreib- und Ausführungsrechte, die Gruppe und der Rest der Welt nur Lese- und Ausführungsrechte.

Ändern der Rechte (change mode):
chmod a+x index.html
(a für alle, + für zufügen und x für das Recht von execute)

Alternative: chmod und Oktalzahl:
r=4, w=2 und x=1 -> daraus wird die Summe gebildet. Beispiel: 6 steht für r und w / 7 für r,w, und x
chmod 777 -> fügt alle Rechte hinzu

++ Navigieren innerhalb der Verzeichnisstruktur (change directory):

In jedem Verzeichnis gibt es zwei spezielle Dateien:
. -> ist das aktuelle Verzeichnis, verweits also auf sich selbst
.. -> ist das übergeornete Verzeichnis

cd namen (oder . oder ..) (change directory)
Achtung: man muss im Verzeichnisbaum immer so weit hoch, bis zur gemeinsamen Verzweigung, erst da kamm man einem zweiten Pfad entlang wieder in die Tiefe steigen.
Trennung der Namen eines Pfades mit /.

Beispiel: cd /user/home/christina/public_html/rechnergeschichte

Administrator der alles machen kann heisst: root

Absolute und relative Adressierung:

Als absolute Adressierung bezeichnet man das Ansprechen einer Datei über das oberste Verzeichnis.
Beispiel: /home/cha/public_html/rechnergeschichte/index.htm

oder bei einer Website: www.crossingselves.ch/rechnergeschichte
(bei Websites ist das oberste Verzeichnis der Name der Domain. Dies ist in der Linux-Verzeichnisstruktur gleichzusetzen mit public_html)

Als relative Adressierung bezeichnet man das Ansprechen einer Datei relativ zum momentanen Standpunkt.
Beispiel: Ich befinde mich im Verzeichnis /home/cha/public_html/rechnergeschichte/ und kann direkt die Datei index.htm ansprechen, die sich in diesem Verzeichnis befindet.

Befinde ich mich im Verzeichnis /home/cha/public_html/seminare/ und möchte die Datei index.htm ansprechen, dann muss ich ../rechnergeschichte/index.htm angeben.

AUFGEPASST: damit passieren immer wieder Fehler und die Datei kann nicht gefunden werden.

Kopieren einer Datei:

cp Datei Zielort(Dateiname) (copy)
Beispiel: Ich befinde mich im Verzeichnis
/home/cha/public_html/seminare/ und möchte die Datei index.htm (die sich in deisem verzeichnis befindet) in das Verzeichnis /home/cha/public_html/rechnergeschichte/ kopieren.
Absolute Adressierung:
cp index.htm /home/cha/public_html/rechnergeschichte/
relative Adressierung:
cp index.htm ../rechnergeschichte/

oder Kopie erstellen unter einem anderen Namen: cp index.htm ../rechnergeschichte/text.htm

Löschen einer Datei:

rm Dateiname (remove)

Beispiel: rm text.htm
ACHTUNG: Gelöscht ist unwiederbringlich gelöscht- KEINE NACHFRAGE, ob wirklich gelöscht werden soll.
Vorsichtsmassname: Gehe zuerst in das Verzeichnis, wo sich die zu löschende Datei befindet. Mit ls nochmals kontrollieren, ob man im richtigen Verzeichnis ist. Erst dann löschen.

Eine Datei ändern:

Dazu braucht man einen Editor. Für die viele ist es am einfachsten, die zuändernde Datei mit ftp auf den PC oder Mac zu kopieren, da mit einem Editor zu ändern und dann wieder mit ftp auf den Server zu kopieren.
Editoren sind zum Beispiel: Norepad auf dem PC, UltraEdit oder andere frei Software vom Netz. Auf keinen Fall Word verwenden, weil da unsichtbare Steuerzeichen eingebunden sind.

Auf Linux überall verfügbar ist der Editor vi.(Er ist etwas gewöhnungsbedürftig)
Editor: vi
Kurzanleitung unter: http://wwwcip.informatik.uni-erlangen.de/old/tree/CIP/Manuals/unix/editor/vi.html

Ein Verzeichnis erstellen:

mkdir name (make directory)

Beispiel: mkdir bilder
erstellt ein neues Verzeichnis Beispiel als Unterverzeichnis des aktuellen Verzeichnisses.

Ein Verzeichnis löschen:

rmdir name (remove directory)

Beispiel: rmdir bilder
ACHTUNG: Gelöscht ist unwiederbringlich gelöscht- KEINE NACHFRAGE, ob wirklich gelöscht werden soll.

Wildcharacter:

Dies sind Platzhalter für beliebige Zeichen. Sie werden gebraucht im Handling der Dateien, aber auch bei Suchmustern u.a.:

* steht für beliebige Zeichen in beliebiger Anzahl
? steht für genau ein beliebiges Zeichen

Beispiel: bild*.gif findet bild1.gif, bild2.gif und bild31.gif
dagegen findet bild?.gif nur bild1.gif, bild2.gif

 

Einen Text auf dem Bildschirm anzeigen:

echo text

Beispiel: echo Heute lernen wir viel Linux
zeigt auf dem Bildschirm
Heute lernen wir viel Linux an.

Wenn nichts angegeben ist, wir die Ausgabe auf dem Bildschirm, also der Standardausgabe, angezeigt. Will man den Text in eine Datei schreiben, muss man nur stat die Standardausgeb die Datei anbeben.

Beispiel: echo Heute lernen wir viel Linux > text.txt
schreibt den Text Heute lernen wir viel Linux in die Datei text,txt im aktuellen Verzeichnis. (anschauen der Datei mit more text.txt)

Wenn dieser Vorgang wiederholt wird, wird der Inhalt der Datei jedes Mal überschieben. Es befindet sich also immer nur genau eine Zeile in der Datei.
Will man aber weiteren Text anhängen, muss man das Zeichen >> benutzen.
Beispiel: echo Heute lernen wir viel Linux >> text.txt

 

Beispiel: einfaches Backup-Programm:

Mit Editor ein Programm mit der Endung .sh schreiben (Textmodus)
Rechte zur Ausführung vergeben: chmod u+x backup_programm.sh
Ausführen: ./backup_programm.sh