Linux-komennot ja komentotulkkitaidot
Etsi: linux-haku, joka tekee kaiken
find on tuotantopalvelimen vaarallisin komento, ja juuri siksi se ansaitsee hallinnan. Se luettelee, suodattaa ja suorittaa yhdessä lausekkeessa, ja jokainen klassinen '/var here be dragons' -tapahtuma jäljittää esikatselun, jonka joku ohitti. Käytännöt ovat mekaanisia: kävele -print tai -ls ensin, batch -exec ... +, johda -print0:n kautta xargs -0:aan ja käsittele -deletea toisen kierroksen päätöksenä, ei koskaan ensimmäisenä luonnoksena.
Keskeiset kohdat
- Suodata metatietojen, ei pelkästään nimen perusteella: -tyyppi f, -mtime +30, -size +100M ja -perm -o+w etsivät parittomat tiedostot, joita nimeämiskäytännöt ja ikäraportit eivät kumpikaan hylkää.
- Esikatsele jokaista tuhoisaa kyselyä: etsi /var/www/uploads -nimi 'core.*' -ls ensin, vaihda -ls osoitteeseen -delete vasta sen jälkeen, kun olet todella lukenut luettelon; esikatselu on turvatarkastus, ei ehdotus.
- -exec cmd {} + yhdistää tiedostot muutamaan kutsuun ja voittaa \; muodostaa suurille puille; sama syntaksi antaa valtuudet "tarkistaa jokainen vastaava tiedosto yhdessä prosessissa" ilman argumenttiluettelo-liian pitkä -virhettä.
- Nollaturvallinen lähtö oletuksena: etsi . -nimi '*.vanha' -print0 | xargs -0 rm-v; plain pipes into xargs ovat tunnettu tietojen häviämismalli sinä päivänä, jona tiedostonimi sisältää välilyönnin.
- -xdev ja -maxdepth pitävät kävelyn rehellisenä: ne lopettavat etsimisen seuraamasta kiinnikkeitä ja tilannekuvia, mikä pelastaa sekä suoritusajan että olettamuksesi "tästä hakemistosta".
- Aikaikkunat ovat tarkkoja, jos niitä kysytään tarkasti: -mmin -1440 viimeiseltä 24 tunnilta, -newermt '2026-01-01' päivämäärältä, ja muista -xtime tarkoittaa "n kokonaista 24 tunnin ajanjaksoa sitten", ennen kuin lainaat sen lipussa.
- Leikkaa tarkoituksella: löydä . -polku '*/solmumoduulit' -prune -o -nimi '*.js' -print ohittaa yhden hakemiston, joka muuten painaa kokonsa ja ajallisesti muita puuta enemmän.
- Odottaa nollasta poikkeavia lopetuksia lukukelvottomissa hakemistoissa; stderr-rivit, kuten 'Permission denied', ovat ohitettuja tiedostoja, eivät tietoja, joten komentosarjat joko sietävät haun poistumistilan tai tarkistavat sen nimenomaisesti sen sijaan, että ne olisivat puhtaita.
Kenttämuistiinpano
Huonoin löytö -poistotarinamme alkoi lainaamattomalla -nimikuviolla, jonka toinen kuori laajeni kolmeksi sanaksi löytöstä ylävirtaan. Sääntö siitä lähtien on yksinkertainen: -print first, lainaus aina ja -delete ei koskaan aja komennossa, kun se suoritetaan ensimmäisen kerran.
Usein kysytyt kysymykset
Löytöni löysi tiedostot, mutta alavirran komento ei tehnyt mitään. Miksi?
Melkein aina lainaus tai tyhjä syöttö: kuori laajensi kuviota ennen kuin löytö näki sen, tai xargs ei saanut mitään. Lainaa kuvioita ja yhdistä -print0 xargs -0:aan joka kerta.
-poistaa vai rm etsimisen jälkeen?
-delete on suora, nopea ja anteeksiantamaton; sitä ei voi sekoittaa -execin kanssa samassa lausekkeessa. Suorita vastaava -print ensin ja lue se; se on koko kurinalaisuus.
Miksi järjestelmähakemistoista löytyy tulostusoikeusvirheitä?
Komponentit, joita et voi lukea tulostusvirheitä stderr-tiedostoon ja tehdä haun poistosta poikkeavaa nollasta; Suodata 2>/dev/null-komennolla vuorovaikutteisen mukavuuden takaamiseksi, äläkä koskaan tulkitse näitä virheitä tiedostojen puuttumiseksi.
Ero -mtime:n ja -ctimen välillä taas?
-mtime on sisällön muutos, -ctime on metatietojen muutos (käyttöoikeudet, uudelleennimeäminen, hardlink-määrä); chown tai liike tökkii ctime koskematta mtimeen, mikä hämmentää tasan yhden raportin neljänneksessä.
Näin Kinetikatech auttaa: linux-komennot ja komentotulkkitaidot
Sinun ei tarvitse tulla linux-komennot ja komentotulkkitaidot-asiantuntijaksi: Komennot ja komentosarjatavat, jotka ratkaisevat, käyttääkö järjestelmänvalvoja palvelinta vai taisteleeko sitä vastaan: etsi, muunna, siirrä ja valvo tekstiä ja prosesseja työkaluilla, jotka ovat jokaisessa perusasennuksessa. Juuri sitä varten Linux-palvelinten tietoturva ja Palvelinten ylläpito on olemassa: käyttöönotto, koventaminen, valvonta ja päivystäjä yötä päivää.