Linux Tipps für Windows
Kenner - Schnelleinstieg - Teil 1, v.1.02
1.) Bildschirmsteuerung
Abbruch von X: Strg-Alt-Backspace
Das laufende X Window wird abgebrochen.
UNIX Typisch werden damit auch alle Kindprozesse abgebrochen,
das ermöglicht einen sauberen Neustart, wenn ein Programm hängt.
Umschalten der Bildschirme (Konsolen):
Umschalten aus X-Window zu den Konsolen: Strg-Alt-F1, Strg-Alt-F2, usw.
Umschalten zwischen den Konsolen genügt: Alt-F1, Alt-F2, usw.
Das grafische X-Window läuft bei den Distributionen auf der Konsole 7,
bei der Life CD Knoppix auf Konsole 5
ein user kann eine weitere X-Windows session starten mit:
startx -- :2
die Ausgabe erscheint dann auf der nächsten Konsole 8 bzw. 6
Markieren/ Einfügen in X-Window:
Markieren mit der Maus, (Strg-C ist nicht nötig)
Einfügen mit der mittleren Maustaste
----------------
Folgende shell Kommandos sollte man kennenlernen.
ls, ls -l, df, mount, fdisk -l, file, type, which, tar, ps, less, man(ual)
man ls
zeigt Hilfe für ls an
ps ax
zeigt die Liste aller Hintergrundprozesse an, seitenweise Anzeige mit:
ps ax | less
Unterschiede zu Dos Kommandos:
mkdir, rmdir
die Abkürzungen md und rd gehen nicht, nur die Langform
cd
ohne Argumente wechselt in das $HOME Verzeichnis des users, statt das
aktuelle Verzeichnis anzuzeigen.
pwd
zeigt das aktuelle Verzeichnis an.
echo $PATH zeigt die PATH Variable an.
das aktuelle Verzeichnis wird _nicht_, wie bei dos/win, automatisch
durchsucht.
daher kommt auch der oft beschriebene Programmaufruf mit ./Programmname
man sollte auf _keinen_ Fall das aktuelle Verzeichnis, als erstes in die
PATH Variable aufnehmen (Sicherheitslücke!), als letztes gehts aber.
Konfigurationsdateien des Systems sind in /etc
Programme sind traditionell in /usr installiert und haben da ihr
Heimverzeichnis,
Heimverzeichnis der user ist in /home (war früher auch in /usr, daher der
Name usr)
Lokale Programme sind in /usr/local bzw. in /usr/local/bin
Konfigurationstools der Distributionen heissen bei Suse yast und sax2,
bei Mandrake haben sie im Namen ein drak(e)
freie Konfigurationstools sind: (fehlt noch viel, Tipps erbeten)
linux: linuxconfig, xf86config
KDE: kcontrol, kxconfig, usw
oder einfach mal selber suchen mit:
grep config alles.lst | grep /bin/
2.) Weitere Tipps
id
gibt die user und gruppen ID aus, das ist eine Nummer, daran werden User und
Gruppen erkannt.
id und andere Programme lesen die Nummer aus /etc/passwd und /etc/group
die id 0 ist reserviert für den user root, der alle Rechte hat. UNIXe
richten sich nach diesen Nummern, die Namen werden eher zur Anzeige und
besseren Lesbarkeit verwendet.
für Anwender werden je nach Linux Distribution id's ab 500 oder 1000
vergeben, man sollte sich eine einmal verwendete persönliche user- und
gruppen id merken und bei späteren installationen wiederverwenden. So hat
man auf Daten in anderen Laufwerken wieder dieselben Zugriffsrechte. Auch
gut, wenn man mehrere Linuxe parallel installiert hat.
---
Dateinamen, die mit einem Punkt beginnen, gelten als "versteckte" Dateien.
alle Dateien, incl. "versteckte" kann man sich anzeigen lassen mit
ls -al
Option a steht für all(e)
Option l steht für (long) langes Format
Das "verstecken" von Dateien ist eine reine Anzeigeoption und
vereinfacht die Übersicht. Es gibt keinen Zusammenhang zu Berechtigungen.
Berechtigungen müssen unabhängig davon da sein, sonst geht nix.
---
tar und cpio sind Universalpacker, wobei tar in der Bedienung einfacher ist.
Beispiele:
tar cvfz /tmp/Sicherung.tgz ~
Sichert den Inhalt des persönlichen Home Verzeichnisses (~), darin
sind alle "Eigene Dateien" und persönliche Einstellungen aller Programme.
tar cvfz /tmp/Sicherung-Mozilla.tgz ~/.mozilla
sichert alle persönlichen Mozilladaten und -einstellungen
tar cvfz /tmp/Sicherung-Evolution.tgz ~/evolution
sichert alle persönlichen Daten und Einstellungen von Evolution
---
Die Namenserweiterung tgz ist reine Konvention, kein muss, und setzt sich
zusammen aus
t(ar) für Tar format
gz für den Kompressor gzip, der verwendet wird, wenn die Option z angegeben
wird.
3.) Umgebungs (shell) Variablen
~ - steht für das Home Verzeichnis eines Users, bei mir wäre das z.B. /home/niru
$HOME - dasselbe wie ~
$PATH - gibt die Variable PATH aus, wie %PATH% bei dos/win
4.) init
ist das zentrale Steuerungsprogramm für UNIXe, es überprüft, startet und
beendet Prozesse, die in der Datei /etc/inittab eingetragen sind. Im zweiten
Feld stehen die runlevel, in denen ein Programm laufen soll. Steht im
dritten Feld respawn, wird das Programm überwacht und bei Abbruch/ Beenden
neugestartet. Das wichtigste Programm in /etc/inittab ist natürlich login
UNIXe kennen folgende Runlevel (Ausschnitt aus /etc/inittab)
# Runlevel 0 is halt. ---> herunterfahren
# Runlevel 1 is single-user. ---> ebenso Runlevel S, S oder 1 entspricht
etwa "Abgesicherter Modus", bzw. "DOS Modus"
# Runlevels 2-5 are multi-user. ---> 5=grafischer Modus, 3=Netzwerkmodus
ohne Grafik
# Runlevel 6 is reboot. ---> Neustart
Unabhängig davon gibt es die bedutzerdefinierbaren Runlevel a bis z,
womit der Systemverwalter einstellen kann, welche Programme gruppenweise
laufen oder gestoppt werden sollen. Praktisch reichen die Runlevel a bis d
Die Runlevel kann root umschalten, z.B:
init 0 ---> Herunterfahren des Systems
init 3 ---> den grafischen Modus ausschalten (z.B. um sax2 zu starten)
init 5 ---> den grafischen Modus einschalten
init b ---> umschalten in den Runlevel b
5.) du =disk usage
Zeigt Platzbelegung von Dateien und Verzeichnissen an
kann so ähnlich wie TreeSize verwendet werden, z.B.:
du -s *
oder
du -s /home/* 2>/dev/null
zeigt die Festplattenbelegung aller user (ausser root in /root) an,
Fehleranzeigen werden weggeworfen.
/dev/null etspricht NUL bei dos/windows, ähnliche Analogien bei dos
sind:
con entspricht /dev/console
com1 entspricht /dev/ttyS0
---
hier ne kleine Zwischenbemerkung zur Umleitung
Standardmässig sind bei der shell drei Dateien geöffnet:
0 - Standardeingabe
1 - Standardausgabe
2 - Standardfehler
Sie lassen sich durch <,>,>> oder | umleiten
---
6.) find
ein sehr universelles Tool zum suchen, kleiner Einblick gibt:
find . -newer /bin/bash -size +12k -type f
zeigt ab aktuellem Verzeichnis reguläre (normale) Dateien, die grösser als
12 Kilobytes sind und neuer als /bin/bash
oder
find /usr/bin -type f -perm -700
zeigt alle Dateien ab /usr/bin, die reguläre Dateien sind und zumindest der
Eigentümer Rechte zum ausführen hat.
oder
find /usr/bin -type l
zeigt alle Dateien ab /usr/bin, die Verknüpfungen sind
oder
find /etc -type d
zeigt ab /etc alle Dateien, die Verzeichnisse sind
oder
grep ^[0-9]*\.\) Linux-Tipps-Teil-2.txt
findet Überschriften in diesem Text,
am Anfang der Zeile, beliebige Zahlen, dann Punkt und Klammer zu
7.) Hintergrundprogramme
kann man starten mit dem Zeichen & am Ende der Zeile
(entspricht Start Kommando bei Windows)
z.B.:
find / -mount >alles.lst &
erstellt eine komplette Dateliste des (wurzel)Dateisystems /
zusätzlich gibt es das Kommando nohup (no hang up),
nohup leitet die geöffneten Standarddateien input, output, error um,
und verhindert, dass der Hintergrundprozess abgebrochen wird,
wenn sich der user abmeldet. (logout)
Normalerweise bewirkt der Abbruch eines Prozesses, dass alle
zugehörigen Kindprozesse mitabgebrochen werden, ausser eben
diese bewusst mit nohup im Hintergrund gestarteten.
nohup find / -mount >alles.lst &
macht dasselbe wie oben, läuft aber auch nach dem Abmelden weiter, bis
zum Ende.
8.) grep
universelles Textsuchtool gibts auch für dos/windows, z.B.:
grep -i /Mail$ alles.lst
sucht in der Datei alles.lst nach der Zeichenfolge /Mail am Ende der
Zeile ($)
Gross-/ Kleinschreibung wird ignoriert. (-i)
Platzhalter für grep:
Zeilenbeginn: ^
Zeilenende: $
9.) mount, umount
Meldet ein Dateisystem an einem Verzeichnis an. Der ursprüngliche Inhalt des
Verzeichnisses, wird ausgeblendet und ist nicht mehr erreichbar, bis zum
Abmelden mit umount.
Ohne Argumentenangabe listet mount alle angemeldeten (gemounteten)
Verzeichnisse.
Die Liste der anzumeldenden Dateisysteme steht in der Datei /etc/fstab
und kann da angepasst werden, falls man eine neue Festplatte einbaut und
einen Teil der Daten nach Wiederherstellung woanders anmelden will.
Für Zeilen, die in /etc/fstab stehen, kann man eine Kurzform verwenden. Es
genügt anzugeben, was oder wohin man etwas mounten will, im unteren Beispiel
wäre es egal, ob man angibt:
mount /dev/hda1 oder mount /mnt/windowsXP
ein user darf _nur_ diese Kurzform verwenden, auch nur dann, wenn die user
option in /etc/fstab auf ihn passt. Nur root darf wie immer, alles.
z.B.:
mkdir /mnt/windowsXP
mount -r -t ntfs /dev/hda1 /mnt/windowsXP
meldet /dev/hda1 (erste Festplatte, erste Primärpartition, bei Windows
meist Laufwerk C:)
am Ordner /mnt/windowsXP mit dem Dateisystemtyp NTFS (-t)
mit nur Leserechten (-r) an.
Neuere Linuxe erkennen den Dateisystemtyp automatisch, so dass die -t (typ)
Option
i.A. nicht angegeben werden muss.
mount -o remount,rw /mnt/windowsXP
ändert die Schreibrechte von /mnt/windowsXP auf lesen/schreiben (rw)
**! ntfs beschreiben nennt sich experimentell ! Nur im Notfall verwenden !**
Anschliessend abmelden mit:
umount /dev/hda1
und
ntfsfix /dev/hda1
korrigiert irgendwas, den Rest erledigt Windows bei Neustart mit chkdsk
siehe:
man ntfsfix
10.)man(ual), die UNIX Hilfeseiten
man gibt zu fast jedem Programm oder Systemdatei eine Beschreibung aus.
z.Z. etwa 18 MB komprimiert (du -sk /usr/share/man, Knoppix 3.4)
ist leider nur teilweise in Deutsch.
z.B.:
man man
man ls
Jetzt steht oben grossspurig Teil 1, es sollte aber nur einen einzigen
Teil geben, womit Windows Kenner einen grundsätzlichen Überblick bekommen
und sofort loslegen können. Ohne sich erst durch ne Anleitug für Anfänger
durchzuöden. Ist natürlich lange nicht alles, es fehlen wichtige Teile,
vieles ist ungenau.
Die wichtigste Erkenntnis ist aber, dass man lernt, mit dem Manual (man)
umzugehen, oder mit einem Handbuch. Denke, niemand kennt UNIX vollständig.
Selbst ein so einfaches Kommando wie ls kennt so viele Optionen, dass man
bei Bedarf erstmal nachsehen muss, dann merkt man, dass sich etliche gute
Spezialisten grosse Mühe gegeben haben, auch aus diesem kleinsten Kommando
ein Universaltool zu machen.
z.B. die Option -U gibt die Ausgabe unsortiert aus. Sieht nicht
besonders aus, wenn aber für einen bestimmten Zweck, z.B. ein Server pro
Minute 10000 mal diese Liste braucht, gibts einen _extremen_
Zeitunterschied, ob sortiert oder nicht.
Wahrscheinlich wirds doch einen zweiten Teil als Ergänzung geben.
Glaube aber nicht, dass man den wirklich braucht.
------------
Gruss
Niru