GNU/Linux >> Linux Esercitazione >  >> Linux

Come utilizzare gli operatori di test di file Bash in Linux

Gli operatori di test dei file vengono utilizzati in Linux per controllare e verificare gli attributi dei file come la proprietà o se sono un collegamento simbolico. Ogni operatore di Test ha uno scopo specifico. Gli operatori più importanti sono -e e -s. In questo articolo imparerai a testare i file usando l'istruzione if seguita da alcuni importanti operatori di test in Linux.

In questo articolo tratteremo i seguenti operatori di test:

  • Se -e operatore di test
  • Se -s operatore di test
  • Se -d operatore di prova
  • Se -h operatore di prova
  • Se -r operatore di prova
  • Se -O operatore di prova

Utilizzo di if -e Operator

L'obiettivo principale dell'utilizzo dell'operatore di test if-e in Centos 8 è verificare se il file specifico risiede nella directory o meno. Quindi, se vuoi verificare l'esistenza di un file usando if-e, devi seguire i passaggi seguenti:

Crea due nuovi file rispettivamente con i nomi Test.txt e FileTestOperators.sh. L'estensione .sh appartiene al file bash. Puoi crearli entrambi direttamente nella home directory o con il seguente comando:

$ touch Test.txt
$ touch FileTestOperators.sh

Se vuoi autenticarti indipendentemente dal fatto che il file sia stato creato o meno, usa il seguente comando:

$ ls -l Test.txt

Puoi vedere che entrambi i file sono stati creati nella home directory.

Apri il file FileTestOperators.sh e annota lo script al suo interno come mostrato nell'immagine sottostante. Abbiamo inizializzato un file variabile e gli abbiamo passato il file Test.txt come valore. Nell'istruzione If, ​​abbiamo l'operatore -e utilizzato per confermare l'esistenza del file Test.txt utilizzando un file variabile.

Esegui il comando indicato di seguito per verificare l'esistenza del file:

$ bash FileTestOperators.sh

Poiché il file esiste nella directory, l'output sarà True.

Utilizzo di if -s Operator

Lo scopo dell'utilizzo dell'operatore di test if-s in Centos 8 è verificare se il file specificato esiste ed è vuoto o meno. Quindi, se vuoi verificarlo usando if-e, devi seguire i passaggi seguenti:

Utilizzeremo gli stessi file con una piccola modifica nel file FileTestOperators.sh. Devi solo cambiare l'operatore -s invece di -e nell'istruzione if.

Esegui il comando indicato di seguito per verificare se il file è vuoto o meno:

$ bash FileTestOperators.sh

Poiché il file è vuoto, l'output generato dall'operatore -s è False

Ora devi aggiungere del testo nel file Test.txt per alterare il risultato, come mostrato nell'immagine qui sotto.

Esegui di nuovo il comando indicato di seguito:

$ bash FileTestOperators.sh

Poiché questa volta il file non è vuoto, l'output generato dall'operatore -s sarà True come mostrato nell'immagine.

Puoi anche utilizzare i seguenti due comandi per verificare che il file sia vuoto:

$ cat Test.txt
$ file Test.txt

Utilizzo di if -d Operator

Lo scopo dell'utilizzo dell'operatore di test if-d in Centos 8 è verificare che il file specifico sia esso stesso una directory o meno. Quindi, se vuoi verificarlo usando if-d, dovresti seguire i passaggi indicati di seguito:

Anche in questo caso stiamo usando gli stessi entrambi i file con una leggera modifica nel file bash FileTestOperators.sh. Dobbiamo cambiare l'operatore -s con l'operatore -d nell'istruzione if come mostrato nell'immagine sottostante.

Quindi, esegue il comando indicato di seguito per verificare se il file è una directory o meno:

$ bash FileTestOperators.sh

Come sappiamo, il file Test.txt non è una directory, ecco perché l'operatore -d restituisce False Test.txt non è una directory come mostrato nell'immagine sottostante.

Utilizzo di if -h Operator

L'operatore di test if-h viene utilizzato per verificare se il file è un collegamento simbolico (soft) o meno. Quindi, se vuoi verificare l'esistenza di un file usando if-h, devi seguire i seguenti passaggi:

