Linux-Test-Command-Tutorial für Anfänger (mit Beispielen)
Manchmal möchten Sie während der Arbeit auf der Linux-Kommandozeile bestimmte Dinge testen, wie z.B. ganzzahlige Werte oder ob eine Datei von einem bestimmten Typ ist oder nicht? Es wird Sie freuen zu erfahren, dass es einen eingebauten Kommandozeilen-Utility-Test gibt, mit dem Sie die meisten dieser Vergleiche und Tests durchführen können.
In diesem Tutorial werden wir die Grundlagen dieses Tools anhand einiger leicht verständlicher Beispiele besprechen. Aber bevor wir das tun, ist es erwähnenswert, dass alle Beispiele in diesem Artikel auf Ubuntu 22.04 LTS getestet wurden.
Linux Test Befehl
Wie bereits oben erwähnt, wird der Befehl test zur Durchführung von Prüfungen und Vergleichen verwendet. Hier ist seine Syntax:
test EXPRESSION
Und hier ist, was die Man Page über dieses Dienstprogramm sagt:
test - check file types and compare values
Es folgen einige Beispiele im Stil von Fragen und Antworten, die Ihnen eine gute Vorstellung davon geben sollen, wie das Werkzeug funktioniert.
Anmerkung: Denken Sie daran, dass einige der Kommandozeilenoptionen, die test bietet, am nützlichsten sind, wenn sie innerhalb von Shell-Skripten verwendet werden.
Q1. Wie vergleicht man zwei Zeichenketten?
Ganz einfach, Sie müssen nur das Gleichheitszeichen (=) zwischen ihnen verwenden. Zum Beispiel:
test howto = forge
Besser wäre es, so etwas zu schreiben:
test howto = forge && echo "same"
Wenn also die Zeichenfolgen gleich sind, sollte das Wort „gleich“ mit echo in der Ausgabe ausgegeben werden, sonst sollte nichts gedruckt werden.
In ähnlicher Weise können Sie die folgende Vorlage verwenden, wenn Sie auf Ungleichheit testen wollen.
STRING1 != STRING2
Q2. Wie vergleicht man mit Hilfe von Test ganze Zahlen?
Das ist auch sehr einfach – vergleichen Sie sie einfach mit ‚-eq‘. Zum Beispiel:
test 5 -eq 7 && echo "same"
Hier ist ein Screenshot, der zeigt, wie diese Befehlszeilenoption funktioniert:
In ähnlicher Weise können Sie ‚-ge‚ verwenden, um größer oder gleich zu testen, ‚-gt‚ für größer als, ‚-le‚ für kleiner oder gleich, ‚-lt‚ für kleiner als und ‚-ne‘ für nicht gleich.
Q3. Wie kann man Dateien mit test testen/vergleichen?
Um zu testen, welche der beiden Dateien neuer sind, verwenden Sie ‚-nt‘. Zum Beispiel:
test file1 -nt file2
Hier ist, wie ich es auf meinem System getestet habe:
Andere Dateivergleiche, die Sie durchführen können, beinhalten, welche der beiden Dateien älter ist (-ot) und ob zwei Dateien die gleiche Geräte- und Inode-Nummer haben (-ef).
Um zu prüfen, ob eine bestimmte Datei ein Verzeichnis ist, verwenden Sie die Option -d wie folgt:
test -d [Dateiname]
Zum Beispiel:
test -d neu_dir
Nachfolgend finden Sie einige weitere Testoptionen für den Dateityp, die der Befehl ‚test‘ bietet:
Q4. Wie geht der Testbefehl mit symbolischen Links um?
Der Testbefehl derefenziert symbolische Links, obwohl es ein paar Ausnahmen gibt. Folgendes steht in der Manpage dazu:
Except for -h and -L, all FILE-related tests dereference symboliclinks.
Falls Sie sich nicht bewusst sind, prüfen sowohl -h als auch -L, ob eine Datei existiert und ein symbolischer Link ist – ihr Ausschluss macht also Sinn, oder?
Schlussfolgerung
Der Testbefehl bietet eine Menge Optionen, aber im Großen und Ganzen können Sie diese in 3-4 Kategorien einteilen. Zu jeder Kategorie haben wir Beispiele angegeben. Probieren Sie diese aus, und wenn Sie fertig sind, gehen Sie zur Manpage des Dienstprogramms, um weitere Informationen zu erhalten.