Comandi utili per Linux per l’amministratore di sistema

Il comando find è uno dei più utilizzati nel sistema operativo Linux.


Sarebbe difficile amministrare un ambiente Linux senza conoscere i comandi find.

Ti aiuta a cercare file, cartelle sul server Linux ed estremamente utile per la pulizia del file system.

In questo articolo, ho elencato alcune delle più comuni sintassi dei comandi find per aiutarti con la produttività.

Trova i file su un file system specifico

Se conosci il nome del file e il file system ma non sei sicuro del percorso esatto della cartella, puoi utilizzare questa sintassi.

Nell’esempio seguente, sto cercando il file dei messaggi nel file system / var.

[[Email protected] ~] # trova / var -name messaggi
/ var / log / messages
[[Email protected] ~] #

Suggerimenti: se non conosci il nome del file system, puoi cercare a livello /, ma tieni presente che potrebbe essere necessario del tempo se hai un numero elevato di file system.

[[Email protected] ~] # trova / -name messaggi
/ var / log / messages
[[Email protected] ~] #

Se non conosci il nome esatto del file, puoi anche utilizzare un modello jolly per la ricerca.

Ex – per cercare error_log puoi provare

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

Che ne dici di cercare il nome del file con lettere minuscole o maiuscole, in altre parole, ignorando la distinzione tra maiuscole e minuscole?

Bene, puoi usare –iname invece di –name.

Ex:

[[Email protected] var] # find / -iname MESSAGGI
/ var / log / messages
[[Email protected] var] #

Diamo un’occhiata a un altro scenario in tempo reale. Se conosci il tipo di file e vuoi cercarli tutti.

Ad esempio, se stai lavorando su WebSphere, potresti voler cercare tutti i file che terminano con .out, quindi puoi provare

# find / -name * .out

Trova i file in base a proprietà e autorizzazioni

Avere file con 777 l’autorizzazione è pericolosa in quanto chiunque può modificarla o eliminarla, quindi come amministratore di sistema, potresti voler mettere in atto una scansione per trovare tutti i file con 777 autorizzazioni.

Per un ex – per mostrare tutti i file con l’autorizzazione 777 in / opt file system.

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

Suggerimenti: che ne dite di stampare la proprietà del file, il timestamp nello stesso comando di riga?

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

È inoltre possibile modificare l’autorizzazione da 777 a 755 in una singola sintassi del comando find.

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

Ovviamente, puoi regolare l’autorizzazione da 755 a qualsiasi altra ti possa piacere.

Che ne dici di trovare file di proprietà di root o di utenti diversi?

Questo è molto utile se si verificano problemi durante l’avvio dei servizi a causa dell’avvio precedente eseguito da root.

Ad esempio, se tomcat è di proprietà di un utente chiamato “tomcatapp” e per qualche motivo, hai iniziato con root.

Indovina cosa accadrà al prossimo riavvio con “tomcatapp”?

Non perché una parte della proprietà del file viene modificata in root e ora “tomcatapp” non può modificare / eliminare quei file. Quindi questo diventa molto utile in quella situazione.

Ecco come è possibile cercare qualsiasi file di proprietà di root in un file system specifico.

# find / opt / -user root

Nota: l’esecuzione di questa sintassi di ricerca a livello / comporterà così tanti file / cartelle, quindi potresti voler controllare facendo questo in un file system specifico.

Trova file più vecchi di determinati giorni

Il servizio di pulizia del file system è essenziale per il supporto della produzione e spesso è necessario gestire questa sintassi per trovare registri più vecchi di (diciamo) 60 giorni.

L’esempio seguente è di trovare il file access.log più vecchio di 60 giorni nel file system / opt.

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

Suggerimenti: se decidi di trovare ed eliminare nella stessa riga di comando, puoi fare come di seguito. Questo troverà access.log più vecchio di 60 giorni nel file system / opt ed eliminarlo.

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

Sebbene sia molto utile, potresti voler elencare i file prima di eliminarli. Fare così

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

Trova file di grandi dimensioni

A volte potresti dover fare i conti con una frequente pulizia del file system a causa dell’applicazione di un gran numero di registri a causa di un problema con il codice, ecc..

Facciamo un esempio di ricerca di file superiore a 1 GB nel file system / opt.

# find / opt / -size + 1G

Suggerimenti: Se sai che tutti i file in / opt / con più di 1 GB possono essere eliminati, puoi semplicemente trovare ed eliminare nella stessa riga.

# find / opt / -size + 1G -exec rm {} +;

Spero sopra che i comandi siano utili e ti aiutino in tempo reale.

Per saperne di più sui comandi di Linux, dai un’occhiata questo corso online.

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