Creare un nuovo file con il nome SymbolicFile.sh. Puoi crearlo direttamente nella home directory o con il seguente comando:

$ touch SymbolicFile.sh

Puoi vedere il file SymbolicFile.sh nella home directory come mostrato nell'immagine qui sotto.

Puoi elencare tutte le directory e i file usando il comando ls. Puoi vedere che anche il file SymbolicFile.sh è elencato come mostrato nell'immagine.

$ ls –l

Crea un collegamento simbolico usando un semplice comando di collegamento. In questo comando, -s si riferisce a un collegamento software, SymbolicFile.sh è un file il cui collegamento verrà creato e NewSymbolicFile.sh è un collegamento simbolico.

$ ln -s SymbolicFile.sh NewSymbolicFile.sh

Elenca di nuovo tutte le directory e i file. Puoi vedere che è stato creato un collegamento software.

Quindi, ancora una volta stiamo usando il file bash FileTestOperators.sh con una leggera modifica. Operatore Change -d con -h operatore nell'istruzione if. Questa volta dobbiamo anche cambiare il nome di un file. Dobbiamo usare un file che è un collegamento simbolico stesso, ad es. NuovoFileSimbolico.sh.

Puoi vedere entrambi i file nell'immagine qui sotto.

Ora esegui il comando seguente:

$ bash FileTestOperators.sh

Come sappiamo, il file NewSymbolicFile.sh è un collegamento simbolico, ecco perché l'operatore -h restituisce True NewSymbolicFile.sh è un collegamento simbolico come mostrato nell'immagine sottostante.

Utilizzo di if -r Operator

L'operatore if -r test viene utilizzato per verificare la leggibilità del file, ad es. il file è leggibile o meno. Quindi, se vuoi verificarlo usando if-r, devi seguire questi passaggi:

Ancora una volta, stiamo utilizzando il file bash Test.txt e FileTestOperators.sh con una leggera modifica. Cambia l'operatore -h con l'operatore -r nell'istruzione if e assegna il file Test.txt come valore al file variabile.

Ora esegui il comando seguente:

$ bash FileTestOperators.sh

Poiché sappiamo che il file Test.txt è leggibile, l'operatore -r restituisce True! Test.txt è leggibile.

Nota :Usa rispettivamente gli operatori -w e -x per verificare se il file è scrivibile ed eseguibile o meno.

Utilizzo di if -O Operator

Lo scopo dell'operatore di test if -O viene utilizzato per verificare se il file è di proprietà di un utente corrente o meno. Quindi, per verificarlo utilizzando if-O, devi seguire questi passaggi:

Ancora una volta, stiamo usando il file bash Test.txt e FileTestOperators.sh con una piccola modifica. Cambia l'operatore -r con l'operatore -O nell'istruzione if e assegna il file Test.txt come valore al file variabile.

Ora esegui il comando seguente:

$ bash FileTestOperators.sh

Poiché sappiamo che il file Test.txt è già di proprietà dell'utente corrente, quindi l'operatore -O restituisce True Test.txt è di proprietà di un utente corrente.

Conclusione

In questo articolo, hai imparato a conoscere i più importanti e diversi operatori di test di file e il loro funzionamento in Centos 8. Spero che ora tu sia in grado di creare file, verificarne l'esistenza, verificarne la leggibilità, verificare la proprietà dei file, e creare collegamenti morbidi. Gli utenti possono sentirsi a proprio agio dopo aver seguito a fondo questo articolo.


Linux
  1. Come verificare se esiste un file o una directory in Bash

  2. Come utilizzare il comando md5sum in Linux

  3. Come utilizzare il comando touch in Linux

  4. Come utilizzare il comando Tar in Linux

  5. Come controllare syslog in Bash su Linux?

Come utilizzare il comando echo negli script Bash in Linux

Come creare e utilizzare file di scambio su Linux

Come utilizzare AppImage su Linux (Guida per principianti)

Come usare il comando lsof in Linux

Come usare gzip in Linux?

Come utilizzare il comando shred Linux