NOC online · 24/7Longview, TX · +1 323 412 0665
KinetikatechServers · Security · Websites
NO

Linux-kommandoer og skallferdigheter

finn: Linux-søket som gjør alt

find er den farligste kommandoen på en produksjonsserver, og det er nettopp derfor den fortjener mestring. Den oppregner, filtrerer og kjører i ett uttrykk, og hver klassiske '/var here be dragons'-hendelse spores tilbake til en forhåndsvisning noen hoppet over. Vanene er mekaniske: gå med -print eller -ls først, batch med -exec ... +, rør gjennom -print0 inn i xargs -0, og behandle -delete som en andregangsbeslutning, aldri et førsteutkast.

Nøkkelpunkter

  1. Filtrer på metadata, ikke navn alene: -type f, -mtime +30, -size +100M og -perm -o+w finn de rare filene som både navnekonvensjoner og aldersrapporter savner.
  2. Forhåndsvis alle destruktive spørringene: finn /var/www/uploads -navn 'core.*' -ls først, bytt -ls for -delete først etter at du faktisk har lest listen; forhåndsvisningen er sikkerhetssjekken, ikke et forslag.
  3. -exec cmd {} + grupperer filer i noen få påkallelser og slår \; dannes på store trær; den samme syntaksen driver 'rm hver samsvarende fil i én prosess' uten en argument-liste-for lang feil.
  4. Null-sikker utgang som standard: finn . -navn '*.old' -print0 | xargs -0 rm -v; plain pipes into xargs er et kjent datatapsmønster den dagen et filnavn inneholder et mellomrom.
  5. -xdev og -maxdepth holder vandringen ærlig: de stopper funn fra å følge med inn i monteringer og øyeblikksbilder, noe som redder både kjøretid og antakelsene dine om 'denne katalogen'.
  6. Tidsvinduer er nøyaktige hvis de blir spurt nøyaktig: -mmin -1440 for de siste 24 timene, -newermt '2026-01-01' for siden en dato, og husk -xtime betyr 'n fulle 24-timers perioder siden' før du siterer det i en billett.
  7. Beskjær bevisst: finn . -path '*/node_modules' -prune -o -name '*.js' -print hopper over den ene katalogen som ellers oppveier resten av treet i størrelse og tid.
  8. Forvent ikke-null utganger på uleselige kataloger; stderr-linjer som 'Tillatelse nektet' er overhoppede filer, ikke data, så skript tolererer enten funns utgangsstatus eller sjekker den eksplisitt i stedet for å anta rene turer.

Feltnotat

Vår verste funn -sletthistorie startet med et navnemønster uten anførselstegn som det andre skallet utvidet til tre ord oppstrøms for funn. Regelen siden er enkel: -skriv ut først, siter alltid, og -slett tar aldri inn en kommando første gang den kjøres.

Vanlige spørsmål

Jeg fant filer, men nedstrømskommandoen gjorde ingenting. Hvorfor?

Nesten alltid siterer eller tomme input: mønsteret ble utvidet av skallet før funn så det, eller xargs mottok ingenting. Sitat mønstre, og par -print0 med xargs -0 hver eneste gang.

-slett eller rm etter funn?

-delete er direkte, rask og uforsonlig; det kan ikke blandes med -exec i samme uttrykk. Kjør den matchende -print først og les den; det er hele disiplinen.

Hvorfor finner utskriftstillatelsesfeil i systemkataloger?

Komponenter du ikke kan lese utskriftsfeil til stderr og få til å finne exit nonzero; filter med 2>/dev/null for interaktiv komfort, og tolk aldri disse feilene som fravær av filer.

Forskjellen mellom -mtime og -ctime igjen?

-mtime er innholdsendring, -ctime er metadataendring (tillatelser, endre navn, antall hardlink); en chown eller et trekk støter ctime uten å berøre mtime, noe som forvirrer nøyaktig én rapport i kvarteret.

Slik hjelper Kinetikatech med linux-kommandoer og skallferdigheter

Vi har håndtert dette hundrevis av ganger: Kommandoene og skriptvanene som avgjør om en administrator driver en server eller bekjemper den: søk, transformer, overføring og overvåk tekst og prosesser med verktøyene som finnes i hver basisinstallasjon. Med Sikring av Linux-servere og Serveradministrasjon får du hele løkken: vi evaluerer, implementerer, overvåker kontinuerlig og griper inn i 30 minutter når det haster.

Snakk med en ingeniør

Serverproblemer? Nettsted hacket? Langsom innlasting?

Kritiske problemer løst på 30 minutter — døgnåpent, 7 dager i uken.

Bestill nødhjelp support@kinetikatech.com