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

So verwenden Sie Bash-Dateitestoperatoren in Linux

Dateitestoperatoren werden in Linux verwendet, um Attribute von Dateien zu überprüfen und zu verifizieren, wie z. B. den Besitz oder ob es sich um einen Symlink handelt. Jeder Testoperator hat einen bestimmten Zweck. Die wichtigsten Operatoren sind -e und -s. In diesem Artikel lernen Sie, Dateien mit der if-Anweisung zu testen, gefolgt von einigen wichtigen Testoperatoren in Linux.

In diesem Artikel behandeln wir die folgenden Testoperatoren:

  • If -e Testoperator
  • If -s Testoperator
  • If -d Testoperator
  • If -h Testoperator
  • If -r Testoperator
  • If -O Testoperator

Verwendung des if-e-Operators

Das Hauptziel der Verwendung des if-e-Testoperators in Centos 8 besteht darin, zu überprüfen, ob sich die spezifische Datei im Verzeichnis befindet oder nicht. Wenn Sie also die Existenz einer Datei mit if-e überprüfen möchten, müssen Sie die folgenden Schritte ausführen:

Erstellen Sie zwei neue Dateien mit den Namen  Test.txt  bzw. FileTestOperators.sh. Die Erweiterung .sh gehört zur Bash-Datei. Sie können beide direkt im Home-Verzeichnis oder mit folgendem Befehl erstellen:

$ touch Test.txt
$ touch FileTestOperators.sh

Wenn Sie authentifizieren möchten, ob die Datei erstellt wurde oder nicht, verwenden Sie den folgenden Befehl:

$ ls -l Test.txt

Sie können sehen, dass beide Dateien im Home-Verzeichnis erstellt werden.

Öffnen Sie die Datei FileTestOperators.sh und notieren Sie das Skript darin, wie im folgenden Bild gezeigt. Wir haben eine Variablendatei initialisiert und ihr die Datei Test.txt als Wert übergeben. In der If-Anweisung verwenden wir den Operator -e, um die Existenz der Datei Test.txt mit der Variablen file.

zu bestätigen

Führen Sie den unten aufgeführten Befehl aus, um die Existenz der Datei zu überprüfen:

$ bash FileTestOperators.sh

Da die Datei im Verzeichnis existiert, ist die Ausgabe True.

Verwendung des if-s-Operators

Der Zweck der Verwendung des if-s-Testoperators in Centos 8 besteht darin, zu überprüfen, ob die angegebene Datei vorhanden und leer ist oder nicht. Wenn Sie es also mit if-e verifizieren möchten, müssen Sie die folgenden Schritte ausführen:

Wir werden dieselben Dateien mit einer geringfügigen Änderung in der Datei FileTestOperators.sh verwenden. Sie müssen nur den Operator -s anstelle von -e in der if-Anweisung ändern.

Führen Sie den unten aufgeführten Befehl aus, um zu prüfen, ob die Datei leer ist oder nicht:

$ bash FileTestOperators.sh

Da die Datei leer ist, ist die vom Operator -s generierte Ausgabe False

Jetzt müssen Sie etwas Text in die Datei Test.txt einfügen, um das Ergebnis zu ändern, wie in der Abbildung unten gezeigt.

Führen Sie erneut den unten genannten Befehl aus:

$ bash FileTestOperators.sh

Da die Datei dieses Mal nicht leer ist, ist die vom Operator -s generierte Ausgabe wahr, wie im Bild gezeigt.

Sie können auch die folgenden beiden Befehle verwenden, um zu überprüfen, ob die Datei leer ist:

$ cat Test.txt
$ file Test.txt

Verwendung des if-d-Operators

Das Ziel der Verwendung des if-d-Testoperators in Centos 8 besteht darin, zu überprüfen, ob die spezifische Datei selbst ein Verzeichnis ist oder nicht. Wenn Sie es also mit if-d überprüfen möchten, sollten Sie die folgenden Schritte ausführen:

Auch hier verwenden wir wieder dieselben beiden Dateien mit einer geringfügigen Änderung in der Bash-Datei FileTestOperators.sh. Wir müssen den Operator -s durch den Operator -d in der if-Anweisung ersetzen, wie im folgenden Bild gezeigt.

Führen Sie also den unten genannten Befehl aus, um zu überprüfen, ob die Datei ein Verzeichnis ist oder nicht:

$ bash FileTestOperators.sh

Wie wir wissen, ist die Datei Test.txt kein Verzeichnis, weshalb der Operator -d False ausgibt. Test.txt ist kein Verzeichnis, wie in der Abbildung unten gezeigt.

Verwendung des if-h-Operators

Der if-h-Testoperator wird verwendet, um zu prüfen, ob die Datei ein symbolischer (weicher) Link ist oder nicht. Wenn Sie also die Existenz einer Datei mit if-h überprüfen möchten, müssen Sie die folgenden Schritte ausführen:

