En este artículo, aprenderemos cómo enumerar todos los archivos en el directorio actual que tienen permiso Red, Write y Execute.
Supongamos que tenemos los siguientes archivos en nuestro directorio actual:
Aquí, tenemos un total de 8 archivos en nuestro directorio actual. De 8, tenemos permisos de lectura, escritura y ejecución en 6 archivos y 2 solo tienen permisos de lectura y escritura .
Escribamos el script para Listar los archivos que tienen permisos de lectura, escritura y ejecución
Acercarse :
- Tenemos que verificar cada archivo en el directorio actual y mostrar el nombre que tiene permiso de lectura, escritura y ejecución,
- Para recorrer todos los archivos, usaremos for loop
para archivo en *
Aquí, estamos usando * que representan todos los archivos en el directorio de trabajo actual y estamos almacenando el nombre del archivo actual en la variable de archivo.
- Ahora comprobaremos si el archivo elegido es realmente un archivo o no usando la declaración if
- Si es un archivo, comprobaremos si tiene permisos de lectura, escritura y ejecución.
- Usaremos una declaración if para verificar todos los permisos.
- Si el archivo tiene todos los permisos, imprimiremos el nombre del archivo en la consola.
- Cierra la sentencia if
- Si no es un archivo, cerraremos la instrucción if y pasaremos al siguiente archivo.
Antes de seguir adelante, veremos qué hacen estos operadores:
- -f $archivo -> devuelve verdadero si el archivo existe.
- -r $archivo -> devuelve verdadero si el archivo tiene permiso de lectura
- -w $archivo -> devuelve verdadero si el archivo tiene permiso de escritura.
- -x $archivo -> devuelve verdadero si el archivo tiene permiso de ejecución.
- -a -> se usa para verificar múltiples condiciones, igual que el operador && .
A continuación se muestra la implementación:
# Shell script to display list of file names # having read, Write and Execute permission echo "The name of all files having all permissions :" # loop through all files in current directory for file in * do # check if it is a file if [ -f $file ] then # check if it has all permissions if [ -r $file -a -w $file -a -x $file ] then # print the complete file name with -l option ls -l $file # closing second if statement fi # closing first if statement fi done
Ahora, nuestro trabajo de escritura de código está hecho, pero aún así, no podemos ejecutar nuestro programa porque cuando creamos un archivo en Linux, tiene dos permisos, es decir , lectura y escritura para el usuario que creó el archivo. Para ejecutar nuestro archivo, debemos dar el permiso Ejecutar al archivo.
Asignación de permiso de ejecución a main.sh:
$ chmod 777 main.sh
Use el siguiente comando para ejecutar el script:
$ bash main.sh
Publicación traducida automáticamente
Artículo escrito por hritikrommie y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA