Los archivos temporales en un entorno Linux son de escritura y lectura mundial, lo que significa que cualquier usuario en el sistema puede leer y escribir en el directorio temporal.
En la mayoría de los sistemas Linux, el directorio «/tmp» se usa como directorio temporal y cualquier usuario o proceso en el sistema puede usar este directorio para almacenar datos temporales. Pero ningún programa/usuario debe asumir que los datos almacenados en el directorio “/tmp” persistirán en el tiempo, solo deben usarse para un propósito temporal. Este script de shell demuestra la cantidad de archivos temporales en el directorio «/ tmp» y borra el directorio «/ tmp»
Acercarse:
- Contaremos el número de archivos temporales presentes en el directorio temporal, es decir, el directorio «/tmp» y mostraremos el recuento al usuario antes y después de eliminar los archivos temporales.
- Calculamos el nro. de archivos mediante el comando ‘ls’. El comando «ls» da una lista de todos los archivos presentes en el directorio, y usamos el comando «wc» para contar cuántas líneas se imprimen con el comando «ls».
ls /tmp | wc-l
- Finalmente, la eliminación de archivos temporales se completa ejecutando el comando «rm». Este comando toma el argumento «-rf» que le dice al comando «rm» que elimine todos los archivos de forma recursiva y forzada.
- Verificamos el código de retorno del comando de eliminación para verificar si el comando se ejecutó con éxito. En bash, el código de retorno del comando anterior se puede marcar b “$?” variable, si el valor de esta variable es igual a cero, entonces el comando anterior se ejecuta con éxito; de lo contrario, el comando anterior falló con algún otro código de retorno.
- El comando de eliminación puede fallar si hay algún archivo que se está abriendo actualmente o algún proceso ha adquirido bloqueo en ese archivo en el momento en que ejecutamos el comando de eliminación.
Código:
#!/bin/bash # Script name script.sh # Script for removing all temporary files from temporary directory TMP_DIR="/tmp" echo "Removing all temporary files from $TMP_DIR" # Counting the number of temporary files files=`ls -l $TMP_DIR | wc -l` echo "There are total $files temporary files/directory in $TMP_DIR" rm -rf $TMP_DIR/* if [[ "$?" == "0" ]];then echo "All temporary files successfully deleted" else echo "Failed to delete temporary files" fi # Counting the number of temporary files files=`ls -l $TMP_DIR | wc -l` echo "There are total $files temporary files/directory in $TMP_DIR directory"
Producción:
Antes de la ejecución asigna el permiso de estos scripts:
chmod +x script.sh
Publicación traducida automáticamente
Artículo escrito por aman chourasiya y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA