In breve: In questa mini-guida vi spiego come leggere file di log in formato .gz .

Con l’introduzione delle interfacce grafiche GUI, l’uso del terminale, anche da parte dei cosiddetti power user, è andato via via diminuendo. In questo articolo andremo contro corrente e useremo intensivamente il terminale per lavorare su file in formato .gz . La guida vuole essere introduttiva e dedicata ai neofiti, pertanto è accessibile a tutti.

Leggere file .gz (e non) da terminale

Se lavorate con backend logs avrete notato che sono quasi sempre compressi e l’estensione è .gz. Chiaramente salvare un file di log in formato compresso è una cosa usuale che permette di risparmiare spazio di storage.

A differenza dei normali file di testo, che si leggono con il comando <cat>, i file .gz necessitano del comando Z.

Quindi, avete:

  • zcat al posto di cat per vedere i file compressi;
  • zgrep al posto di  grep per cercare all’interno di un file compresso;
  • zless al posto di less, zmore al posto di more;
  • zdiff al posto di diff, permette di vedere le differenze tra due file compressi;

La cosa più interessante del comando Z è che non dovete estrarre il file compresso per utilizzarlo, lavora direttamente sul file .gz.

NOTA: se avete un file sul desktop e aprite il terminale scrivendo ” cat nomefile ” il terminale vi darà un errore. Infatti per funzionare correttamente i comandi devono essere dati quando vi trovate nella directory del file su cui volete operare. La procedura da seguire è:

cd Desktop --> cd nomecartella --> cat nomefile

Nell’immagine sottostante vi mostro come

  1. spostarvi sul desktop;
  2. creare un file;
  3. scrivere su file un contenuto;
  4. leggere il file col comando cat;

linux-usare-il-terminale- .gz

Se volete potete comprimere un file voi stessi con il comando

gzip filename

Il file può essere decompresso dando da terminale

gunzip filename

Chiaramente potete verificare voi stessi che, una volta compresso un semplice file .txt col comando gzip, esso non sarà più leggibile correttamente col comando cat, dovrete usare zcat. Zcat si usa esattamente allo stesso modo di cat. Ad esempio:

zcat logfile.gz

Questo vi mostrerà tutto il contenuto del file logfile.gz senza estrarlo. In realtà avviene una forma di estrazione temporanea ma non è questo il punto.

LESS e MORE
zcat logfile.gz | less
zcat logfile.gz | more

Nel caso non sappiate se il file è compresso o no (con o senza estenzione .gz), potete usare zcat -f. Cosi’ facendo potrete vedere il contenuto del file sia che sia compresso sia che non lo sia.

zcat -f logfile.gz
ZLESS e ZMORE

Cosi’ come con less e more potete usare zless e zmore per leggere il contenuto di file compressi senza estrarli.

zless logfile.gz
zmore logfile.gz
GREP

Grep è un comando potentissimo e sicuramente uno dei più utilizzati. Zgrep è la controparte Z e ti permette di cercare all’interno di un file compresso senza eseguire l’estrazione.

Esempio:

zgrep -i keyword_search logfile.gz
ZDIFF

Nonostante questo comando possa non essere utilissimo potete utlizzarlo, esattamente come diff, per vedere le differenze fra file compressi.

zdiff logfile1.gz logfile2.gz

Questi sono solo alcuni dei comandi più utilizzati per lavorare su file .gz da terminale.

