GNU/Linux >> Tutoriales Linux >  >> Linux

Cómo usar operadores de prueba de archivos Bash en Linux

Los operadores de prueba de archivos se utilizan en Linux para comprobar y verificar los atributos de los archivos, como la propiedad o si son un enlace simbólico. Cada operador de prueba tiene un propósito específico. Los operadores más importantes son -e y -s. En este artículo, aprenderá a probar archivos usando la instrucción if seguida de algunos operadores de prueba importantes en Linux.

En este artículo cubriremos los siguientes operadores de prueba:

  • Operador de prueba If -e
  • Operador de prueba If -s
  • Operador de prueba If -d
  • Si -h operador de prueba
  • Operador de prueba If -r
  • Si -O operador de prueba

Uso del operador if -e

El objetivo clave de usar el operador de prueba if-e en Centos 8 es verificar si el archivo específico reside en el directorio o no. Entonces, si desea verificar la existencia de un archivo usando if-e, debe seguir los pasos a continuación:

Cree dos archivos nuevos con los nombres Test.txt y FileTestOperators.sh respectivamente. La extensión .sh pertenece al archivo bash. Puede crear ambos en el directorio de inicio directamente o con el siguiente comando:

$ touch Test.txt
$ touch FileTestOperators.sh

Si desea autenticar si el archivo se crea o no, use el siguiente comando:

$ ls -l Test.txt

Puede ver que ambos archivos se crean en el directorio de inicio.

Abra el archivo FileTestOperators.sh y escriba el script en él como se muestra en la imagen a continuación. Inicializamos un archivo de variables y le pasamos el archivo Test.txt como un valor. En la declaración If, tenemos el operador -e que se usa para confirmar la existencia del archivo Test.txt usando el archivo variable.

Ejecute el comando mencionado a continuación para comprobar la existencia del archivo:

$ bash FileTestOperators.sh

Como el archivo existe en el directorio, la salida será True.

Uso del operador if -s

El propósito de usar el operador de prueba if-s en Centos 8 es verificar si el archivo especificado existe y está vacío o no. Entonces, si desea verificarlo usando if-e, debe seguir los pasos a continuación:

Usaremos los mismos archivos con un cambio menor en el archivo FileTestOperators.sh. Solo tiene que cambiar el operador -s en lugar de -e en la instrucción if.

Ejecute el comando mencionado a continuación para verificar si el archivo está vacío o no:

$ bash FileTestOperators.sh

Como el archivo está vacío, la salida generada por el operador -s es falsa

Ahora debe agregar algo de texto en el archivo Test.txt para modificar el resultado, como se muestra en la imagen a continuación.

Vuelva a ejecutar el comando mencionado a continuación:

$ bash FileTestOperators.sh

Como el archivo no está vacío esta vez, la salida generada por el operador -s será True como se muestra en la imagen.

También puede usar los siguientes dos comandos para verificar que el archivo esté vacío:

$ cat Test.txt
$ file Test.txt

Uso del operador if -d

El objetivo de usar el operador de prueba if-d en Centos 8 es verificar que el archivo específico sea en sí mismo un directorio o no. Entonces, si desea verificarlo usando if-d, debe seguir los pasos mencionados a continuación:

Aquí, nuevamente estamos usando los mismos archivos con un ligero cambio en el archivo bash FileTestOperators.sh. Tenemos que cambiar el operador -s con el operador -d en la declaración if como se muestra en la imagen de abajo.

Entonces, ejecuta el comando mencionado a continuación para verificar si el archivo es un directorio o no:

$ bash FileTestOperators.sh

Como sabemos, el archivo Test.txt no es un directorio, por eso el operador -d genera False Test.txt no es un directorio, como se muestra en la imagen a continuación.

Uso del operador if -h

El operador de prueba if-h se usa para verificar si el archivo es un enlace simbólico (suave) o no. Entonces, si desea verificar la existencia de un archivo usando if-h, debe realizar los siguientes pasos:

