Cercar si un fitxer existeix o no en el nostre sistema

Tux professor

Bé, com sabem el shell ens permet tenir un control extrem de tot el nostre sistema, malgrat la seva rudesa i el primitiu que resulta per a molts en comparació amb les modernes interfícies gràfiques. Però cal tenir en compte que és una manera de treballar bastant més òptima, tot i que requereix uns majors coneixements tècnics. El problema de la GUI no és només que té algunes limitacions en comparació amb el terminal, sinó que a més estàs executant una capa extra per als gràfics que consumeixen gran quantitat de recursos que no estaran destinats a la tasca final.

Hem anat llançant alguns minitutorials d'algunes de les possibilitats que es poden obtenir d'alguns senzills comandaments. Aquest és un altre d'ells, i com veus són pràctiques senzilles que et poden servir de gran ajuda en molts casos. Pue bé, en aquest cas concretament anem a comprovar com amb uns simples comandaments podem veure si un fitxer o diversos d'ells hi ha en el nostre sistema o no. Els passos per a això són els següents:

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

Com veus, hem emprat les expressions d'avaluació per a això. Bàsicament el que hem fet en l'exemple, encara que tu pots substituir-lo per altres moltes opcions mantenint la sintaxi, és avaluar si / etc / httpd hi ha al nostre sistema o no. En el cas d'existir, ja que l'opció -f retorna un valor veritable (true) si existeix, es mostrarà un missatge «Hi» gràcies a l'ús de la comanda echo. Mentre que en cas contrari es mostrarà «No existeix». Així de senzill ...

També pots substituir -f per altres opcions, Com -i, que retornarà un valor veritable si existeix, però no avalua si és un fitxer regular. Amb -r també passarà alguna cosa semblant, però en aquest cas avalua si és un fitxer llegible. Per veure si es pot escriure fa servir -w, -x per veure si és executable a més, i -d per veure si és un directori ... Les possibilitats són moltes. Fins i tot pots fer servir el caràcter! per negar les accions. Per exemple, per comprovar que no hi ha un fitxer / etc / prova:

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


2 comentaris, deixa el teu

Deixa el teu comentari

La seva adreça de correu electrònic no es publicarà. Els camps obligatoris estan marcats amb *

*

*

  1. Responsable de les dades: AB Internet Networks 2008 SL
  2. Finalitat de les dades: Controlar l'SPAM, gestió de comentaris.
  3. Legitimació: El teu consentiment
  4. Comunicació de les dades: No es comunicaran les dades a tercers excepte per obligació legal.
  5. Emmagatzematge de les dades: Base de dades allotjada en Occentus Networks (UE)
  6. Drets: En qualsevol moment pots limitar, recuperar i esborrar la teva informació.

  1.   fprietog va dir

    Ubuntu manté per defecte una base de dades per accelerar la recerca d'arxius. Això permet usar la comanda locate.

    Aquesta base de dades s'actualitza automàticament tot i que es pot forçar la seva actualització amb la comanda sudo updatedb.

  2.   asdfa va dir

    A l'usar aquest codi, ¿estem fent servir programació en Bash?