E voi avete qualche trucchetto da segnalarci per lavorare su file compressi?

  • giovanni

    Questo blog è diventato famoso per le utili guide che aiutavano a risolvere le piccole problematiche che gli utenti, più o meno esperti, incontravano tutti i giorni nelle delle distribuzioni più usate. Sicuramente a qualcuno tornerà utile la guida di oggi, però penso che sarebbe apprezzato anche qualcosa di uso più frequente e meno specialistico.

    • Francesco

      non sono daccordo, seguendo praticamente solo lffl, trovo tutto interessante e apprezzo lo sforzo di chi continua a trovare argomenti e scrivere articoli.
      Non vorrei essere frainteso, non è mia intenzione fare polememica, bensì porgere un ringraziamento a lffl ed ai suoi utenti, dei quali apprezzo (spesso) i commenti

      • giovanni

        Se quel “spesso” tra parentesi vuol dire che non apprezzi quello che scrivo ci può stare. Ma mi sono riletto 5 volte quello che ho scritto e non mi sembra di aver espresso niente di negativo. Tengo a questo blog perchè qui ho imparato tanto ed il mio era un consiglio per migliorare. Se poi vuoi fare polemica, hai vinto tu, io proprio non ne ho voglia.

        • Matteo Gatti

          @disqus_rqdUpULDHA:disqus non è facile per noi inventare guide utili cosi’ su due piedi, le proposte sono sempre ben accette!!! ad esempio potrei fare una guida sull’uso del terminale partendo da ZERO, ma non so se puo’ interessare all’utenza..

          @Francesco grazie:)

          • Powerbit

            Si la guida sul terminale mi piacerebbe molto!

          • giovanni

            Ok. Ho capito che c’è stato un malinteso. Anche io ringrazio Francesco e lo staff per lo sforzo profuso nella pubblicazione di questi articoli. Spesso scrivendo non si riesce ad esprimersi appieno come in questo caso. E’ difficile dare consigli o fare proposte a chi è più bravo di te, penso di non essere all’altezza. Quello che posso dire è che sono un appassionato di linux e sono molto curioso di tutte le novità che riguardano le distro. Distrowatch è il mio punto di riferimento e da’ sempre nuovi spunti. Si potrebbe parlare di un sacco di cose, della differenza che tra le varie distro, le peculiarità che caratterizzano ognuna di esse, delle guide per installarle, dei vari sviluppatori, dei gestori dei pacchetti, dei vari DE. Ci sarebbero milioni di cose di cui parlare e da approfondire, anche e soprattutto per chi si avvicina a questo mondo e non sa da dove cominciare, come installare ubuntu o una sua derivata e poi personalizzarla per esempio, visto che di solito si comincia con questa distro, per poi scambiarsi consigli e dritte un po su tutto nei commenti. Insomma trovare spunti per condividere una passione.

          • francesco

            purtroppo temevo un fraintendimento, il mio commento aveva lo scopo primario di ringraziare lo staff e gli utenti. (spesso) era rivolto ad i commenti che personalmente non apprezzo in modo del tutto generale e NON rivolto al tuo commento specifico….che in questo caso posso non aver apprezato ma sappi che spesso apprezzo i tuoi commenti

          • sbaragnaus

            Io voto favorevole alla guida del terminale.

          • gianfranco

            a me piacerebbe un guida semplice e completa x l’uso del terminale.Io sono poco esperto ma desideroso di imparare non le formule a memoria,ma i ragionamenti x arrivare al risultato voluto.Le formule si dimenticano col tempo,i ragionamenti x arrivarci,no.Per favore fatela,grazie.

  • Simone

    Ragazzi mi riempite il kernel di gioia col lavoro che state facendo su questo blog, il vederlo rifiorire è bellssimo dopo il periodo di assenza affrontato dal buon Roberto. Se volete anche iniziare un corso per utonti da zero io sarò nel primo banco!

  • Samael

    Con l’introduzione delle interfacce grafiche GUI, l’uso del terminale, anche da parte dei cosiddetti power user, è andato via via diminuendo.

    Ne siete sicuri? Io di power user che non usano il terminale non ne ho mai visti, anche perché non puoi nemmeno definirti come tale se l’unica cosa che sei in grado di fare è cliccare su due bottoni, anziché andare oltre la superficie. Un power user è uno che sa e vuole andare a fondo per capire il funzionamento del proprio ambiente in modo da poterlo adattare alle proprie esigenze.
    Ah, e non parlo solo di Linux, ma anche di Windows.

    E per quanto mi riguarda, il mio desktop è ancora oggi dwm+urxvt+byobu+zsh.
    Non ho nemmeno installato un file manager e se ho la possibilità di trovare un software che faccia uso di ncurses uso quello, altrimenti ne prendo uno con la GUI.

    • Matteo Gatti

      infatti ho detto “diminuendo” non ho detto che non lo usa più nessuno 😀

      • Samael

        E io non ho detto che non lo usa nessuno, io ho detto che power user che non ne fanno uso non ne ho visti.
        Ma al di là di ‘ste pippe mentali sulla semantica, quello che onestamente vorrei capire è (non è polemica, sia chiaro. Alla fine si scambiano opinioni e basta) in cosa l’uso del terminale sarebbe diminuito nel tempo, con l’introduzione delle GUI.

        Cioè, per quello che vedo io che le GUI di oggi non fanno niente di più di quanto non facessero le GUI di ieri, ed alla fine a parte il cliccare sul bottone OK dopo aver cambiato le impostazioni del desktop, il terminale rimane sempre l’unica via quando si tratta di amministrare l’OS.
        Questo su Linux, per lo meno. Su Windows puoi amministrare dalla console grafica, ma è talmente un cancro che alla fine chi può passa all’accoppiata cmd+PowerShell.

        Certo, se poi il concetto è: siamo passati dal Norton/Midnight Commander alle finestre ed il puntatore, allora OK.
        Ma lì più che ridotto l’uso del terminale, direi che è stato più un passare da schermi monocromatici con interfacce a caratteri 80×24 a GUI.

        • Matteo Gatti

          Il conceto che volevo esprimere era: se una volta si usava solo il terminale per ogni cosa ( proprio perchè la gui non esisteva) ora si tende ad usare la GUI perlomeno nell’uso “quotidiano”. Quindi se una volta si usava “touch nomefile” per creare un file adesso si preferisce tasto destro-> nuovo file.
          Ho fatto un esempio stupido per rendere l’idea

    • ange98

      Mai provato “ranger”?

      • Samael

        Sì, l’ho usato sulla mia Slackware poche volte, prima di abbandonarlo per mc su FreeBSD (che ai tempi non aveva ancora ranger nei ports), e poi per le normali utility UNIX che trovo più rapide, dato che ho sempre un prompt ZSH aperto su byobu.

  • Pingback: [GUIDA] Impariamo a usare il terminale - prima parte - Lffl.org()

No more articles