Operátoři testování souborů se v Linuxu používají ke kontrole a ověření atributů souborů, jako je vlastnictví nebo zda se jedná o symbolický odkaz. Každý testovací operátor má specifický účel. Nejdůležitější operátory jsou -e a -s. V tomto článku se naučíte testovat soubory pomocí příkazu if následovaného některými důležitými testovacími operátory v Linuxu.
V tomto článku se budeme zabývat následujícími testovacími operátory:
- Pokud -e testovací operátor
- Pokud -s testovací operátor
- Pokud -d testovací operátor
- Pokud -h testovací operátor
- Pokud -r test operátor
- Pokud -O testovací operátor
Použití operátoru if -e
Hlavním cílem použití operátoru testu if-e v Centos 8 je ověřit, zda se konkrétní soubor nachází v adresáři nebo ne. Pokud tedy chcete ověřit existenci souboru pomocí if-e, musíte postupovat podle následujících kroků:
Vytvořte dva nové soubory s názvy Test.txt a FileTestOperators.sh. Přípona .sh patří k souboru bash. Obojí můžete vytvořit přímo v domovském adresáři nebo pomocí následujícího příkazu:
$ touch Test.txt
$ touch FileTestOperators.sh
Pokud chcete ověřit, zda je soubor vytvořen či nikoli, použijte následující příkaz:
$ ls -l Test.txt
Můžete vidět, že oba soubory jsou vytvořeny v domovském adresáři.
Otevřete soubor FileTestOperators.sh a zapište si do něj skript, jak je znázorněno na obrázku níže. Inicializovali jsme soubor proměnných a předali jsme mu soubor Test.txt jako hodnotu. V příkazu If máme operátor -e používaný k potvrzení existence souboru Test.txt pomocí souboru proměnné.
Spusťte níže uvedený příkaz a zkontrolujte existenci souboru:
$ bash FileTestOperators.sh
Protože soubor v adresáři existuje, výstup bude True.
Použití operátoru if -s
Účelem použití operátoru if-s test v Centos 8 je ověřit, zda zadaný soubor existuje a je prázdný, nebo ne. Takže pokud to chcete ověřit pomocí if-e, musíte postupovat podle následujících kroků:
Budeme používat stejné soubory s drobnou změnou v souboru FileTestOperators.sh. Stačí změnit operátor -s místo -e v příkazu if.
Spuštěním níže uvedeného příkazu zkontrolujte, zda je soubor prázdný nebo ne:
$ bash FileTestOperators.sh
Protože je soubor prázdný, výstup generovaný operátorem -s je False
Nyní musíte přidat nějaký text do souboru Test.txt, abyste změnili výsledek, jak je znázorněno na obrázku níže.
Znovu spusťte níže uvedený příkaz:
$ bash FileTestOperators.sh
Protože soubor tentokrát není prázdný, výstup generovaný operátorem -s bude mít hodnotu True, jak je znázorněno na obrázku.
Pro ověření, že je soubor prázdný, můžete také použít následující dva příkazy:
$ cat Test.txt
$ file Test.txt
Použití operátoru if -d
Cílem použití operátoru if-d test v Centos 8 je ověřit, zda je konkrétní soubor sám o sobě adresářem nebo ne. Takže pokud to chcete zkontrolovat pomocí if-d, měli byste postupovat podle níže uvedených kroků:
Zde opět používáme stejné oba soubory s mírnou změnou v bash souboru FileTestOperators.sh. Musíme změnit operátor -s na operátor -d v příkazu if, jak je znázorněno na obrázku níže.
Spustí tedy níže uvedený příkaz a zkontroluje, zda je soubor adresářem nebo ne:
$ bash FileTestOperators.sh
Jak víme, soubor Test.txt není adresář, a proto operátor -d vypíše False Test.txt není adresář, jak je znázorněno na obrázku níže.
Použití operátoru if -h
Operátor if-h test se používá ke kontrole, zda je soubor symbolický (soft) odkaz či nikoli. Pokud tedy chcete ověřit existenci souboru pomocí if-h, musíte projít následujícími kroky:
Vytvořte nový soubor s názvem SymbolicFile.sh. Můžete jej vytvořit přímo v domovském adresáři nebo pomocí následujícího příkazu:
$ touch SymbolicFile.sh
Soubor SymbolicFile.sh můžete vidět v domovském adresáři, jak je znázorněno na obrázku níže.
Všechny adresáře a soubory můžete vypsat pomocí příkazu ls. Můžete vidět, že soubor SymbolicFile.sh je také uveden, jak je znázorněno na obrázku.
$ ls –l
Vytvořte symbolický odkaz pomocí jednoduchého příkazu odkazu. V tomto příkazu -s odkazuje na měkký odkaz, SymbolicFile.sh je soubor, jehož odkaz bude vytvořen, a NewSymbolicFile.sh je symbolický odkaz.
$ ln -s SymbolicFile.sh NewSymbolicFile.sh
Znovu vypište všechny adresáře a soubory. Můžete vidět, že byl vytvořen měkký odkaz.
Opět tedy používáme soubor bash FileTestOperators.sh s mírnou změnou. Změňte operátor -d na operátor -h v příkazu if. Tentokrát musíme změnit i název souboru. Musíme použít soubor, který je samotným symbolickým odkazem, např. NewSymbolicFile.sh.
Oba soubory můžete vidět na obrázku níže.
Nyní spusťte níže uvedený příkaz:
$ bash FileTestOperators.sh
Jak víme, soubor NewSymbolicFile.sh je symbolický odkaz, proto operátor -h zobrazuje výstup True NewSymbolicFile.sh je symbolický odkaz, jak je znázorněno na obrázku níže.
Použití operátoru if -r
Operátor if -r test se používá ke kontrole čitelnosti souboru, např. soubor je čitelný nebo ne. Takže pokud to chcete zkontrolovat pomocí if-r, musíte postupovat podle těchto kroků:
Opět používáme soubor Bash Test.txt a FileTestOperators.sh s mírnou změnou. Změňte operátor -h na operátor -r v příkazu if a přiřaďte souboru Test.txt jako hodnotu souboru proměnné.
Nyní spusťte níže uvedený příkaz:
$ bash FileTestOperators.sh
Jak víme, soubor Test.txt je čitelný, takže operátor -r vypíše True! Test.txt je čitelný.
Poznámka :Použijte operátory -w a -x k ověření, zda je soubor zapisovatelný a spustitelný či nikoli.
Použití operátoru if -O
Operátor testu if -O se používá ke kontrole, zda soubor vlastní aktuální uživatel nebo ne. Chcete-li to ověřit pomocí if-O, musíte projít těmito kroky:
Opět používáme soubor Bash Test.txt a FileTestOperators.sh s malou změnou. Změňte operátor -r na operátor -O v příkazu if a přiřaďte soubor Test.txt jako hodnotu souboru proměnné.
Nyní spusťte níže uvedený příkaz:
$ bash FileTestOperators.sh
Protože víme, že soubor Test.txt již vlastní aktuální uživatel, takže operátor -O vypíše True Test.txt je vlastněn aktuálním uživatelem.
Závěr
V tomto článku jste se dozvěděli o nejdůležitějších a různých operátorech testování souborů a jejich práci v Centos 8. Doufám, že nyní dokážete vytvářet soubory, kontrolovat existenci souborů, kontrolovat čitelnost souborů, kontrolovat vlastnictví souborů, a vytváření měkkých odkazů. Po důkladném sledování tohoto článku se uživatelé mohou cítit pohodlně.