Linux Adictos Isaac P. E.  

Buscar si un fichero existe o no en nuestro sistema

Tux profesor

Bien, como sabemos el shell nos permite tener un control extremo de todo nuestro sistema, a pesar de su rudeza y lo primitivo que resulta para muchos en comparación con las modernas interfaces gráficas. Pero hay que tener en cuenta que es una manera de trabajar bastante más óptima, aunque requiere unos mayores conocimientos técnicos. El problema de la GUI no es solo que tiene algunas limitaciones en comparación con el terminal, sino que además estás ejecutando una capa extra para los gráficos que consumen gran cantidad de recursos que no estarán destinados a la tarea final.

Hemos ido lanzando algunos minitutoriales de algunas de las posibilidades que se pueden obtener de algunos sencillos comandos. Este es otro de ellos, y como ves son prácticas sencillas que te pueden servir de gran ayuda en muchos casos. Pue bien, en este caso concretamente vamos a comprobar como con unos simples comandos podemos ver si un fichero o varios de ellos existen en nuestro sistema o no. Los pasos para ello son los siguientes:


[ -f /etc/httpd ] && echo "Existe" || echo "No existe"

Como ves, hemos empleado las expresiones de evaluación para ello. Básicamente lo que hemos hecho en el ejemplo, aunque tú puedes sustituirlo por otras muchas opciones manteniendo la sintaxis, es evaluar si /etc/httpd existe en nuestro sistema o no. En el caso de existir, ya que la opción -f retorna un valor verdadero (true) si existe, se mostrará un mensaje “Existe” gracias al uso del comando echo. Mientras que en caso contrario se mostrará “No existe”. Así de sencillo…

También puedes sustituir -f por otras opciones, como -e, que devolverá un valor verdadero si existe, pero no evalúa si es un fichero regular. Con -r también pasará algo parecido, pero en este caso evalúa si es un fichero leíble. Para ver si es escribible usa -w, -x para ver si es ejecutable además, y -d para ver si es un directorio… Las posibilidades son muchas. Incluso puedes usar el carácter ! para negar las acciones. Por ejemplo, para comprobar que no existe un fichero /etc/prueba:


[ ! -f /etc/prueba ] && echo "No existe"

El artículo Buscar si un fichero existe o no en nuestro sistema ha sido originalmente publicado en Linux Adictos.

Leave A Comment

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.