~~META:
date issued = 2008-01-01
~~
{{tag>linux grundlagen befehle ls heiko_teichmeier glauchau sachsen}}
__letzte inhaltliche Überarbeitung:__ 01.01.2008
===== Linux - Grundlagen und Befehle =====
===== 2. Teil - Befehle =====
Die Arbeit mit Linux kann ganz einfach (und effektiv) über die **"Shell"** erfolgen.
Diese sieht aus wie ein DOS-Fenster unter Windows, nur bunter.
Hier kann man nun nach Herzenslust schalten und walten. Aber **Vorsicht!!!**: wenn ihr als **"root"** (der darf alles) eingeloggt seid, könnt ihr mit falschen oder unvollständigen Befehlen, sehr viel Schaden anrichten. Deshalb sollte man, bis auf Ausnahmen, immer als "normaler" user eingeloggt sein.
**Noch ein wichtiger Hinweis: Linux unterscheidet zwischen Groß- und Kleinschreibung!!!**
==== 2.1 ls [Option] Verzeichnis/Datei ====
=== => Ausgabe des Verzeichnisinhalts ===
**__Option:__**
* **ls** - listet die Dateien des Verzeichnisses auf.
* **ls -a** - listet alle (auch versteckte) Dateien des Verzeichnisses auf.
* **ls -la** - listet alle Dateien des Verzeichnisses in Langform auf.
**__Bsp.:__**
ls /etc/samba
. lmhosts smb.conf smbpasswd smbusers
.. secrets.tdb smbfstab smbpaswd.sich
Zeigt alle (nicht versteckten) Dateien und Verzeichnisse im Verzeichnis /etc/samba an.
ls -a /etc/samba
. lmhosts smb.conf smbpasswd smbusers
.. secrets.tdb smbfstab smbpaswd.sich
Zeigt alle (auch die versteckten) Dateien und Verzeichnisse im Verzeichnis /etc/samba an. In diesem Fall existieren keine versteckten Dateien.
ls -la /etc/samba
total 54
drwxr-xr-x 2 root root 312 Feb 19 00:25 .
drwxr-xr-x 50 root root 5808 Mar 2 10:24 ..
-rw-r--r-- 1 root root 249 Nov 19 14:49 lmhosts
-rw------- 1 root root 8192 Mar 2 09:52 secrets.tdb
-rw-r--r-- 1 root root 4940 Feb 23 02:43 smb.conf
-rw------- 1 root root 379 Nov 19 14:49 smbfstab
-rw------- 1 root root 636 Feb 23 01:52 smbpasswd
-rw-r--r-- 1 root root 258 Nov 19 14:49 smbusers
Zeigt alle Dateien und Verzeichnisse im Verzeichnis /etc/samba in der "Langform" an. Die Bedeutung der einzelnen Spalten ist folgende:
=== Erste Spalte: Dateityp und Zugriffsrechte ===
* erste Position von links: **Dateityp**
d = Verzeichnis (directory)
- = Datei
b = Blockorientiertes Gerät
c = Zeichenorientiertes Gerät
l = Link
p = named Pipe
s = Socket
* folgende 9 Positionen: **Zugriffsrechte**
* eingeteilt in **3 Dreierblöcke (Bsp.: rwx r-x ---)**
* die Dreierblöcke stehen (von links nach rechts) jeweils für die Zugriffsrechte von **User //(Benutzer)//, Group //(Gruppe)//, Others //(alle anderen)//**
* diese Zugriffsrechte können als Buchstabe oder Zahlencode ausgedrückt werden.
r = 4 = (r)ead [lesen]
w = 2 = (w)rite [schreiben]
x = 1 = e(x)ecute [Ausführen,
hineinwechseln bei Verzeichnis]
* als Buchstabenangabe sieht es so aus:
rwxr-x--- = User(lesen, schreiben, ausführen),
Group(lesen, ausführen),
Others(keine Rechte) [lesen]
* Die Zahlendarstellung ergibt sich aus der Addition der Werte der Berechtigung pro "Gruppe":
User - rwx = 4+2+1 = 7
Group - r-x = 4+0+1 = 5
Others - --- = 0+0+0 = 0
ergibt: rwxr-x--- = 750
* Anzahl der Verzeichnisse in diesem Verzeichnis
* Eigentümer (user) der Datei/des Verzeichnisses
* Gruppe (group) der Datei/des Verzeichnisses
* Dateigröße
* Datum und Zeit der letzten Änderung
* Datei-/Verzeichnisname
==== 2.2 cp [Optionen] datei_1 (datei_2) ====
=== => Kopieren einer Datei/Verzeichnis ===
* **cp** (copy), kopiert Dateien/Verzeichnisse.
Unter Linux muss man sich hier etwas umgewöhnen bezüglich der Verwendung von Platzhaltern //(Wildcards)// wie **" * ? "**. Da Linux mit **regulären Ausdrücken (regular expressions)** arbeitet haben diese Zeichen eine andere Bedeutungen.
__Beispiel:__\\
Die Eingabe von:
cp /etc/samba/smb.conf /etc/samba/*.sich
ergibt eine neue Datei **/etc/samba/smb.conf.sich**. Dieses Thema werde ich später sicher noch etwas ausführlicher behandeln.
==== 2.3 rm [Optionen] datei_1 ====
=== => Datei/Verzeichnis löschen ===
* **rm** (**r**e**m**ove), löscht Dateien und Verzeichnisse.
==== 2.4 rename [Optionen] datei_1 datei_2 ====
=== => Datei/Verzeichnis umbenennen ===
* **rename** datei_1 datei_2 - benennt datei_1 nach datei_2 um.
==== 2.5 ln [Optionen] datei_1 link_name ====
=== => Link auf Datei/Verzeichnis setzen ===
* **ln [pfad/]datei/verzeichnis_1** (link) - erzeugt einen **Link** auf eine Datei/Verzeichnis.
* **ln -s [pfad/]datei/verzeichnis_1** - erzeugt einen **symbolischen Link** auf Datei/Verzeichnis_1 mit gleichem Namen im aktuellen Verzeichnis.
* **ln -s [pfad/]datei/verzeichnis_1 [pfad/]link** - erzeugt einen **symbolischen Link** auf Datei/Verzeichnis_1 mit dem Namen ''Link'' im angegebenen Verzeichnis.
Man erkennt **Links** an einem **l** im ersten Feld der Dateiauflistung. Die erzeugten Links sind genauso ansprechbar als wenn es die Datei/Verzeichnis selbst wäre.
Man unterscheidet **symbolische** und **harte //Links//**. Wenn man einen harten Link löscht wird auch die Datei auf die er verweist gelöscht, symbolische lassen die verlinkte Datei/Verzeichnis unangetastet.
[<>]
~~DISQUS~~