Erstellen Sie eine neue Datei mit dem Namen SymbolicFile.sh. Sie können es direkt im Home-Verzeichnis erstellen oder mit dem folgenden Befehl:

$ touch SymbolicFile.sh

Sie können die Datei SymbolicFile.sh im Home-Verzeichnis sehen, wie im folgenden Bild gezeigt.

Sie können alle Verzeichnisse und Dateien mit dem Befehl ls auflisten. Sie können sehen, dass die Datei SymbolicFile.sh auch wie im Bild gezeigt aufgelistet ist.

$ ls –l

Erstellen Sie einen symbolischen Link mit einem einfachen Link-Befehl. In diesem Befehl bezieht sich -s auf einen Softlink, SymbolicFile.sh ist eine Datei, deren Link erstellt wird, und NewSymbolicFile.sh ist ein symbolischer Link.

$ ln -s SymbolicFile.sh NewSymbolicFile.sh

Listen Sie erneut alle Verzeichnisse und Dateien auf. Sie können sehen, dass ein Softlink erstellt wurde.

Also verwenden wir wieder die FileTestOperators.sh-Bash-Datei mit einer kleinen Änderung. Ändern Sie den -d-Operator mit dem -h-Operator in der if-Anweisung. Diesmal müssen wir auch einen Dateinamen ändern. Wir müssen eine Datei verwenden, die selbst ein symbolischer Link ist, z. NewSymbolicFile.sh.

Sie können beide Dateien im Bild unten sehen.

Führen Sie nun den folgenden Befehl aus:

$ bash FileTestOperators.sh

Wie wir wissen, ist die Datei NewSymbolicFile.sh ein symbolischer Link, deshalb gibt der Operator -h True aus. NewSymbolicFile.sh ist ein symbolischer Link, wie im folgenden Bild gezeigt.

Verwendung des if-r-Operators

Der Testoperator if -r wird verwendet, um die Lesbarkeit der Datei zu prüfen, z. ob die Datei lesbar ist oder nicht. Wenn Sie es also mit if-r überprüfen möchten, müssen Sie diesen Schritten folgen:

Auch hier verwenden wir die Bash-Dateien „Test.txt“ und „FileTestOperators.sh“ mit einer geringfügigen Änderung. Ersetzen Sie den -h-Operator durch den -r-Operator in der if-Anweisung und weisen Sie der Variablendatei die Datei Test.txt als Wert zu.

Führen Sie nun den folgenden Befehl aus:

$ bash FileTestOperators.sh

Da wir wissen, dass die Datei Test.txt lesbar ist, gibt der Operator -r True! Test.txt ist lesbar.

Hinweis :Verwenden Sie die Operatoren -w bzw. -x, um zu überprüfen, ob die Datei beschreibbar und ausführbar ist oder nicht.

Verwendung des if-O-Operators

Der Zweck des if -O-Testoperators wird verwendet, um zu überprüfen, ob die Datei einem aktuellen Benutzer gehört oder nicht. Um es also mit if-O zu verifizieren, müssen Sie die folgenden Schritte ausführen:

Auch hier verwenden wir die Bash-Dateien Test.txt und FileTestOperators.sh mit einer kleinen Änderung. Ersetzen Sie den -r-Operator durch den -O-Operator in der if-Anweisung und weisen Sie die Test.txt-Datei als Wert der Variablendatei zu.

Führen Sie nun den folgenden Befehl aus:

$ bash FileTestOperators.sh

Da wir wissen, dass die Test.txt-Datei bereits dem aktuellen Benutzer gehört, gibt der -O-Operator True aus. Test.txt gehört einem aktuellen Benutzer.

Schlussfolgerung

In diesem Artikel haben Sie die wichtigsten und unterschiedlichsten Dateitestoperatoren und ihre Funktionsweise in Centos 8 kennengelernt.  Ich hoffe, Sie sind jetzt in der Lage, Dateien zu erstellen, das Vorhandensein von Dateien zu überprüfen, die Lesbarkeit von Dateien zu überprüfen, den Besitz von Dateien zu überprüfen, und Softlinks herstellen. Benutzer können sich wohl fühlen, nachdem sie diesen Artikel gründlich gelesen haben.


Linux
  1. So überprüfen Sie, ob eine Datei oder ein Verzeichnis in Bash vorhanden ist

  2. So verwenden Sie den md5sum-Befehl unter Linux

  3. So verwenden Sie den Touch-Befehl unter Linux

  4. So verwenden Sie den Tar-Befehl unter Linux

  5. Wie überprüfe ich Syslog in Bash unter Linux?

So verwenden Sie den Echo-Befehl in Bash-Skripten unter Linux

So erstellen und verwenden Sie eine Auslagerungsdatei unter Linux

So verwenden Sie AppImage unter Linux (Anfängerhandbuch)

So verwenden Sie den Befehl lsof unter Linux

Wie verwende ich gzip unter Linux?

So verwenden Sie den Linux-Befehl shred