<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>gablog &#187; linux</title>
	<atom:link href="http://gabo.homelinux.com/category/linux/feed/" rel="self" type="application/rss+xml" />
	<link>http://gabo.homelinux.com</link>
	<description>Fino ad ora ho avuto un sito brutto. Ora ho un blog.</description>
	<lastBuildDate>Fri, 13 Nov 2009 14:29:27 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<language>it</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>email autenticate in plain auth via telnet</title>
		<link>http://gabo.homelinux.com/2009/11/email-autenticate-in-plain-auth-via-telnet/</link>
		<comments>http://gabo.homelinux.com/2009/11/email-autenticate-in-plain-auth-via-telnet/#comments</comments>
		<pubDate>Fri, 13 Nov 2009 14:28:07 +0000</pubDate>
		<dc:creator>gabo</dc:creator>
				<category><![CDATA[linux]]></category>
		<category><![CDATA[sysadmin]]></category>
		<category><![CDATA[plain auth]]></category>
		<category><![CDATA[postfix]]></category>
		<category><![CDATA[sasl]]></category>
		<category><![CDATA[smtp]]></category>

		<guid isPermaLink="false">http://gabo.homelinux.com/?p=519</guid>
		<description><![CDATA[Questo articolo è più un promemoria che altro, d&#8217;ora in avanti saprò dove cercare questa info e mi risprmierò 1/2h di google ogni volta.
Innanzitutto mi procuro il base64 di user e password:


% perl -MMIME::Base64 -e \
    &#8216;print encode_base64(&#34;\0username\0password&#34;);&#8217;
AHVzZXJuYW1lAHBhc3N3b3Jk


Ora posso mandare la mia mail direttamente al server:


g4b0@gabodeb:~$ telnet gabo.homelinux.com 25
Trying 1.2.3.4&#8230;
Connected to gabo.homelinux.com.
Escape [...]]]></description>
			<content:encoded><![CDATA[Questo articolo è più un promemoria che altro, d&#8217;ora in avanti saprò dove cercare questa info e mi risprmierò 1/2h di google ogni volta.
Innanzitutto mi procuro il base64 di user e password:

<pre class="brush: bash;">
% perl -MMIME::Base64 -e \
    &#8216;print encode_base64(&quot;\0username\0password&quot;);&#8217;
AHVzZXJuYW1lAHBhc3N3b3Jk
</pre>

Ora posso mandare la mia mail direttamente al server:

<pre class="brush: bash;">
g4b0@gabodeb:~$ telnet gabo.homelinux.com 25
Trying 1.2.3.4&#8230;
Connected to gabo.homelinux.com.
Escape character is &#8216;^]&#8217;.
220 gabo.homelinux.com ESMTP Postfix (Debian/GNU)
helo gaboclient.homelinux.com
250 gabo.homelinux.com
auth plain AHVzZXJuYW1lAHBhc3N3b3Jk
235 2.7.0 Authentication successful
mail from: pippo@pluto.it
250 2.1.0 Ok
rcpt to: pluto@pippo.it
250 2.1.5 Ok
data
354 End data with &lt;CR&gt;&lt;LF&gt;.&lt;CR&gt;&lt;LF&gt;
From: &quot;Pippo&quot; &lt;pippo@pluto.it&gt;
Subject: test
testo del messaggio
quante righe voglio
ciao ciao

.
250 2.0.0 Ok: queued as 94CCA8142C
quit
221 2.0.0 Bye
Connection closed by foreign host.
</pre>

E questo è quanto.]]></content:encoded>
			<wfw:commentRss>http://gabo.homelinux.com/2009/11/email-autenticate-in-plain-auth-via-telnet/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Filtrare i messaggi in uscita con thunderbird</title>
		<link>http://gabo.homelinux.com/2009/06/filtrare-i-messaggi-in-uscita-con-thunderbird/</link>
		<comments>http://gabo.homelinux.com/2009/06/filtrare-i-messaggi-in-uscita-con-thunderbird/#comments</comments>
		<pubDate>Mon, 29 Jun 2009 18:10:48 +0000</pubDate>
		<dc:creator>gabo</dc:creator>
				<category><![CDATA[linux]]></category>
		<category><![CDATA[email]]></category>
		<category><![CDATA[filtri]]></category>
		<category><![CDATA[thunderbird]]></category>

		<guid isPermaLink="false">http://gabo.homelinux.com/?p=415</guid>
		<description><![CDATA[Prima usavo Kmail, ma non mi filtrava i messaggi spediti. Sono passato a Thunderbird proprio per questo motivo, in quanto ho qualcosa come 800Mb di email e mi piacerebbe tenerle ordinate.. Ma con mia somma sorpresa i messaggi in uscita non vengono filtrati automaticamente!
Googlando un po&#8217; ho scoperto che è una funzionalità schedulata per la [...]]]></description>
			<content:encoded><![CDATA[<p>Prima usavo Kmail, ma non mi filtrava i messaggi spediti. Sono passato a Thunderbird proprio per questo motivo, in quanto ho qualcosa come 800Mb di email e mi piacerebbe tenerle ordinate.. Ma con mia somma sorpresa i messaggi in uscita non vengono filtrati automaticamente!</p>
<p>Googlando un po&#8217; ho scoperto che è una funzionalità <a title="fileter outgoing messages" href="https://bugzilla.mozilla.org/show_bug.cgi?id=11039" target="_blank">schedulata</a> per la nuova versione 3, ma per la versione 2 è stato sviluppato qesto ottimo <a title="Send FIlter" href="https://addons.mozilla.org/it/thunderbird/addon/5538" target="_blank">addon</a>, che svolge egregiamente il suo lavoro.</p>
<p>Ci ho messo una pezza, ma mi chiedo come faccia un utente medio che voglia questa utile funzionalità. Mi rispondo da solo: torna ad usare Outlook.</p>
]]></content:encoded>
			<wfw:commentRss>http://gabo.homelinux.com/2009/06/filtrare-i-messaggi-in-uscita-con-thunderbird/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Aggiornamento etch -&gt; lenny</title>
		<link>http://gabo.homelinux.com/2009/03/aggiornamento-etch-lenny/</link>
		<comments>http://gabo.homelinux.com/2009/03/aggiornamento-etch-lenny/#comments</comments>
		<pubDate>Wed, 11 Mar 2009 19:10:06 +0000</pubDate>
		<dc:creator>gabo</dc:creator>
				<category><![CDATA[linux]]></category>
		<category><![CDATA[backup]]></category>
		<category><![CDATA[debian]]></category>
		<category><![CDATA[etch]]></category>
		<category><![CDATA[lenny]]></category>

		<guid isPermaLink="false">http://gabo.homelinux.com/?p=148</guid>
		<description><![CDATA[Il 14 febbraio 2009 la distribuzine Debian 5.0 (lenny) è passata da testing a stable, quindi mi accingo all'upgrade. Probabilmente lo farò anche sui server in produzione dell'ufficio, ma comincio con il mio server domestico, dato che è il mio primo dist-upgrade.
Backup
Come prima cosa provvedo ad un bel backup complessivo della macchina, un bell'rsync totale [...]]]></description>
			<content:encoded><![CDATA[<p>Il 14 febbraio 2009 la distribuzine Debian 5.0 (lenny) è passata da testing a stable, quindi mi accingo all'upgrade. Probabilmente lo farò anche sui server in produzione dell'ufficio, ma comincio con il mio server domestico, dato che è il mio primo <strong>dist-upgrade.</strong></p>
<h3>Backup</h3>
<p>Come prima cosa provvedo ad un bel backup complessivo della macchina, un bell'rsync totale che mi permetterà, nel caso qualcosa vada storto, di ripristinare la situazione di partenza. A tal uopo (erano anni che sognavo di dirlo) utilizzo il seguente script:</p>

<pre class="brush: bash;">
rsync -vrpoglHDIt --delete --progress \
--exclude=/proc --exclude=/sys --exclude=/tmp --exclude=/var/run \
--exclude=/var/lock --exclude=/var/tmp --exclude=/var/backups \
--exclude=/var/cache --exclude=/var/tmp \
--exclude=/mnt/multimedia --exclude=/mnt/mp3 \
/ /mnt/multimedia/backup
</pre>

<p>Al posto di escludere una ad una le directory avrei potuto usare un file <em>not_rsync</em>, ma per motivi puramente blog-istici ho preferito usare questa modalità.  In realtà nello script che uso per backuppare da remoto i server di produzione ho anche
<pre>--exclude=/boot/grub/ --exclude=/etc/network --exclude=/etc/fstab \</pre>
Ma non dovrebbero dare problemi. Sinceramente non ricordo perchè quando preparai il backup esclusi tali directory e file.</p>

<p>Per sincronizzazioni successive basta eliminare il parametro I di rsync, che il man descrive così:
<pre>-I, --ignore-times          don't skip files that match size and time
    --size-only             skip files that match in size
    --modify-window=NUM     compare mod-times with reduced accuracy</pre>
In questo modo le successive sincronizzazioni saranno più accurate. Conviene, a questo punto, schedularle con un cronjob.</p>
<h3>Upgrade</h3>
<p>Ora che sono tranquillo e beato posso procedere all'upgrade vero e proprio. Come da manuale leggo le <a href="http://debian.org/releases/stable/i386/release-notes/ch-upgrading.it.html">relase-notes </a>sul sito debian.org, e faccio tutti i controlli per verificare la presenza di eventuali pacchetti problematici. Non ne trovo nessuno.</p>
<p>Modifico /etc/apt/sources.list per farlo puntare ai repository di lenny:</p>

<pre class="brush: bash;">
deb http://ftp.it.debian.org/debian/ lenny main
deb-src http://ftp.it.debian.org/debian/ lenny main
deb http://security.debian.org/ lenny/updates main
deb-src http://security.debian.org/ lenny/updates main
</pre>

<p>Con il comando seguente abilito il logging della sessione su un file di testo, nel caso in cui qualcosa vada storto</p>

<pre class="brush: bash;">
script -t 2&gt;~/upgrade-lenny.time -a ~/upgrade-lenny.script
</pre>

<p>Aggiorno finalmente la lista dei pacchetti</p>

<pre class="brush: bash;">
aptitude update
</pre>

<p>Aggiorno la apt e aptitude, comprese alcune dipendenze</p>

<pre class="brush: bash;">
apt-get install apt
</pre>

<p>E qui c'è la prima differenza rispetto alle relases-note, il comando precedente mi disinstalla/upgrada/installa un sacco di pacchetti. Chiedendo qua e la su forum e newsgroup noto che ad altri è già successo, e gli è andata bene. Altra differenza rispetto al documento che sto seguendo è relativa al prossimo comando, dato che aptitude è stato disinstallato in quel blocco di pacchetti citati poco fa. Dopo averlo re-installato con apt-get lo aggiorno:</p>

<pre class="brush: bash;">
aptitude install aptitude
</pre>

<p>Di nuovo un sacco di pacchetti rimossi, aggiornati ed installati. Ho risposto con i default a tutte le domande (dopo averle lette e capite), sembra che tutto sia a posto.  Aggiorno la lista di pacchetti a disposizione di aptitude con un</p>

<pre class="brush: bash;">
aptitude search &quot;?false&quot;
</pre>

<p>E posso proseguire con l'aggiornamento minimo del sistema, necessario prima del dist-upgrade vero e proprio:</p>

<pre class="brush: bash;">
aptitude upgrade
</pre>

<p>Trattandosi di un server posso proseguire al dist-upgrade, non avendo bisogno di aggiornare il supporto ad X</p>

<pre class="brush: bash;">
aptitude dist-upgrade
</pre>

<p>Una rispolverata all'MBR, in modo da bootare con il nuovo kernel 2.6.26-1, lasciando la possibilità di usare il 2.6.18-6</p>

<pre class="brush: bash;">
lilo -v
</pre>

<p>Dopo una lettura dei possibili problemi a cui potrei andare incontro, decido di riavviare. Al massimo il sito sarà irraggiungibile per un po'... Incorcio le dita e digito un bel</p>

<pre class="brush: bash;">
reboot
</pre>

<p>E come per magia eccomi qua con la mia lenny nuova fiammante:</p>

<pre class="brush: bash;">
g4b0@debian:~$ more /etc/debian_version
5.0
g4b0@debian:~$ uname -a
Linux debian 2.6.26-1-686 #1 SMP Sat Jan 10 18:29:31 UTC 2009 i686 GNU/Linux
g4b0@debian:~$
</pre>

<p>Anche se rimarrò sempre fedele ed affezionato alla mia Slackware, che uso come desktop, devo dire che debian mi da delle grandi soddisfazioni... Ora devo controllare lo stato dei pacchetti, l'integrità e l'ordine del sistema, ma prima mi dovrò studiare un po' il funzionamento del sistema di package di lenny.</p>]]></content:encoded>
			<wfw:commentRss>http://gabo.homelinux.com/2009/03/aggiornamento-etch-lenny/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Gmail backup</title>
		<link>http://gabo.homelinux.com/2009/03/gmail-backup/</link>
		<comments>http://gabo.homelinux.com/2009/03/gmail-backup/#comments</comments>
		<pubDate>Mon, 09 Mar 2009 07:01:46 +0000</pubDate>
		<dc:creator>gabo</dc:creator>
				<category><![CDATA[linux]]></category>
		<category><![CDATA[backup]]></category>
		<category><![CDATA[Gmail]]></category>
		<category><![CDATA[python]]></category>

		<guid isPermaLink="false">http://gabo.homelinux.com/?p=170</guid>
		<description><![CDATA[Utilizzare una mail gratuita non da alcuna garanzia di continuità/affidabilità/professionalità del servizio, e tantomeno garantisce un backup.]]></description>
			<content:encoded><![CDATA[<p>Dopo il <a href="http://www.repubblica.it/2009/03/sezioni/tecnologia/libero-mail/libero-mail/libero-mail.html">disastro</a> combinato da <a href="http://www.libero.it">libero</a> ho deciso di backuppare i miei 665Mb di dati presenti su Gmail. Utilizzare una mail gratuita non da alcuna garanzia di continuità/affidabilità/professionalità del servizio, e tantomeno garantisce un backup. Quindi <strong>lamentarsi è inutile</strong>. Se ti danno qualcosa gratis, ringrazia. Non lamentarti se non funziona come ti piace.</p>
<p>Detto ciò, ho sudato freddo pensando agli anni di email memorizzate sui server di Gmail. Dopo una rapida ricerca ho trovato <a href="http://www.gmail-backup.com/">gmail-backup</a>, un ottimo software per backuppare il tutto. È scritto in python, quindi funziona su qualsiasi piattaforma che supporta questo linguaggio.</p>
<p>Per usarlo sulla mia macchina debian ho dovuto installare due pacchetti aggiuntivi: python2.5 e python-wxgtk2.4 (richiesto anche se non si usa la versione GUI).</p>
<p>A questo punto, con il semplice comando seguente ho backuppato tutto.</p>
<p><pre class="brush: bash;"><br />
./gmail-backup.sh backup /dir/dove/backuppare username@gmail.com password<br />
</pre></p>
<p>Specificando una data nel formato <em>aaaammdd</em> dopo la password gli si dice di backuppare le mail soltanto da un determinato giorno, funzionalità utile per i backup incrementali.</p>
<p>Ho infine automatizzato il tutto con un cronjob. Innanzitutto ho spostato il codice python in /usr/src ed ho creato un symlink allo script in /usr/bin, poi ho messo questa riga nel cronjob di root (uso root per tutti i cronjob, in modo da avere sottocontrollo tutto ciò che si aggira in automatico in un colpo solo):</p>
<p><pre class="brush: bash;"><br />
0 2 * * * /usr/bin/sudo -u user /usr/bin/gmail-backup backup /mnt/multimedia/bkpGmail/ email@gmail.com &#8216;password&#8217; `date &#8211;date=&#8217;1 day ago&#8217; +%Y%m%d`<br />
</pre></p>
]]></content:encoded>
			<wfw:commentRss>http://gabo.homelinux.com/2009/03/gmail-backup/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Statistiche di sistema</title>
		<link>http://gabo.homelinux.com/2009/03/statistiche-di-sistema/</link>
		<comments>http://gabo.homelinux.com/2009/03/statistiche-di-sistema/#comments</comments>
		<pubDate>Sun, 08 Mar 2009 15:32:38 +0000</pubDate>
		<dc:creator>gabo</dc:creator>
				<category><![CDATA[linux]]></category>
		<category><![CDATA[mrtg]]></category>
		<category><![CDATA[rrdtool]]></category>
		<category><![CDATA[statistiche]]></category>

		<guid isPermaLink="false">http://gabo.homelinux.com/?p=181</guid>
		<description><![CDATA[Oggi ho deciso di monitorare le statistiche di utilizzo del server, ed ho seguito l&#8217;ottimo tutorial di it.oetiker.ch. Il tutorial titola &#8220;Use RRD to monitor system usage and health&#8221;, e spiega come ottenere dei grafici di utilizzo di risorse (cpu, memoria, I/O) utilizzando tool come lm-sensors, smartmontools, sysstats e molti altri. Molto interessante!
Gli autori di [...]]]></description>
			<content:encoded><![CDATA[<p>Oggi ho deciso di monitorare le statistiche di utilizzo del server, ed ho seguito l&#8217;ottimo <a href="http://oss.oetiker.ch/rrdtool-trac/wiki/SystemMonitorScripts">tutorial</a> di <a href="http://it.oetiker.ch">it.oetiker.ch</a>. Il tutorial titola &#8220;Use RRD to monitor system usage and health&#8221;, e spiega come ottenere dei grafici di utilizzo di risorse (cpu, memoria, I/O) utilizzando tool come lm-sensors, smartmontools, sysstats e molti altri. Molto interessante!</p>
<p>Gli autori di RRD sono gli stessi che mantengono MRTG, adsso rispolvero anche le mie vecchie conoscenze e mi monitorizzo anche la banda.</p>
<p>Sempre le stesse persone producono anche SmokePing, OP Tools e OP SEPP. Appena ho sistemato il resto do un occhiata anche a questi software, lavorano bene questi ragazzi!</p>
]]></content:encoded>
			<wfw:commentRss>http://gabo.homelinux.com/2009/03/statistiche-di-sistema/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>La cazzata del giorno</title>
		<link>http://gabo.homelinux.com/2009/03/la-cazzata-del-giorno/</link>
		<comments>http://gabo.homelinux.com/2009/03/la-cazzata-del-giorno/#comments</comments>
		<pubDate>Thu, 05 Mar 2009 14:55:57 +0000</pubDate>
		<dc:creator>gabo</dc:creator>
				<category><![CDATA[linux]]></category>
		<category><![CDATA[allegati]]></category>
		<category><![CDATA[email]]></category>
		<category><![CDATA[gnu]]></category>

		<guid isPermaLink="false">http://gabo.homelinux.com/?p=162</guid>
		<description><![CDATA[Inviare allegati Office nelle proprie email è maleducazione.]]></description>
			<content:encoded><![CDATA[<p><img class="size-full wp-image-163 alignright" style="margin-left: 10px; margin-right: 10px;" title="cazzata" src="http://gabo.homelinux.com/wp-content/uploads/2009/03/cazzata.jpg" alt="cazzata" width="85" height="420" />Navigando su internet mi sono imbattuto nella pubblicità qua di fianco, a dir poco ridicola! Un PC senza Office 2007 è come un pacchetto senza il regalo dentro. Che cazzata!</p>
<p>Da quando mi sono liberato dal software Microsoft passando a Linux, solo più una cosa mi turba il karma: gli allegati Office alle email! Perfavore, smettetela di mandarmi allegati Word, Excel o Power Point, io non ho un computer, ma una scatola senza regalo!!</p>
<p>Ne parla con il suo modo visionario/profetico anche Richard M. Stallman, in questo <a href="http://www.gnu.org/philosophy/no-word-attachments.html">documento</a>, in cui spiega il perchè è maleducazione inviare questo tipo di allegati.</p>
<p>Sarebbe ora che l&#8217;utente medio capisse che esistono alternative gratuite ed intellettualmente più appaganti del pagare una licenza software, o di rubarla&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://gabo.homelinux.com/2009/03/la-cazzata-del-giorno/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Sostituzione ricorsiva di regular expression</title>
		<link>http://gabo.homelinux.com/2009/02/sostituzione-ricorsiva-di-regular-expression/</link>
		<comments>http://gabo.homelinux.com/2009/02/sostituzione-ricorsiva-di-regular-expression/#comments</comments>
		<pubDate>Fri, 27 Feb 2009 10:38:48 +0000</pubDate>
		<dc:creator>gabo</dc:creator>
				<category><![CDATA[linux]]></category>
		<category><![CDATA[bash]]></category>
		<category><![CDATA[regexp]]></category>
		<category><![CDATA[ricorsione]]></category>
		<category><![CDATA[shell]]></category>

		<guid isPermaLink="false">http://gabo.homelinux.com/?p=67</guid>
		<description><![CDATA[Script che sostituisce _ricorsivamente_ tutte le occorrenze della regexp passata come primo parametro con la regexp passata come secondo parametro, a partire dalla dir attuale o da quella specificata come terzo parametro]]></description>
			<content:encoded><![CDATA[<p>Questo script mi è tornato utile in un sacco di situazioni, permette di sostiruire ricorsivamente la regexp passata come primo argomento con la regexp passata come secondo. Il core dello script è la funzione chsrt_ric:</p>
<pre class="brush: bash;">
function chstr_ric () {

  echo -e &quot;Num par: $#\n$0\n$1\n$2\n$3\n&quot;

# se non è specificata la dir di partenza parto da quella attuale
  if [ -z &quot;$3&quot; ]; then
    DIR=$PWD
  else
    DIR=$3
  fi

# Entro nella dir
  echo -e &quot;directory root: $DIR\n&quot;
  cd $DIR

  for FILE in * ; do
    if [ -d $FILE ] ; then
      echo -e &quot;\n*************\nEntro dentro a: $DIR/$FILE\n*************&quot;
# Se è una dir ci entro dentro e chiamo la ricorsione
      cd $FILE
      chstr_ric &quot;$1&quot; &quot;$2&quot; &quot;$FILE&quot;
      echo -e &quot;\n*************\nEsco da a: $DIR/$FILE\n*************&quot;
# finita la ricorsione risalgo nell albero delle directory
      cd ..
    else
      echo -e &quot;\tProcesso il file: $FILE&quot;
# se è un file attuo la sostituzione
      sed -e &quot;s/$1/$2/g&quot; $FILE &gt; $FILE.newsed
      mv -f $FILE.newsed $FILE
    fi
  done
}
</pre>

<p>Come prima cosa verifica il terzo parametro, e se è presente lo considera come directory di partenza. Se non presente setta come directory iniziale quella attuale. A questo punto scorre tutti i file presenti all'interno e:
<ul>
	<li>Se si tratta di un file esegue la sostituzione usando sed ed un file temporaneo.</li>
	<li>Se si tratta di una directory richiama ricorsivamente se stessa con la directory in questione come terzo parametro.</li>
</ul>
Lo script completo è scaricabile <a title="subst.sh" href="/download/subst.sh">qui</a>.<p/>]]></content:encoded>
			<wfw:commentRss>http://gabo.homelinux.com/2009/02/sostituzione-ricorsiva-di-regular-expression/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Find</title>
		<link>http://gabo.homelinux.com/2009/02/find/</link>
		<comments>http://gabo.homelinux.com/2009/02/find/#comments</comments>
		<pubDate>Thu, 26 Feb 2009 08:31:49 +0000</pubDate>
		<dc:creator>gabo</dc:creator>
				<category><![CDATA[linux]]></category>
		<category><![CDATA[find]]></category>
		<category><![CDATA[shell]]></category>

		<guid isPermaLink="false">http://gabo.homelinux.com/?p=35</guid>
		<description><![CDATA[Non so voi, ma io faccio una fatica tremenda a ricordarmi alcuni semplici ed utili comandi linux. Con questo articolo voglio iniziare una serie di promemoria in cui me li appunto, così so dove andarli a cercare. È finita l'era del txt disperso sui miei HDD, ora c'ho il blog!!!

Per cercare tutti i file con [...]]]></description>
			<content:encoded><![CDATA[Non so voi, ma io faccio una fatica tremenda a ricordarmi alcuni semplici ed utili comandi linux. Con questo articolo voglio iniziare una serie di promemoria in cui me li appunto, così so dove andarli a cercare. È finita l'era del txt disperso sui miei HDD, ora c'ho il blog!!!

Per cercare tutti i file con una determinata estensione:

<pre class="brush: bash;">
find /home/gabo -name &quot;*.txt&quot;
</pre>Per cercare tutti i file contenenti una determinata stringa.

<pre class="brush: bash;">
find /home/gabo | xargs grep -i &quot;frase da cercare&quot;
</pre>Per cancellare ricorsivamente tutti i file di un certo tipo (utile per rimuover i file di backup dai server di produzione, dopo upload errati)

<pre class="brush: bash;">
find . -name '*~' -exec rm -f {} \;
</pre>]]></content:encoded>
			<wfw:commentRss>http://gabo.homelinux.com/2009/02/find/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
