Etsi kansio joka ei sisällä tiedostoa x

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.

Vastaa

Sähköpostiosoitettasi ei julkaista. Pakolliset kentät on merkitty *