Grundkurs: bash

Diskutiere Grundkurs: bash im Linux Forum im Bereich Linux; Grundkurs: bash bash: Kommandozeilen-Interpreter von Linux. Sieht auf den ersten Blick wie DOS aus, hat aber damit exakt soviel zu tun wie ein ein...
#1
mastermind

mastermind

Threadstarter
Dabei seit
02.02.2002
Beiträge
286
Grundkurs: bash
bash: Kommandozeilen-Interpreter von Linux. Sieht auf den ersten Blick wie DOS aus, hat aber damit exakt soviel zu tun wie ein ein S-Klasse-Mercedes mit einem Trabi.

Wieso bash? Wo's doch KDE und Gnome gibt???
Weil für viele Dinge die Bash-Shell wesentlich komfortabler ist als die grafische Oberfläche - und weil diese Oberfläche z.B. bei der Arbeit auf dem Webserver nicht vorhanden ist.

Hinweis:
Für alle folgenden Befehle gilt: nicht jeder darf alles. Z.B. dürfen Sie als normaler User das Home-Verzeichnis von Root auf den meisten Systemen nicht einmal anschauen. Um eine Datei kopieren zu können, müssen Sie a) das Recht haben, die Quelldatei zu lesen, und b) das Recht, die Zieldatei zu schreiben. Fehlt eins von beiden, wird's nichts mit dem Kopieren. Zu den Permissions aber weiter unten mehr.

pwd, ls und find - wir sehen uns um
Zeigt an, in welches Verzeichnis das aktuelle ist (print work-directory)
pwd

Aktuelles Verzeichnis ansehen:
ls

Dasselbe in ausführlicher Form:
ls -l

Auch Unterverzeichnisse mit einbeziehen:
ls -R

Nur Unterverzeichnisse anzeigen:
ls -ld | grep "^d"
Dabei sind auch Wildcards erlaubt - so zeigen Sie z.B. alle Dateien an, die mit "a" beginnen:
ls -ld a* | grep "^d"

Verzeichnisse durchsuchen:
find -name dateiname

Dieser Befehl ist auch nützlich, wenn man z.B. nur noch weiß, dass die Zeichenfolge "hans" in der Datei vorkommt:
find -name *hans*

cd - Kletterübungen im Verzeichnisbaum
Verzeichnisse wechseln:
cd verzeichnisname
Beispiele:
cd /usr/local/httpd/htdocs wechselt in /usr/local/httpd/htdocs
cd .. wechselt ins nächsthöhere Verzeichnis
cd / wechselt ins Wurzelverzeichnis
cd wechselt ins Home-Verzeichnis

cp - Dateien kriegen Junge
cp quelle ziel

Beispiel:
cp brief.txt ~/ kopiert brief.txt in Ihr Homeverzeichnis
cp * .. kopiert alle Dateien im aktuellen Verzeichnis ins nächsthöhere Verzeichnis.

