Tällä kertaa etsimme kansioita jotka eivät sisällä tiettyä tiedostoa.
Tämä toiminto on kätevä monessakin tilanteessa, esimerkiksi jos haluat etsiä useasta wordpress-asennuksesta kaikki joissa ei ole tiettyä lisäosaa.
Komento:
find /home/*/*/wp-content/plugins/ -maxdepth 0 -type d '!' -exec test -e "{}/limit-login-attempts-reloaded" ';' -print
Selitykset:
/home/*/*/wp-content/plugins/
Tämä viittaa home-hakemiston alla olevien kaikkien käyttäjien kaikkien hakemistojen alla olevaan wordpressin plugins-kansioon. Tästä siis etsitään.
-maxdepth 0
Ei selata alihakemistoja vaan vain kyseiset hakemistot. Ei esimerkiksi käydä läpi /home/jussi/public_html/wp-content/plugins/jokumuuhakemisto/
-type d
Haetaan vain hakemistojen sisältä. Loogista sillä eihän tiedostot sisällä toisia tiedostoja näin yleensä… Eikä varsinkaan tässä tapauksessa.
’!’
Käänteinen logiikka. Eli siis tässä tapauksessa että ”ei sisällä” kyseistä tiedostoa
-exec
Suoritetaan seuraava komento…
test -e ”{}/limit-login-attempts-reloaded”
Testataan löytyykö kyseistä tiedostoa tai siis hakemistoa. -e tarkoittaa ”file exists”. {} korvaa jokaisen testattavan hakemiston, kuten esimerkiksi /home/jussi/public_html/wp-content/plugins
’;’
Tähän päättyy komento.
-print
Eli tulostetaan näytölle (tai std outtiin) kyseinen tulos.