~~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~~