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.