Nyttige Linux-kommandoer til systemadministrator

Find-kommandoen er en af ​​de mest anvendte i Linux OS.


Det ville bare være vanskeligt at administrere et Linux-miljø uden at kende finde kommandoer.

Det hjælper dig med at søge i filer, mapper på Linux-serveren og yderst nyttig til husholdning af filsystemer.

I denne artikel har jeg listet nogle af de mest almindelige syntaks for findkommandoer til at hjælpe dig med produktivitet.

Find filer på et specifikt filsystem

Hvis du kender filnavnet og filsystemet, men ikke er sikker på den nøjagtige mappesti, kan du bruge denne syntaks.

I nedenstående eksempel søger jeg efter meddelelsesfil i / var filsystem.

[[Email protected] ~] # find / var -name meddelelser
/ var / log / messages
[[Email protected] ~] #

Tips: Hvis du ikke kender filsystemets navn, kan du søge på / niveau, men husk, det kan tage tid, hvis du har et stort antal filsystemer.

[[Email protected] ~] # find / -name meddelelser
/ var / log / messages
[[Email protected] ~] #

Hvis du ikke kender det nøjagtige filnavn, kan du også bruge et jokertegnemønster til at søge.

ex – for at søge error_log kan du prøve

[[Email protected] ~] # find / -name error_ *
/ Var / log / httpd / error_
[[Email protected] ~] #

Hvad med at søge i filnavn med små og store bogstaver, med andre ord, ignorering af store og små bogstaver?

Du kan godt bruge –iname i stedet for –name.

Eks:

[[Email protected] var] # find / -name MESSAGES
/ var / log / messages
[[Email protected] var] #

Lad os se på et mere realtidscenarie. Hvis du kender filtypen og vil søge i dem alle.

For ex – hvis du arbejder på WebSphere, kan du søge i alle filer, der slutter med .out, så kan du prøve

# find / -name * .out

Find filer baseret på ejerskab og tilladelser

Har filer med 777 tilladelse er farlig, da enhver kan redigere eller slette, så som en systemadministrator kan det være en god idé at placere en scanning for at finde filer med 777 tilladelser.

For en ex – for at vise filer med 777 tilladelse under / opt filsystem.

[[Email protected] ~] # find / opt / -type f -perm 777
/ Opt / afprøvning
/opt/SystemOut.log
[[Email protected] ~] #

Tips: hvad med udskrivning af filejerskab, tidsstempel i samme linjekommando?

[[Email protected] ~] # find / opt / -type f -perm 777 -exec ls -ltr {} +;
-rwxrwxrwx 1 root root 0 Jul 19 03:35 / opt / testing
-rwxrwxrwx 1 root root 0 Jul 19 03:36 /opt/SystemOut.log
[[Email protected] ~] #

Du kan også ændre tilladelse fra 777 til 755 i en syntaks for en enkelt find-kommando.

# find / opt / -type f -perm 777 -exec chmod 755 {} +;

Det er klart, at du kan justere tilladelse fra 755 til enhver anden, du måtte synes om.

Hvad med at finde filer, der ejes af root eller en anden bruger?

Dette er meget nyttigt, hvis du har problemer, mens du starter tjenesterne på grund af den forrige start, blev udført af root.

For ex – hvis tomcat ejes af en bruger kaldet “tomcatapp” og af en eller anden grund er du startet med rod.

Gæt hvad der vil ske, når du genstarter næste gang med “tomcatapp”?

Det skyldes ikke, at noget af ejerskabet af filen ændres til rod, og nu kan “tomcatapp” ikke ændre / slette disse filer. Så dette bliver meget praktisk i denne situation.

Sådan kan du søge i enhver fil, der ejes af root i et specifikt filsystem.

# find / opt / -user root

Bemærk: udførelse af denne find syntaks på / niveau resulterer i så mange filer / mapper, så du måske ønsker at kontrollere ved at gøre dette i et specifikt filsystem.

Find filer, der er ældre end bestemte dage

Husholdning af filsystem er vigtigt for produktionsstøtte, og ofte er du nødt til at håndtere denne syntaks for at finde logfiler, der er ældre end (lad os sige) 60 dage.

Nedenstående eksempel er at finde access.log-fil, der er ældre end 60 dage i / opt-filsystem.

# find / opt / -name access.log -mtime +60

Tip: Hvis du beslutter at finde og slette i den samme kommandolinje, kan du gøre som nedenfor. Dette vil finde access.log ældre end 60 dage i / opt filsystem og slette det.

# find / opt / -name access.log -mtime +60 -exec rm {} +;

Selvom dette er meget praktisk, kan du eventuelt angive en liste over filerne, før du sletter dem. For at gøre det

# find / opt / -name access.log -mtime +60 -exec ls -ltr {} +;

Find stor filstørrelse

Engang kan du muligvis have at gøre med hyppig oprydning af filsystemet på grund af et stort antal logfiler, der skrives af applikationen på grund af et kodeproblem osv..

Lad os tage et eksempel på at søge efter filer, der er større end 1 GB i / opt-filsystem.

# find / opt /-størrelse + 1G

Tips: Hvis du ved, at alle filer i / opt / med mere end 1 GB kan slettes, kan du bare finde og slette på samme linje.

# find / opt /-størrelse + 1G -exec rm {} +;

Jeg håber, at ovenstående finder, at kommandoer er praktiske og hjælper dig i realtid.

Hvis du vil lære mere om Linux-kommandoer, skal du tjekke ud dette onlinekursus.

Tags:

  • Linux

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Like this post? Please share to your friends:
    Adblock
    detector
    map