Nützliche Linux-Kommandos:
Im Nachfolgenden finden Sie eine Zusammenfassung der wichtigsten und nützlichsten Linux-Kommandos. Dennoch finden Sie in den Support-Seiten, weitere interessante Artikel zu Linux und dem richtigen Einsatz - mehr Infos hier!
Sie suchen nach Hilfe-Stellung? Wir helfen Ihnen gerne, fragen Sie bitte über unser Kontakt-Forumlar an !
| Directory: | anzeigen: ls * oder ls -l oder ls -lisa wechseln: cd /verzeichnis oder cd name oder cd .. |
Datei anzeigen | cat dateiname |
| Datei editieren: Der Editor, der wahnsinnig viel leisten kann, nur ist er ein wenig gewöhnungsbe- dürftig. ABER VORSICHt. Grössere Dateien kann kein Editor öffnen, ohne genügend Speicher zu haben. Dateien bis 10 MB sind heute schon ok - manchmal auch 100 MB - aber dann wird es kritisch! EMPFEHLUNG: vorheriges Thema Beginn/Ende einer Datei | vi innerhalb von vi (vim) ESC - Taste für zurück zu Comando-Modus (immer!) und dann: :q für quit - beenden |
| suchen: | Prozess: ps -ef | grep 'prozess' find -type f|xargs grep 'suchwort' |
| suchen+ ersetzen | Dateien: sed -e ’s/Suchen/Ersetzen/g’ < [Quelle] > [Ziel] Quelle und Ziel - bitte die Dateinamen einsetzen oder nach Suchmuster! in vi (Zeile 0-999): :s0,999/suchwort/ersetzwort/ |
| Speicher: | df für Disk-Space free für Memory du -h für Auflistung von Disk-Speicher unterhalb Verzeichnis Empfehlung, z.B. du -h > /tmp/[Ziel-Datei], wobei Ziel-Datei irgendein neuer Datei-Name gewählt werden kann |
| Prozessor- Auslastung | top / htop (Ausgang mit ESC-Taste und dann :q!) irgendwas ist, was z.B. in lsof aufgelistet wird! |
| wer bin ich: | id für User-ID ifconfig für IP-Adressen hostname für Host-Name |
| Uhrzeit und Datum: | date |
| Paket-Installer: | aptitude, yast, yum, dpkg Hilfe bringt [Kommando --help] z.B. aptitude --help oder man aptitude (ausführlich) |
| Download: | wget http://-Adresse |
| Kopieren: | cp für von kopieren nach Ziel, z.B. cp [von_Datei] [Ziel-Datei] cp -R verzeichnis verzeichnis |
| Server booten | reboot oder restart |
| Hilfe | befehl --help oder man befehl |
| Services starten oder stoppen | cd /etc/init.d ls ./[service] start help stop reboot (je nach Start-Möglichkeiten unterschiedlich! |
| Services auto- matisch starten | cd /etc/x.rc x.rc für Start - Level bei den Derivaten unterschiedlich in den x.rc KxxBefehl für Kill - Stop des Prozesses und SxxBefehl für Start des Prozesses xx = Reihenfolgenummer |
| Link zu anderer Datei | ln -s datei link |
| Datei-Typen: | alle Dateien können alles beinhalten! Das ist schwierig für ein Anfänger zu verstehen, wird aber gleich klarer: (siehe unten) |
Datei-Erweiterungen:
Von Windows kann man an den Dateien erkennen, ob es sich um Programme (com/exe) oder Texte (txt/doc) oder sogar Verzeichnisse handelt handelt. Bei Linux nicht unbedingt, denn Linux sind die Extension (.txt/.exe) grundsätzlich egal. Die Programme hingegen, die z.B. in Linux Dateien ausführen, denen sind die Extensions wiederum nicht unbedingt egal. Ein Apache-Server wertet also aus, ob das Extension ein .html (Internet-HTML-Datei) oder .php (ein php-Proramm ist).
Ein Shell-Interpreter versucht generell, auch wenn es eine Textdatei wäre, diese auszuführen. Damit dieser Interpreter nicht unbedingt eine falsche Datei ausführen bzw. daß ein Programmierer noch erkennen kann, was die Datei enthält, steht oft innerhalb der Datei in der ersten Zeile eine Interpreterzuordnung: z.B. #!/bin/sh
Grundsätzlich wurden in Unix dem Vorgänger von Linux die Datei-Arten nicht unterschiedlich beim Auflisten eingefärbt. Heute oft üblich, daß die Dateien farbig gelistet werden:
Linux wird farbig:
Der kann sich erst einmal das eigene Profil anpassen:
Wer sich noch nicht so gut auskennt:
cd (wechsel ins User-Verzeichnis meist Root)
cp .bashr bashrc.old (Sicherheitskopie anlegen)
vi .bashrc (Datei editieren)
Nun sind wir im Editor - wer sich nicht so gut auskennt:
[ESC-Taste]:0,99d für Löschen aller Zeilen
den nachfolgenden Quelltext hier im Dokument markieren und kopieren und wenns der richtige SSH-Client ist (am besten Putty), mit rechter Maustaste einfügen, ansonsten bitte abtippen:
# ~/.bashrc: executed by bash(1) for non-login shells.
export PS1='\[[33m\][\u@\h:\w]$\[[0m\] '
umask 022
# You may uncomment the following lines if you want `ls' to be colorized:
export LS_OPTIONS='--color=auto'
eval "`dircolors`"
alias ls='ls '
alias ll='ls -l'
alias l='ls -lA'
# Some more alias to avoid making mistakes:
# alias rm='rm -i'
# alias cp='cp -i'
# alias mv='mv -i'
Nachdem das Script nun so abgeschrieben wurde und alles richtig ist, mit [ESC]:w speichern.
So, nun nicht verrückt spielen - denn immer wenn man etwas am Root-User ändert oder sich aussperren könnte, dann nie die Sitzung beenden - Linux verlassen, sondern z.B. via Putty ein zweites Fenster öffnen und sich dort erneut einloggen. Gelingt dieses und sind die Farben schön bund, dann war alles ok. Ansonsten können wir den Editor erneut aufrufen und korrigieren und neu testen - oder im schlimmsten Fall:
in der alten Session, die ja noch offen ist, die Sicherheitskopie wieder zurück in die Originaldatei kopieren:
cd
cp bashrc.old .bashrc
Farben und deren visuellen Bedeutungen:
können natürlich bei den Derivaten noch abweichend sein.
grün - ausführbare Datei also Programm
blau - Verzeichnis
weiss - andere Bedeutung
Nun werden doch die Zusammenhänge ein wenig deutlicher. Wie erkennt aber nun Linux, daß es sich um ausführbare Dateien handelt?
Dies liegt alleine an den Rechten, die für die Dateien jeweils gesetzt worden sind.
Rechte auslesen:
Wenn Sie ein Verzeichnis mit ls -lisa auflisten, werden Sie z.B. folgende Anzeige sehen:
total 67
263979574 1 drwx------ 9 root root 1024 Jan 9 19:28 .
262983738 1 drwxr-xr-x 18 root root 1024 Jan 8 21:22 ..
263979024 1 drwx------ 2 root root 1024 Jan 8 21:14 .aptitude
263979468 8 -rw------- 1 root root 7852 Jan 9 09:19 .bash_history
In der Zeile .aptitude hat die Datei folgende Berechtigungseinstellungen:
drwx------ d=Directory (aha Farbe blau) r=readable w=writable x=executable
In der Zeile .. für übergeordnetes Verzeichnis steht:
drwxr-xr-x - was soll das denn? wieso denn zweimal r ?
Das erste Zeichen ist immer zuständig für Directory oder nicht. Danach folgen die Gruppen-Rechte zuerst vom Inhaber, dann die Gruppenrechte der Gruppe, dann die Rechte aller sonstigen User, mit jeweils 3 Zeichen.
In der gleichen Zeile sehen wir auch den Inhaber root und an 2. Stelle der Gruppe root.
Also das übergeordnete Verzeichnis (..) ist mit d ein Verzeichnis, dann folgen rwx (also der Inhaber, der ja root ist) hat die Rechte r=lesen, w=schreiben, x=ausführen (??dafür Sondererklärung!!) - dann folgen r-x (also die Gruppe Root) hat die Rechte r=lesen, x=ausführen und dann folgen erneut r-x (also alle sonstigen User) haben die Rechte, wie auch die Gruppe. Wohlangemerkt, daß ein normaler User auch Zugriff auf das Verzeichnis haben muß und das wiederrum kann auch durch andere Beschränkungen verhindert worden sein!
Rechte festlegen und berechnen:
Wir sprachen bereits von Bits 0/1 oder an/aus. Aus der Kombination von 3 Bits ergibt sich eine Dezimalzahl. Jedes Bit entspricht einem Multiplikator. Wird das Bit auf 1 gesetzt, dann gilt dies als eingeschaltet, andernfalls gilt 0 als ausgeschaltet. Die Umrechnung von aneinander gereihten Bits zu Dezimalzahlen erfolgt generell wie folgt: Das erste Bit ist 1 - verdoppelt das 2. Bit also 2 - verdoppelt das 3. Bit 4 usw. - Nebenbemerkung: 8 Bits in Kombination können Dezimalwerte von 0 bis 255 aufnehmen. 8 Bits entsprechen einem Byte. Buchstaben werden ihre Dezimalwerte oder Hexadezimalwerte umgewandelt und in diesen 8 Bits mit 0 oder 1 an der jeweils richtigen Stelle, gespeicher. Ende Nebenbemerkung.
| AUS/ EIN | Multi- plikator | Ergebnis | ||
| x = ausführbar | 0/1 | x | 1 | |
| w = schreiben | 0/1 | x | 2 | |
| r = lesen | 0/1 | x | 4 | |
| Summe aller Ergebnisse | ||||
Die Rechte ergeben sich somit aus der Addition Ihrer Wertigkeiten. Nur das Recht für ausführen, wäre 1. Nur das Recht für lesen, wäre 4. Das Recht lesen und schreiben, wäre 6. Alle Rechte wären 7 - kein Recht wäre 0. Soweit verstanden?
Ok, wie oben bereits beschrieben, werden die Rechte für 3 Gruppen gesetzt. Zuerst für den Inhaber, dann für die zugeordnete Gruppe und in letzter Position für alle anderen, die nicht Inhaber oder der Gruppe zugehören. Danach bilden wir für jede Gruppe jeweils nach dem obigen Rechteschema eine einstellige Zahl und konkatinieren (zusammenfügen, nicht addieren!) diese zu einer 3 stelligen Zahl, wobei die erste Ziffer die Rechte des Inhabers, die 2. Ziffer die Rechte der zugeordneten Gruppe und die dritte Ziffer die Rechte aller sonstigen User darstellt.
Wenn wir also dem Inhaber alle Rechte setzen wollen und allen anderen keine, so wäre die Zahl 700. Soll der Inhaber Schreib- und Leserecht, die Gruppe nur Leserecht und alle anderen ein Ausführrecht haben, so wäre die Zahl 641
Rechte setzen:
Um auf die Schnelle eine Testdatei zu erzeugen, geben wir folgendes ein:
cd
echo > test.txt
Nachdem wir entsprechend der obigen Beschreibung also die Zahl für die zu setzenden Rechte errechnet haben, können wir nun die Rechte der entsprechenden Datei oder dem Verzeichnis setzen. Dies erfolgt mit chmod Recht datei, z.B.
chmod 700 test.txt
Danach prüfen wir, daß die Rechte korrekt gesetzt sind, mit
ls -lisa test.txt
Inhaber / Gruppe der Datei zuordnen:
Den Inhaber einer Datei legen wir wie folgt fest:
chown user datei und mit
chgrp user datei legen wir die Gruppe fest.
Wir können das anschließend wieder mit ls -lisa prüfen.
Das Setzen von Inhaber und Gruppe in einem Schritt geht wie folgt:
chown user:gruppe datei
Beispiele:
chown root:root test.txt
weitere Infos im Service-Bereich
Social Bookmarking

