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