Con questo articolo voglio dar il via ad una serie di post in cui tratterò i comandi utili della shell bash

Come possiamo elencare le risorse (files, directrory, socket) utilizzate da uno specifico programma?

# lsof |grep apache
–> elenca tutti i file usati da Apache



Come posso effettuare la cancellazione di file in modo ricorsivo?

Spesso capita di dover cancellare dei file aventi specifiche caratteristiche da directory e sottodirectory.
Per effettuare l’operazione con un solo comando possiamo usare:

# for i in `find . -name test`; do rm $i ; done
–> cancella usando find per identificare i file
# for i in `grep -l prova *`; do rm $i ; done
–> cancella usando grep per cercare nei file
# for i in `ls -la file*`; do rm $i ; done
–> cancella usando ls-la per identificare I file

Come contiamo gli elementi di una directory?
Spesso capita di voler sapere quanti sono i files contenuti in una directory.
Basta usare il comando wc in pipe con il comando ls.

# ls |wc


Utilizzare comando precedente

A volte capita che dobbiamo riscrivere il programma precedente, con il comando

!!

il comando precedente inserito viene recuperato.

Utilizzare l’output di un comando.

Ad esempio il comando:

rm `locate xx`

dà a rm l’output del comando locate xx, quindi elimina i file trovati che contengono xx.


History dei comandi

È possibile utilizzare la history dei comandi che cominciano per la parola che hai scritto, che si ottiene editando il file /etc/inputrc ed eliminando il # prima delle righe

"e[5~": history-search-backward
"e[6~": history-search-forward

Per farvi un esempio, se scrivi tar zxvf e poi si preme PagUp e PagDown, va avanti e indietro nella history dei comandi che si sono dati in passato che cominciano per tar zxvf. Utilissimo!

In collaborazione con : work4net.it



  • gedi Says:
    giugno 12th, 2008 at 11:15

    ehi ottimo argomento :) ti segnalo solo un errore nel comando
    # for i in `la -la file*`; do rm $i ; done
    –> cancella usando ls-la per identificare I file

    che immagino sia `ls -la file*`

    ciaociao e grazie per le news

    Rispondi

  • intilinux Says:
    giugno 12th, 2008 at 12:21

    Hai ragione…! Correggo….

    Rispondi

  • Simone Says:
    gennaio 4th, 2009 at 03:29

    > # for i in `find . -name test`; do rm $i ; done
    >–> cancella usando find per identificare i file

    Sfrutterei più a fondo find :)
    find . -name test -exec rm {} \;

    Rispondi