cp . .. macht genau dasselbe (. bedeutet "aktuelles Verzeichnis, .. nächsthöheres Verzeichnis).


rm - rabiate Müllabfuhr
Dieser Befehl ist mit großem Respekt zu betrachten!

rm dateiname
löscht die Datei dateiname - noch harmlos.

rm *hans*
löscht alle Datein im aktuellen Verzeichnis, die "hans" enthalten.

rm *
löscht alle Datein im aktuellen Verzeichnis, was im Fall einer Panne schon etwas ärgerlicher sein kann.

rm -R *
löscht auch alle Dateien in Unterverzeichnissen - phantastisch viel Ärger, wenn z.B. als Root in / angewandt. Daraus folgen zwei Regeln: Bei Verwendung der Option -R immer erst kurz durchatmen und überlegen: 'Will ich das wirklich?' Und: nur als Root einloggen, wenn es unbedingt nötig ist!

chmod - Erlauben und verbieten
chmod modus dateiname
Die Dateien dateiname kriegt die Permissions modus verpasst. Nehmen wir an, die Datei brief.txt soll ab sofort für alle User lesbar sein - drauf schreiben wollen aber nur Sie selber dürfen:

chmod 644 brief.txt

Permissions

1
Datei ausführen / Verzeichnis auflisten

2
schreiben

4
lesen



Gelten mehrere Rechte, so werden diese addiert (6 bedeutet: die Datei kann gelesen (2) und geschrieben (4) werden). Es existieren getrennte Rechte für den Besitzer der Datei, für die Gruppe, der der Besitzer angehört, und für alle übrigen User des Systems. Deshalb werden die Permissions als dreistellige Ziffernfolge angegeben. Beispiele:

600: der Besitzer der Datei (erste Stelle) darf lesen und schreiben, seine Gruppe und alle übrigen User dürfen die die weder lesen noch schreiben.

700: der Besitzer darf die Datei lesen, schreiben, und ausführen (vorausgesezt natürlich, es handelt sich um ein Programm oder ein Skript). Alle übrigen dürfen gar nichts.

777: alle dürfen alles.

444: alle (auch der Besitzer! ) dürfen die Datei nur lesen

Wenn Sie nun fragen, wer denn so verrückt sein soll, sich selbst derart die Hände zu binden? Grundvernünftige Menschen, lieber Leser, grundverünftige Leute sind das! Denken Sie an das Beispiel mit rm -R * - was ich nicht beschreiben darf, kann ich auch nicht irrtümlich löschen oder überschreiben.

Wenn Sie sich die Permissions der Linux-Systemdateien ansehen: sie sind gegen Eingriffe der User abgeschottet, nur Root hat hier Schreibrecht (und bei manchen Dateien noch nicht mal der - es gibt Dateien, die auch Root nur bearbeiten kann, wenn er sich vorher die Rechte dazu gibt).

Und jetzt wissen Sie auch, was passiert, wenn Sie als normaler User rm -R * auf der obersten Verzeichnisebene eingeben: Ihr Homeverzeichnis wird gelöscht, und das war's dann auch schon im wesentlichen (vorausgesetzt, Ihr System ist vernünftig installiert).

chown - meins wird deins
chown besitzer dateiname
Die Datei dateiname wird auf den neuen Besitzer "besitzer" übertragen. Auch dies geht wieder für mehrere Dateien in einem Rutsch:

chown besitzer *
überträgt alle Dateien im aktuellen Verzeichnis an "besitzer", und
chown -R besitzer dateiname gibt auch noch all die Dateien in den Unterverzeichnissen mit drein!

Aber auch hier gilt: Sie können nicht verschenken, was Ihnen nicht gehört.chown dürfen Sie nur bei Ihren eigenen Dateien ausführen (Dateien also, bei denen Sie als Besitzer eingetragen sind). Dies gilt auch für das Ändern von Permissions über chmod.



© Dieter Nennhuber , Quelle : www.pc-magazin.de
 
Thema:

Grundkurs: bash

Grundkurs: bash - Ähnliche Themen

  • Windows 10 Insider Preview Build 15002 verbessert Barrierefreiheit, Bash und Windows Defender

    Windows 10 Insider Preview Build 15002 verbessert Barrierefreiheit, Bash und Windows Defender: <p>Microsoft hat im Fast Ring das Windows 10 Insider Preview Build 15002 für PC veröffentlicht. Das Update enthält zahlreiche Verbesserungen...
  • Wie kann man von der Ubuntu Bash für Windows 10 auf externe Datenträger zugreifen?

    Wie kann man von der Ubuntu Bash für Windows 10 auf externe Datenträger zugreifen?: Hallo Insider Community, ich würde gerne mit meinem Surface mit der Ubuntu Bash für Windows 10, die Python/Perl Scripte direkt auf meiner micro...
  • Erste Schritte mit Bash auf Windows 10 Anniversary Update

    Erste Schritte mit Bash auf Windows 10 Anniversary Update: <p>Lernen Sie in diesem Video Bash auf Windows kennen. Dabei wird erklärt, was Bash ist und wie es auf Windows funktioniert. Zudem erfahren Sie...
  • Port Forwarding in Azure Container Services mit Bash auf Windows 10 einrichten

    Port Forwarding in Azure Container Services mit Bash auf Windows 10 einrichten: <p>Mit dem Anniversary Update hat Windows 10 mit Bash ein neues Feature erhalten, das für Entwickler und IT Professionals nützlich sein kann. Vor...
  • Vorgestellt: Bash-Kommandozeile unter Windows 10

    Vorgestellt: Bash-Kommandozeile unter Windows 10: <p>Im vierten Teil seiner Videoserie "Developers Home" beschäftigt sich Daniel Meixner, Technologieberater bei Microsoft Deutschland, ausführlich...
  • Ähnliche Themen

    Oben