GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Linux test Command Tutorial für Anfänger (mit Beispielen)

Manchmal möchten Sie bei der Arbeit an der Linux-Befehlszeile bestimmte Dinge testen, z. B. Ganzzahlwerte oder ob eine Datei einen bestimmten Typ hat oder nicht. Es wird Sie freuen zu hören, dass es ein integriertes Befehlszeilenprogramm test gibt damit können Sie die meisten dieser Vergleiche und Tests durchführen.

In diesem Tutorial werden wir die Grundlagen dieses Tools anhand einiger leicht verständlicher Beispiele erörtern. Aber bevor wir das tun, ist es erwähnenswert, dass alle Beispiele in dem Artikel auf Ubuntu 16.04 LTS getestet wurden.

Linux-Testbefehl

Wie oben bereits erwähnt, dient der Testbefehl dazu, Prüfungen und Vergleiche durchzuführen. Hier ist die Syntax:

test EXPRESSION

Und hier ist, was die Manpage über dieses Dienstprogramm sagt:

test - check file types and compare values

Im Folgenden finden Sie einige Beispiele im Q&A-Stil, die Ihnen eine gute Vorstellung davon vermitteln sollen, wie das Tool funktioniert.

Hinweis :Denken Sie daran, dass einige der von Test bereitgestellten Befehlszeilenoptionen am nützlichsten sind, wenn sie in Shell-Skripten verwendet werden.

F1. Wie vergleiche ich zwei Strings?

Einfach, Sie müssen nur das Gleichheitszeichen (=) zwischen ihnen verwenden. Zum Beispiel:

test howto = forge

Ein besserer Weg wäre, so etwas zu schreiben:

test howto = forge && echo "same"

Wenn also die Zeichenketten gleich sind, sollte das Wort "gleich" in der Ausgabe ausgegeben werden, andernfalls sollte nichts ausgegeben werden.

In ähnlicher Weise können Sie die folgende Vorlage verwenden, wenn Sie auf Ungleichheit testen möchten.

STRING1 != STRING2

Q2. Wie vergleiche ich Ganzzahlen mit Test?

Dies 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:

Ähnlich 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 ungleich.

Q3. Wie teste/vergleiche ich Dateien mit test?

Um zu testen, welche der beiden Dateien neuer ist, verwenden Sie '-nt'. Zum Beispiel:

test file1 -nt file2

So habe ich es auf meinem System getestet:

Andere Dateivergleiche, die Sie durchführen können, beinhalten, welche der beiden Dateien älter ist (-ot) und ob zwei Dateien dieselben Geräte- und Inode-Nummern haben (-ef).

Um zu überprüfen, ob eine bestimmte Datei ein Verzeichnis ist, verwenden Sie die Option -d wie folgt:

test -d [Dateiname]

Zum Beispiel:

test -d neues_verzeichnis

Folgend sind einige andere Dateityp-Testoptionen, die der 'test'-Befehl bietet:

Der Testbefehl dereferenziert symbolische Links, obwohl es einige Ausnahmen gibt. Folgendes sagt die Manpage dazu:

Except for -h and -L, all FILE-related tests dereference symboliclinks.

Falls Sie es nicht wissen, überprüfen sowohl -h als auch -L, ob eine Datei existiert und ein symbolischer Link ist - also macht ihr Ausschluss Sinn, oder?

Schlussfolgerung

Der Testbefehl bietet viele Optionen, aber im Großen und Ganzen können Sie sie in 3-4 Kategorien einteilen. Wir haben Beispiele für jede Kategorie bereitgestellt. Probieren Sie diese aus, und wenn Sie fertig sind, besuchen Sie die Manpage des Dienstprogramms, um weitere Informationen zu erhalten.


Linux
  1. Linux tac Command Tutorial für Anfänger (mit Beispielen)

  2. Linux-Benutzer Befehls-Tutorial für Anfänger (mit Beispielen)

  3. Linux sum Command Tutorial für Anfänger (mit Beispielen)

  4. Linux sleep Command Tutorial für Anfänger (mit Beispielen)

  5. Linux basename Command Tutorial für Anfänger (mit Beispielen)

Linux Look Command Tutorial für Anfänger (mit Beispielen)

Linux-Lsattr-Befehls-Tutorial für Anfänger (mit Beispielen)

Linux tload Command Tutorial für Anfänger (mit Beispielen)

Linux znew Command Tutorial für Anfänger (mit Beispielen)

Linux zdump Command Tutorial für Anfänger (mit Beispielen)

Linux tr Command Tutorial für Anfänger (mit Beispielen)