Ruby-Programmierung. Terminal für Einsteiger - Teil 2
Damian Watroba
Software Engineer
Hallo! Diesmal haben wir eine weitere Reihe nützlicher Befehle vorbereitet, die Ihnen helfen sollen, sich mit der Verwendung des Terminals vertraut zu machen. Der erste Teil des Tutorials ist hier zu finden: Terminal für Einsteiger - Teil 1.
Terminal - Theorie
Wo bin ich?
Datum - Wenn wir einen solchen Bedarf und Wunsch haben, können wir das aktuelle Datum im Terminal überprüfen.
damian@rubydev:~$ Datum
wto, 7 sty 2020,
Beitritt und Auflistung
Katze (concatenate) - dieser Befehl hat viele Verwendungsmöglichkeiten, aber die beliebteste ist die Anzeige des Inhalts von Dateien.
In dem folgenden Beispiel sehen Sie zwei Dateien - ruby_1.txt und ruby_2.txt - mitsamt ihrem Inhalt. Die cat [Dateiname] zeigt den Inhalt einer einzelnen Datei an, während der Befehl cat [Dateiname 1] [Dateiname 2] zeigt den Inhalt der beiden Dateien in der richtigen Reihenfolge an.
Es gibt noch eine weitere Sache, die wir mit dem Katze Befehl - leiten Sie die Standardausgabe in eine neue Datei um, indem Sie den > Zeichen. Dies bedeutet, dass der auf dem Bildschirm angezeigte Inhalt in eine angegebene Datei umgeleitet wird. Wenn die angegebene Datei am angegebenen Ort nicht existiert, wird sie automatisch erstellt.
Was haben wir hier?
ps (Prozessstatus) - gibt grundlegende Informationen über Prozesse im System aus. Dieser Befehl ist vergleichbar mit dem Windows Task Manager, in dem Sie eine Liste aller laufenden Anwendungen und Prozesse finden. Jede Anwendung, jedes Programm oder jeder laufende Befehl wird zu einem Prozess mit einer eindeutigen Kennung, der sogenannten PID (Process IDentifier).
Wie Sie sehen können, ist die ps Befehl hat uns nicht viel gebracht. Um alle aktiven Prozesse zu überprüfen, müssen wir den Befehl ps mit einer aux Argument.
Aby zobaczyc wszystkie procesy w systemie, uzywajac skladni BSD:
ps ax
ps axu
töten - Manchmal antwortet eine Anwendung oder ein Programm nicht mehr. Dies ist der Fall töten Kommando ist sehr nützlich. Zu töten einen Prozess, müssen Sie lediglich die töten Befehl mit seiner PID.
Wie finden Sie die PID des Prozesses? Am besten verwenden Sie die bereits erwähnte ps aux Befehl. Es kann vorkommen, dass töten allein ist nicht ausreichend, da der Prozess auf das Ende eines anderen abhängigen Prozesses wartet. Deshalb, töten wird auch häufig mit dem -9 Option. Sie bedeutet die sofortige Beendigung des laufenden Prozesses. Vergewissern Sie sich also, bevor Sie diese Option verwenden, dass alle wichtigen Änderungen gespeichert wurden. Werfen wir einen Blick auf ein Beispiel für einen solchen Befehl:
damian@rubydev:~$ kill -9 1234
Echo!
echo - Dies ist der Befehl, der den ihm anvertrauten Text zurückgibt. Ähnlich wie im Fall von Katzekönnen Sie den eingegebenen Text in eine Datei mit Hilfe des Befehls echo Befehl.
Es kann nützlich sein
Wenn Sie die Historie der zuvor eingegebenen Befehle einsehen wollen, können wir die Funktion Geschichte Befehl.
Wenn Sie das Terminalfenster löschen wollen, benötigen Sie die klar Befehl.
Die Ausgang schließt, wie der Name schon sagt, das Terminal oder die aktuell geöffnete Registerkarte.
Der Anfang und das Ende
Die Kopf zeigt den Anfang einer Datei oder einer Standardausgabe an. Der Standardwert sind die ersten zehn Zeilen. Sie können ihn mit der Option -n Option, bei der Sie eine beliebige ganze Zahl unter n. Um dies besser zu veranschaulichen, möchte ich ein Beispiel anführen.
Wir werden eine Textdatei benötigen. Verwenden wir die bereits erwähnte Geschichte Befehl und die Umleitung > Charakter.
damian@rubydev:~$ Geschichte > Geschichte.txt
Auf diese Weise wurde eine Datei mit der gesamten Historie der Befehle erstellt. Dann wird mit head -15 geschichte.txtist es möglich, die ersten fünfzehn in das Terminal eingegebenen Befehle anzuzeigen.
Ähnlich verhält es sich mit der Schwanz zeigt uns die letzten Zeilen der ausgewählten Datei.
Suche
grep (global regular expression print) wird verwendet, um den Text nach einer Zeichenkette zu durchsuchen, die dem angegebenen regulären Ausdruck (RegExp) entspricht. Er wird sehr häufig verwendet, um einen bestimmten Ausdruck in einer Datei zu finden oder die zurückgegebene Ausgabe zu "filtern". Zu diesem Zweck verwenden wir die zuvor erstellte Geschichte.txt Datei und prüfen Sie, wie oft die ps Befehl wurde bisher verwendet:
damian@rubydev:~$ grep ps history.txt
82 echo "Lorem ipsum rubydev 1" > ruby_1.txt
84 echo "Lorem ipsum rubydev 2" > ruby_2.txt
92 ps
93 ps aux
94 ps --help
95 man ps
96 ps -h
98 ps --help
99 ps -ejH
100 ps aux
101 man ps
102 ps -aux
103 ps aux
109 history | grep ps
113 echo "lorem ipsum rubydev" > rubydev.rb
Wie Sie sehen können, grep auch Wörter gefunden, die den Ausdruck enthalten ps. Der in unserem Beispiel verwendete Ausdruck war ps nur. Ich habe vor, einen separaten Artikel über reguläre Ausdrücke zu schreiben, aber vorerst möchte ich Sie ermutigen, das Thema auf eigene Faust zu erforschen. Grundlegende Kenntnisse sind im Moment gerade ausreichend.
Kombinierte Befehle
| (pipe) ist ein Symbol, das es ermöglicht, mehrere Befehle (Prozesse) zu kombinieren und gleichzeitig zu starten. Insbesondere können wir die Ausgabe (stdout) des einen Befehls mit der Eingabe (stdin) des anderen kombinieren. Dies ist eine sehr nützliche Funktion.
Die Ausgabe (stdout) des Programms Geschichte wird von dem Befehl grep und gibt alle Zeichenketten zurück, die die gleiche ps Ausdruck.
Geschichte | Schwanz -5
In diesem Fall ist die Verwendung der Schwanz mit dem Befehl -5 werden die letzten fünf Zeilen der Ausgabe (stdout) des Programms Geschichte Befehl.
Diese Kombination ist besonders nützlich, wenn Sie nach der PID des Prozesses suchen, den Sie beenden möchten. Denken Sie daran, dass die Ausführung des grep Befehl wird auch ein Prozess erstellt, daher sehen Sie normalerweise die PID des grep Prozess in der letzten Zeile.
Zugriff auf Dateien und Verzeichnisse
Bevor wir zu dem Befehl zum Ändern der Art der Zugriffsberechtigung kommen, ist es erwähnenswert, dass jedes Betriebssystem über sogenannte Zugriffsrechte verfügt. Das bedeutet, dass jedes Verzeichnis oder jede Datei Metadaten darüber enthält, wer Zugriff darauf hat. Die erste Spalte der folgenden "Ausgabe" verrät uns alles darüber (im Terminalfenster angezeigte Ausgabeinformationen):
Geschichte | Schwanz -5
Der Zugriff auf Dateien und Verzeichnisse wird durch drei Komponenten definiert. Die erste (Benutzer) steht für einen einzelnen Benutzer, die zweite (Gruppe) für eine Gruppe, während die dritte (andere) für alle anderen Benutzer gilt.
d - bestimmt, ob es sich um ein Verzeichnis oder eine Datei handelt (d - Verzeichnis, f - Datei)
rwx - Benutzerrechte
r-x - Berechtigungen für die Gruppe
r-x - berechtigt für alle anderen Benutzer
Zur Vereinfachung kann man sie in drei Teile unterteilen:
Kommen wir nun zur eigentlichen Bedeutung dieser Rechte:
r (lesen) - ermöglicht es Ihnen, den Inhalt zu lesen
w (schreiben) - ermöglicht es Ihnen, den Inhalt zu ändern
x (Ausführen) - ermöglicht es Ihnen, eine Datei auszuführen oder ein Verzeichnis zu öffnen
Datei- oder Verzeichnisberechtigungen können mit dem Befehl chmod (Modus ändern). Der einfachste Weg, die Berechtigungen zu ändern, ist die Verwendung des eingebetteten Systems und die Angabe der Nummer für die Berechtigung für den Benutzer, die Gruppe und andere.
Um dieses Wissen in die Praxis umzusetzen, ändern wir die Berechtigungen für die zuvor aufgeführten wideo Verzeichnis für Gruppen und andere Benutzer - nehmen Sie alle Rechte für diese beiden weg, aber lassen Sie die volle Berechtigung nur für den einzelnen Benutzer. In der obigen Tabelle wird "keine Rechte" durch die Zahl 0. Unmittelbar nach der chmod müssen Sie drei Ziffern eingeben, von denen jede die Rechte für die jeweilige Kategorie angibt (Benutzer - Gruppe - Andere). Am Ende geben Sie den Namen der Datei oder des Verzeichnisses an. Der Befehl sollte wie folgt aussehen:
damian@rubydev:~$ chmod 700 Wideo
damian@rubydev:~$ ls -l | tail -1
drwx------ 2 damian damian 4096 sty 6 17:41 Wideo
Zusammenfassung
Es gibt eine ganze Reihe weiterer Befehle, und der einfachste Weg, sie alle zu beherrschen, besteht darin, die Lösung bestimmter Probleme zu üben. Wenn Sie mehr über sie erfahren möchten, Ich empfehle das Pocket-Linux-Lexikon der Befehle. Meiner Meinung nach ist es eine angenehme Art, sich in öffentlichen Verkehrsmitteln die Zeit zu vertreiben.