Cree un nuevo archivo con el nombre SymbolicFile.sh. Puede crearlo en el directorio de inicio directamente o con el siguiente comando:

$ touch SymbolicFile.sh

Puede ver el archivo SymbolicFile.sh en el directorio de inicio como se muestra en la imagen a continuación.

Puede listar todos los directorios y archivos usando el comando ls. Puede ver que el archivo SymbolicFile.sh también aparece como se muestra en la imagen.

$ ls –l

Cree un enlace simbólico usando un comando de enlace simple. En este comando, -s se refiere a un enlace flexible, SymbolicFile.sh es un archivo cuyo enlace se creará y NewSymbolicFile.sh es un enlace simbólico.

$ ln -s SymbolicFile.sh NewSymbolicFile.sh

Nuevamente enumere todos los directorios y archivos. Puede ver que se ha creado un vínculo suave.

Entonces, nuevamente estamos usando el archivo bash FileTestOperators.sh con un ligero cambio. Cambie el operador -d con el operador -h en la declaración if. Esta vez también tenemos que cambiar el nombre de un archivo. Tenemos que usar un archivo que sea un enlace simbólico en sí mismo, p. NuevoArchivoSimbólico.sh.

Puede ver ambos archivos en la siguiente imagen.

Ahora ejecuta el siguiente comando:

$ bash FileTestOperators.sh

Como sabemos, el archivo NewSymbolicFile.sh es un enlace simbólico, por eso el operador -h genera True NewSymbolicFile.sh es un enlace simbólico, como se muestra en la siguiente imagen.

Uso del operador if -r

El operador de prueba if -r se utiliza para comprobar la legibilidad del archivo, p. el archivo es legible o no. Entonces, si desea verificarlo usando if-r, debe seguir estos pasos:

Nuevamente, estamos usando el archivo bash Test.txt y FileTestOperators.sh con un ligero cambio. Cambie el operador -h por el operador -r en la instrucción if y asigne el archivo Test.txt como valor al archivo de variables.

Ahora ejecuta el siguiente comando:

$ bash FileTestOperators.sh

Como sabemos que el archivo Test.txt es legible, el operador -r genera ¡Verdadero! Test.txt es legible.

Nota :Use los operadores -w y -x respectivamente para verificar si el archivo es escribible y ejecutable o no.

Uso del operador if -O

El propósito del operador de prueba if -O se usa para verificar si el archivo es propiedad de un usuario actual o no. Entonces, para verificarlo usando if-O, debe seguir estos pasos:

Nuevamente, estamos usando el archivo bash Test.txt y FileTestOperators.sh con un pequeño cambio. Cambie el operador -r por el operador -O en la instrucción if y asigne el archivo Test.txt como valor al archivo de variables.

Ahora ejecuta el siguiente comando:

$ bash FileTestOperators.sh

Como sabemos que el archivo Test.txt ya es propiedad del usuario actual, el operador -O genera True Test.txt es propiedad del usuario actual.

Conclusión

En este artículo, aprendió sobre los operadores de prueba de archivos más importantes y diferentes y su funcionamiento en Centos 8. Espero que ahora pueda crear archivos, verificar la existencia de archivos, verificar la legibilidad de los archivos, verificar la propiedad de los archivos, y haciendo enlaces blandos. Los usuarios pueden sentirse tranquilos después de seguir este artículo detenidamente.


Linux
  1. Cómo verificar si existe un archivo o directorio en Bash

  2. Cómo usar el comando md5sum en Linux

  3. Cómo usar el comando táctil en Linux

  4. Cómo usar el comando Tar en Linux

  5. ¿Cómo verificar syslog en Bash en Linux?

Cómo usar el comando echo en Bash Scripts en Linux

Cómo crear y usar un archivo de intercambio en Linux

Cómo usar AppImage en Linux (Guía para principiantes)

Cómo usar el comando lsof en Linux

¿Cómo usar gzip en Linux?

Cómo usar el comando shred de Linux