Angepinnt Die Bash - Für Normalsterbliche

Hinweis: In dem Thema Die Bash - Für Normalsterbliche gibt es 23 Antworten auf 3 Seiten. Der letzte Beitrag () befindet sich auf der letzten Seite.
  • Die Bash - Für Normalsterbliche

    Kurze Einleitung:

    Linux (also auch openSUSE), kann wie jedes UNIX-Artige Betriebssystem komplett aus der Konsole bedient werden.
    Viele Profis sind der Meinung das ein grafischer Desktop, auf einem Server - weniger aber auch möglich auf dem Desktop - nichts verloren hat.

    openSUSE setzt standardmäßig die bekannte Konsole "Bash" ein.
    (Bourne-Again Shell)

    Tatsächlich gibt es praktisch nichts, was sich nicht auf der Bash erledigen ließe.

    Dieser Thread behandelt nur die Grundlagen.

    Dieser Beitrag wurde bereits 6 mal editiert, zuletzt von LusH ()

    Für den Inhalt des Beitrages 30722 haftet ausdrücklich der jeweilige Autor: LusH

  • man && --help



    Der Befehl man steht für "manual", zu deutsch Handbuch, er zeigt die Hilfe ("Manpage") eines Programmes an.
    man steht vor dem eigentlichen Befehl, Bsp:

    Quellcode

    1. man man

    Zum verlassen eines Manuals innerhalb der Bash, wird die Taste q genutzt.



    Der Befehl --help ist so etwas wie ein "abgespecktes" man, es gibt nur die verfügbaren Optionen zu einem
    gewählten Befehl aus.
    Beispiel:

    Quellcode

    1. man --help

    Dieser Beitrag wurde bereits 4 mal editiert, zuletzt von LusH ()

    Für den Inhalt des Beitrages 30723 haftet ausdrücklich der jeweilige Autor: LusH

  • cd - Change Directory


    Wenn eine Bash geöffnet wird, ist sie Standardmäßig im Home-Verzeichnis.
    Wenn man nun aber das Verzeichnis wechseln will (was man recht oft muss), verwendet man den Befehl

    Quellcode

    1. cd


    cd folgt folgendem Syntax:

    Quellcode

    1. cd [Verzeichnisname]


    Wenn man nun in das Verzeichnis "Dokumente" wechseln will, verwendet man daraus folgend:

    Quellcode

    1. cd Dokumente/


    Alternativ kann man auch den vollständigen Pfad angeben:

    Quellcode

    1. cd /home/BENUTZERNAME/Dokumente/


    Desweiteren gibt es den Befehl cd .. ,mit dem man in das Verzeichnis wechselt, das eine Ebene über dem aktuellen Verzeichnis liegt:

    Quellcode

    1. [tim@linux ~]$ cd Dokumente/
    2. [tim@linux Dokumente]$ cd ..
    3. [tim@linux ~]$

    Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von LusH ()

    Für den Inhalt des Beitrages 30724 haftet ausdrücklich der jeweilige Autor: LusH

  • pwd - print working directory

    Der Befehl pwd gibt den aktuellen absoluten Verzeichnispfad aus, in dem gearbeitet wird.

    Im Beispiel wechsel ich nun in das Dokumente Verzeichnis:

    Quellcode

    1. [tim@linux ~]$ pwd
    2. /home/tim
    3. [tim@linux ~]$ cd Dokumente/
    4. [tim@linux Dokumente]$ pwd
    5. /home/tim/Dokumente
    6. [tim@linux Dokumente]$

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von LusH ()

    Für den Inhalt des Beitrages 30728 haftet ausdrücklich der jeweilige Autor: LusH

  • Der Befehl ls gibt den Inhalt eines Verzeichnisses aus.
    Beispiel der Home-Ordner:

    Quellcode

    1. [tim@linux ~]$ ls
    2. Arbeitsfläche/ Downloads@ Musik@ Videos@
    3. Bilder@ Projects@ VirtualBox VMs/
    4. Dokumente@ minecraft.jar tmp/
    5. [tim@linux ~]$


    ls folgt also folgendem Syntax:

    Quellcode

    1. ls [Verzeichnisname]

    Alternativ kann man wieder den absoluten Pfad angeben.

    Zu dem ls-Befehl, gibt es die häufig benutzten Parameter -l ; -a.
    -l == langes Format; -a == alle Dateien.

    Beispiel /tmp:

    Quellcode

    1. [tim@linux ~]$ ls -l /tmp
    2. insgesamt 224
    3. -rw-r--r-- 1 root root 202 Nov 27 16:51 addlocale-install.log
    4. -rw------- 1 tim tim 41357 Dez 1 21:46 cairo-dock-net-file.0hYmen
    5. -rw------- 1 tim tim 31353 Dez 1 21:46 cairo-dock-net-file.sINTZd
    6. -rw------- 1 tim tim 22683 Dez 1 21:46 cairo-dock-net-file.sUs9JN
    7. -rw------- 1 tim tim 62335 Dez 1 21:46 cairo-dock-net-file.uCfxCw
    8. -rw-r--r-- 1 root root 2512 Dez 4 09:35 ddebug.log
    9. -rw------- 1 root root48 Nov 27 16:30 dkms_rpm_safe_upgrade_lock.5078.W8oliV
    10. -rw------- 1 root root58 Nov 27 16:28 dkms_rpm_safe_upgrade_lock.5078.X8TfOb
    11. -rw------- 1 root root53 Nov 27 17:38 dkms_rpm_safe_upgrade_lock.7647.Wy3eRX
    12. drwx------ 2 tim tim 4096 Dez 4 09:35 gpg-aefvUo/
    13. drwx------ 2 root root 4096 Dez 4 10:05 gpg-P0MVjC/
    14. drwxr-xr-x 2 tim tim 4096 Dez 4 10:30 hsperfdata_tim/
    15. drwx------ 6 501 502 4096 Nov 29 17:07 kdecache-fullmonty/
    16. drwx------ 3 root root 4096 Dez 3 11:18 kdecache-root/
    17. drwx------ 7 tim tim 4096 Dez 4 10:42 kdecache-tim/
    18. drwx------ 2 root root 4096 Dez 4 09:35 kde-root/
    19. drwx------ 2 root root 4096 Dez 4 09:35 ksocket-root/
    20. -rw-r--r-- 1 root root 146 Nov 27 16:34 lomanager-install.log
    21. drwxrwxrwx 2 tim tim 4096 Dez 2 17:56 swtlib-32/
    22. [tim@linux ~]$
    Alles anzeigen


    Quellcode

    1. [tim@linux ~]$ ls -a /tmp
    2. ./ gpg-P0MVjC/
    3. ../ hsperfdata_tim/
    4. addlocale-install.log .ICE-unix/
    5. cairo-dock-net-file.0hYmen kdecache-fullmonty/
    6. cairo-dock-net-file.sINTZd kdecache-root/
    7. cairo-dock-net-file.sUs9JN kdecache-tim/
    8. cairo-dock-net-file.uCfxCw kde-root/
    9. ddebug.log ksocket-root/
    10. dkms_rpm_safe_upgrade_lock.5078.W8oliV lomanager-install.log
    11. dkms_rpm_safe_upgrade_lock.5078.X8TfOb swtlib-32/
    12. dkms_rpm_safe_upgrade_lock.7647.Wy3eRX .vbox-tim-ipc/
    13. .font-unix/ .X0-lock
    14. gpg-aefvUo/ .X11-unix/
    15. [tim@linux ~]$
    Alles anzeigen

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von LusH ()

    Für den Inhalt des Beitrages 30729 haftet ausdrücklich der jeweilige Autor: LusH

  • Der Befehl cp dient zum kopieren von Daten.
    Syntax:

    Quellcode

    1. cp [Quelle] [Ziel]


    Zu dem Befehl cp gibt es die Parameter -a == Archiv Modus (u.a. Unterverzeichnisse mitkopieren)
    Der Parameter -R kopiert Dateien Rekursiv, sprich auch alle in einem Verzeichnis liegenden Dateien/Ordner etc. Wenn man also ein Verzeichnis mit Inhalt kopieren will, funktioniert das so:

    Quellcode

    1. cp -R [Quelle] [Ziel]


    Im ersten Beispiel wird die Datei "minecraft.jar" aus dem HOME-Verzeichnis in Downloads/ kopiert:

    Quellcode

    1. [tim@linux ~]$ ls
    2. Arbeitsfläche/ Downloads@ Musik@ Videos@
    3. Bilder@ mcpatcher-2.2.2.jar Projects@ VirtualBox VMs/
    4. Dokumente@ minecraft.jar tmp/
    5. [tim@linux ~]$ cp minecraft.jar Downloads/
    6. [tim@linux ~]$


    Im Zweiten Beispiel wird das ganze Verzeichnis "Dir" in Downloads/ kopiert:

    Quellcode

    1. [tim@linux ~]$ ls
    2. Arbeitsfläche/ Dokumente@ minecraft.jar tmp/
    3. Bilder@ Downloads@ Musik@ Videos@
    4. Dir/ mcpatcher-2.2.2.jar Projects@ VirtualBox VMs/
    5. [tim@linux ~]$ cp -a Dir/ Downloads/
    6. [tim@linux ~]$

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von LusH ()

    Für den Inhalt des Beitrages 30730 haftet ausdrücklich der jeweilige Autor: LusH

  • Der Befehl mv bietet die Möglichkeit Daten zu verschieben.

    Syntax:

    Quellcode

    1. mv [Quelle] [Ziel]


    Zu dem Befehl mv gibt es den Parameter -i == interaktiv:
    Vor dem Überschreiben von Daten Rückfragen.

    Im Beispiel wird die Datei "minecraft.jar" aus dem HOME-Verzeichnis in Downloads/ verschoben:

    Quellcode

    1. [tim@linux ~]$ ls
    2. Arbeitsfläche/ Downloads@ Musik@ Videos@
    3. Bilder@ mcpatcher-2.2.2.jar Projects@ VirtualBox VMs/
    4. Dokumente@ minecraft.jar tmp/
    5. [tim@linux ~]$ mv minecraft.jar Downloads/
    6. [tim@linux ~]$

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von LusH ()

    Für den Inhalt des Beitrages 30731 haftet ausdrücklich der jeweilige Autor: LusH

  • rm - remove

    Der Befehl rm dient zum löschen von Daten.

    Syntax:

    Quellcode

    1. rm [Dateiname1] [Dateiname2] [Dateiname n]


    Der Befehl rm bietet zwei Parameter:

    Quellcode

    1. -f == force
    2. (löschen erzwingen)

    Quellcode

    1. -r == rekursiv
    2. (Gesamter Inhalt eines Verzeichnisses löschen)


    Im Beispiel wird die Textdatei "rm" aus dem HOME-Verzeichnis gelöscht:

    Quellcode

    1. [tim@linux ~]$ ls
    2. Arbeitsfläche/ Downloads@ Musik@ tmp/
    3. Bilder@ mcpatcher-2.2.2.jar Projects@ Videos@
    4. Dokumente@ minecraft.jar rm.txt VirtualBox VMs/
    5. [tim@linux ~]$ rm rm.txt
    6. rm: reguläre leere Datei „rm.txt“ entfernen? J
    7. [tim@linux ~]$ ls
    8. Arbeitsfläche/ Downloads@ Musik@ Videos@
    9. Bilder@ mcpatcher-2.2.2.jar Projects@ VirtualBox VMs/
    10. Dokumente@ minecraft.jar tmp/
    11. [tim@linux ~]$
    Alles anzeigen

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von LusH ()

    Für den Inhalt des Beitrages 30732 haftet ausdrücklich der jeweilige Autor: LusH

  • chmod - change modus

    Der Befehl chmod ändert Schreib (w) .- Lese (r),- Ausführrechte (x) für Besitzer (u), Gruppe (g),
    Rest der Welt (o)und/oder alle (a).

    Syntax:

    Quellcode

    1. chmod [ugoa][+-=][rwx] Datei


    Zu dem Befehl chmod, gibt es die Parameter:

    Quellcode

    1. [ugoa][+-=][rwx] +
    2. + == hinzufügen


    Quellcode

    1. [ugoa][+-=][rwx] -
    2. - == entfernen


    Quellcode

    1. [ugoa][+-=][rwx] =
    2. = == gleichsetzen


    Im Beispiel wird jedem der in der Gruppe user ist - Write, Read, Execute-Rechte -
    für die Datei minecraft.jar hinzugefügt:

    Quellcode

    1. [tim@linux ~]$ chmod u+rwx minecraft.jar
    2. [tim@linux ~]$


    Die häufig genutzte Option -R oder --recursive ändert die Rechte von Dateien rekursiv.

    Dieser Beitrag wurde bereits 3 mal editiert, zuletzt von LusH ()

    Für den Inhalt des Beitrages 30733 haftet ausdrücklich der jeweilige Autor: LusH

  • chown - Change Owner

    Mit dem Befehl chown kann man den Besitzer von Dateien festlegen.

    Syntax:

    Quellcode

    1. chown User:Gruppe [Datei]


    Im Beispiel wird der User tim aus der Gruppe users Besitzer der Datei chown.txt:

    Quellcode

    1. [tim@linux ~]$ chown tim:users chown.txt
    2. [tim@linux ~]$


    Die häufig genutzte Option -R oder auch --recursive ändert den Eigentümer von Dateien/Verzeichnissen rekursiv.

    Dieser Beitrag wurde bereits 3 mal editiert, zuletzt von LusH ()

    Für den Inhalt des Beitrages 30734 haftet ausdrücklich der jeweilige Autor: LusH

www.cyberport.de