Ruby-Programmierung. Terminal für Einsteiger - Teil 1
Damian Watroba
Software Engineer
Es ist an der Zeit, den zweiten Punkt (Terminal) aus dem Eintrag Wie man in 7 Schritten mit der Programmierung in Ruby beginnt zu besprechen. Ich lade Sie nun ein, den Inhalt zu lesen und einige praktische Übungen zu machen, die ich für Sie vorbereitet habe. Los geht's!
Terminal - Theorie
Das Terminal ist ein grundlegendes Werkzeug in jedem Betriebssystem, auch Konsole oder Befehlszeile genannt. Jedes Mal, wenn Sie einen dieser Begriffe hören, werden Sie wissen, dass es sich darum handelt. Es ermöglicht die Kommunikation mit der System-Shell, zum Beispiel mit bass (der Standard-Shell von Ubuntu). Die Shell fungiert als Vermittler zwischen dem Betriebssystem oder den Anwendungen und dem Benutzer. Vereinfacht gesagt, ermöglicht die Konsole es Ihnen, dem System Befehle zu erteilen. Es spielt keine Rolle, in welcher Sprache Sie programmieren - je eher Sie dieses Werkzeug beherrschen, desto besser. Das Terminal wird verwendet, um Programme auf Ihrem Rechner zu installieren/auszuführen, Computerressourcen zu verwalten, durch Verzeichnisse zu navigieren, Dateien zu erstellen oder vorbereitete Skripte auszuführen. Diese Fähigkeiten sind notwendig, wenn Sie einen Server verwalten, der keine grafische Benutzeroberfläche hat (GUI).
Das Tastaturkürzel zum Öffnen des Terminals lautet ctrl + alt + t
Viele Leute versuchen, das Erlernen der Kommandozeile zu verschieben, indem sie nach Versionen von Programmen mit einer schönen grafischen Oberfläche suchen. Wenn Sie sich jedoch auf das Abenteuer Programmieren einlassen wollen, wird das Terminal ein unverzichtbares Element des Lernens sein, also ist es Zeit, sich damit anzufreunden. Die Anfänge können hart sein, aber keine Sorge.
Terminal - Praxis
Im obigen Bild haben wir ein bereits geöffnetes Ubuntu-Terminal, das Sie sehen können:
damian@rubydev:~$
Der erste Teil, vor dem Doppelpunkt, ist nichts anderes als der Benutzername, den wir bei der Installation von Ubuntu gewählt haben, und der Name unseres Computers. Allerdings ist die Tilde ~ bedeutet das Heimatverzeichnis. Das letzte Zeichen $ ist der so genannte "Prompt". Danach können Befehle eingegeben werden.
Wo bin ich?
pwd (Arbeitsverzeichnis drucken) - es gibt immer den Pfad zu dem Ort zurück, an dem Sie sich gerade befinden. Wenn Sie sich verirren, können Sie immer die Funktion pwd Befehl.
An dieser Stelle sei darauf hingewiesen, dass Sie sich unmittelbar nach dem Start der Konsole immer in Ihrem Heimatverzeichnis befinden, d.h. / home / USER_NAME, wobei BENUTZER_NAME steht für Ihren Benutzernamen.
Zeig mir, was du hast!
ls (Liste) - ist einer der am häufigsten verwendeten Befehle, um den Inhalt des Verzeichnisses anzuzeigen, in dem Sie sich gerade befinden.
Befehle können auch Argumente (Optionen) annehmen, die das Verhalten Ihrer Befehle in irgendeiner Weise verändern. Sie können sie zusammen oder getrennt schreiben, z.B.:
damian@rubydev:~$ ls -la
oder:
damian@rubydev:~$ ls -l -a
-l ist eine Option, die Dateien und Verzeichnisse in Form einer Liste mit detaillierten Informationen ausgibt, während -a oder --alle gibt auch versteckte Dateien aus (d.h. Dateien, deren Namen mit einem Punkt beginnen).
Den übergebenen Optionen geht in der Regel ein - oder --. Ein weiterer nützlicher Trick besteht darin, den Pfad zu dem Verzeichnis, dessen Inhalt Sie überprüfen möchten, direkt nach ls oder nach den übergebenen Optionen (falls Sie diese verwenden). Auf diese Weise werden Sie es tun, ohne Ihren aktuellen Standort zu ändern.
In diesem Fall haben wir erfahren, welche Dateien wir in der Dokumente ohne das Home-Verzeichnis zu verlassen.
Machen wir uns auf den Weg!
Es ist an der Zeit, Ihr System ein wenig zu erforschen und zu lernen, wie man sich darin bewegt. Wir werden die cd (Verzeichnis wechseln) zu verschieben.
Wenn Sie sich für die Dokumente von Ihrem Home-Verzeichnis aus, sieht der Befehl wie folgt aus: cd Dokumente. Um sicherzugehen, dass Sie an der richtigen Stelle sind, können Sie sie mit dem bereits bekannten pwd Befehl:
Wenn Sie zurückgehen wollen, können Sie cd ..aber denken Sie daran, dass .. bringt Sie zurück zum übergeordneten Verzeichnis, nicht zu dem Ort, von dem aus Sie den Befehl eingegeben haben. Vielleicht veranschaulicht dieser Bildschirm dieses Problem besser:
Es lohnt sich auch, einige Abkürzungen zu kennen, die Ihnen helfen werden, effizienter zu arbeiten. Die cd oder cd ~ selbst führt Sie direkt zum Home-Verzeichnis, und zwar von jeder beliebigen Stelle Ihres Systems aus.
damian@rubydev:~/Pulpit/Praca$ cd
damian@rubydev:~$ pwd
Wählen Sie /, wenn Sie zum Stammverzeichnis, dem so genannten "Root", gelangen wollen. Es ist das Basisverzeichnis des Systems und enthält die Verzeichnisse mit den Konfigurationsdateien, den installierten Anwendungen und den Benutzerverzeichnissen (einschließlich Ihres Home-Verzeichnisses).
damian@rubydev:~$ cd /
damian@rubydev:/$ pwd
/
Eine weitere Arbeitserleichterung ist die Verwendung der TAB-Taste. Sie müssen nicht jedes Mal den vollständigen Namen des Verzeichnisses eingeben, in das Sie wechseln wollen, und sich auch nicht an den vollständigen Namen erinnern. Wenn Sie den ersten Buchstaben des Katalogs eingeben und TAB drücken, schlägt das Terminal die verfügbaren Optionen vor oder führt den Befehl sofort aus, wenn es nur eine Möglichkeit gibt. Probieren wir es aus:
damian@rubydev:/$ cd P[tab]
Pobrane/ Publiczny/ Kanzel/
damian@rubydev:/$ cd P
damian@rubydev:~$ cd D[Registerkarte]
damian@rubydev:/$ cd Dokumenty/
Wir werden den Tabulator in dieser Schulung recht häufig benutzen.
Hilfe?
Haben Sie vergessen, mit welchen Optionen der <codecd arbeitet? Sie können die Dokumentationsunterstützung nutzen, die Ihr System bietet. Die man (manuell) wird hierfür verwendet:
damian@rubydev:/$ man cd
Dies ist nicht die einzige Möglichkeit. Sie können auch die --help oder -h die Ihnen zum Beispiel eine Schnellhilfe anzeigt:
damian@rubydev:~$ ls --help
Aufgaben:
1. Finden Sie heraus, welche anderen Optionen neben -l -a die ls Befehl akzeptieren kann, und welche Angaben der -l Option genau zurück.
2. Da Sie durch die Verzeichnisse navigieren können, machen Sie sich mit der Dateistruktur Ihres Systems vertraut.
Zeit, etwas hinzuzufügen und zu ändern!
Um neue Verzeichnisse zu erstellen, in denen Sie Ihre Projekte aufbewahren werden, verwenden Sie den Befehl mkdir (make directory), gefolgt von dem Namen Ihrer Wahl.
damian@rubydev:~/Pulpit$ mkdir Projekty
damian@rubydev:~/Pulpit$ ls
Praca Projekty
Wenn Sie eine Datei erstellen wollen, können Sie die Funktion berühren. Befehl:
damian@rubydev:~/Pulpit/Projekty$ touch rubydev.rb
damian@rubydev:~/Pulpit/Projekty$ ls
rubydev.rb
Da Sie neue Verzeichnisse und Dateien hinzufügen können, können Sie diese auch kopieren! Um die Dateien zu kopieren, verwenden Sie die cp (copy), und zum Kopieren von Verzeichnissen cp die -r (rekursive) Option. Beim Kopieren einer Datei / eines Verzeichnisses, nimmt der Befehl zwei Parameter:
die Datei, die Sie kopieren möchten, z. B. die zuvor erstellte rubydev.rb Datei,
den Ort, an den Sie kopieren (Sie können der Kopie einen neuen Namen geben, indem Sie ihn am Ende des Zielpfads einfügen).
Ich habe die Datei rubydev.rb in das übergeordnete Verzeichnis kopiert, d.h. in das Verzeichnis Desktop
Sie können auch Dateien übertragen. Versuchen wir, die zuvor kopierte Datei in das Verzeichnis, in dem Sie sich befinden, zurück zu verschieben und gleichzeitig ihren Namen zu ändern.
Wir verschieben die Datei rubydev_copy.rb aus dem übergeordneten Verzeichnis in das Verzeichnis, in dem wir uns gerade befinden
Um Dateien und Verzeichnisse zu verschieben, verwenden Sie die mv (move), der - genau wie cp - benötigt zwei Eingangsinformationen: was und wohin bewegt werden soll.
Unnötig? Streichen wir!
Normalerweise haben Sie nach einiger Zeit Dateien und Verzeichnisse, die Sie nicht mehr benötigen oder verwenden. Es gibt auch entsprechende Befehle, um solche Dateien und Verzeichnisse zu löschen.
rmdir (Verzeichnis entfernen) - löscht das leere Verzeichnis, das Sie als Parameter angeben. Wenn Sie mehrere Pfade zu Verzeichnissen angeben, werden sie alle gelöscht.
rm (remove) - löscht die Datei. Um ein Verzeichnis mit diesem Befehl zu löschen, müssen Sie die -r -f Option. Dieser Befehl akzeptiert nur einen Parameter, nämlich den Pfad zur Datei oder zum Verzeichnis. Wenn Sie alle Dateien in dem Verzeichnis, in dem Sie sich befinden, löschen wollen, können Sie die Option * Zeichen als Parameter. Der Befehl sieht dann wie folgt aus: rm *
damian@rubydev:~/Pulpit/Projekty$ ls rubydev_move.rb rubydev.rb
damian@rubydev:~/Pulpit/Projekty$ rm *
damian@rubydev:~/Pulpit/Projekty$ ls
damian@rubydev:~/Pulpit/Projekty$
Vor der Verwendung *vergewissern Sie sich (mit pwd), dass Sie an der richtigen Stelle sind, damit Sie keine wichtigen Dateien löschen.
Die zuvor genannten Optionen -r (rekursiv, löscht Dateien in Unterverzeichnissen) und -f (force, delete without confirmation, including files protected against deletion) werden zusammen verwendet, um ein Verzeichnis mit seinem gesamten Inhalt zu löschen. Daher sollten Sie vor der Verwendung von rm -rfmüssen Sie sicher sein, was Sie entfernen.
Aufgaben:
1. Lesen Sie mit man die Dokumentation zu den oben genannten Befehlen,
2. Erstellen Sie zwei Verzeichnisse: projekt_1, projekt_2
3. Erstellen Sie drei Dateien im Verzeichnis project_1 (beliebige Namen), z.B. application.rb, routes.rb, puma.rb
4. Kopieren Sie alle Dateien von projekt_1 zu projekt_2und dann löschen projekt_1.
Zusammenfassung
Wie Sie sehen, ist der Umgang mit dem Terminal nicht schwierig, er erfordert nur ein wenig Übung. Um es wirklich zu beherrschen, empfehle ich, das Terminal für alle einfachen Operationen zu verwenden. Im zweiten Teil dieses Tutorials zeige ich Ihnen einige andere Befehle, die Sie kennen sollten. Auf Wiedersehen!