


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











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
giugno 12th, 2008 at 12:21
Hai ragione…! Correggo….
Rispondi
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