<?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>Miximum &#187; shell</title>
	<atom:link href="http://www.miximum.fr/tag/shell/feed" rel="self" type="application/rss+xml" />
	<link>http://www.miximum.fr</link>
	<description>Le blog d&#039;un ingénieur web freelance</description>
	<lastBuildDate>Wed, 16 Nov 2011 16:25:14 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1</generator>
		<item>
		<title>Convertir un timestamp en date en ligne de commande</title>
		<link>http://www.miximum.fr/methodes-et-outils/95-convertir-un-timestamp-en-date-en-ligne-de-commande</link>
		<comments>http://www.miximum.fr/methodes-et-outils/95-convertir-un-timestamp-en-date-en-ligne-de-commande#comments</comments>
		<pubDate>Tue, 02 Sep 2008 14:53:40 +0000</pubDate>
		<dc:creator>thibault</dc:creator>
				<category><![CDATA[Méthodes et outils]]></category>
		<category><![CDATA[astuce]]></category>
		<category><![CDATA[shell]]></category>

		<guid isPermaLink="false">http://www.miximum.fr/methodes-et-outils/95-convertir-un-timestamp-en-date-en-ligne-de-commande</guid>
		<description><![CDATA[Il m&#8217;arrive souvent de devoir convertir un timestamp unix en une date lisible par un &#234;tre humain normal. Dans la plupart des langages de programmation moderne, c&#8217;est quelque chose de facile. Il existe aussi des convertisseurs sur le web. Seulement, c&#8217;est plus rapide de faire &#231;a en shell&#160;: date -d &#34;1970-01-01 GMT+2 + 1220367600 seconds&#34; [...]]]></description>
			<content:encoded><![CDATA[<p>Il m&#8217;arrive souvent de devoir convertir un timestamp unix en une date lisible par un &ecirc;tre humain normal. Dans la plupart des langages de programmation moderne, c&#8217;est quelque chose de facile. Il existe aussi des convertisseurs sur le web. Seulement, c&#8217;est plus rapide de faire &ccedil;a en shell&nbsp;:</p>

<div class="wp_syntax"><div class="code"><pre class="sh" style="font-family:monospace;color: #ccc; font: 12px Consolas, Lucida Console, Monaco, monospace;">date -d &quot;1970-01-01 GMT+2 + 1220367600 seconds&quot;
-&gt;
mardi 2 septembre 2008, 16:58:00 (UTC+0200)</pre></div></div>

<p>C&#8217;est tout. C&#8217;est bien pratique, m&ecirc;me si <a href="http://pwet.fr/blog/super_timor">&ccedil;a ne vaut pas Super Timor</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.miximum.fr/methodes-et-outils/95-convertir-un-timestamp-en-date-en-ligne-de-commande/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Insérer le résultat d&#8217;une commande shell directement dans vim</title>
		<link>http://www.miximum.fr/methodes-et-outils/54-inserer-le-resultat-dune-commande-shell-directement-dans-vim</link>
		<comments>http://www.miximum.fr/methodes-et-outils/54-inserer-le-resultat-dune-commande-shell-directement-dans-vim#comments</comments>
		<pubDate>Thu, 29 May 2008 13:58:19 +0000</pubDate>
		<dc:creator>thibault</dc:creator>
				<category><![CDATA[Méthodes et outils]]></category>
		<category><![CDATA[astuce]]></category>
		<category><![CDATA[shell]]></category>
		<category><![CDATA[vim]]></category>

		<guid isPermaLink="false">http://www.miximum.fr/methodes-et-outils/54-inserer-le-resultat-dune-commande-shell-directement-dans-vim</guid>
		<description><![CDATA[Dans vim, j&#8217;avais besoin d&#8217;ajouter dans mon buffer la liste des fichiers du r&#233;pertoire courant. Facile&#160;: :r! ls En fait, r&#160;! < commande > ins&#232;re avant le curseur le r&#233;sultat de la commande < commande > ex&#233;cut&#233;e dans un shell. :r < fichier > permet d&#8217;ins&#233;rer le contenu du fichier < fichier > sous le [...]]]></description>
			<content:encoded><![CDATA[<p>Dans vim, j&#8217;avais besoin d&#8217;ajouter dans mon buffer la liste des fichiers du r&eacute;pertoire courant. Facile&nbsp;:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;color: #ccc; font: 12px Consolas, Lucida Console, Monaco, monospace;">:r<span class="sy0">!</span> <span class="kw2">ls</span></pre></div></div>

<p>En fait, r<span class="fine">&nbsp;</span>! < commande > ins&egrave;re avant le curseur le r&eacute;sultat de la commande  < commande > ex&eacute;cut&eacute;e dans un shell.</p>
<p>:r < fichier > permet d&#8217;ins&eacute;rer le contenu du fichier < fichier > sous le curseur. &Ccedil;a peut servir aussi</p>
]]></content:encoded>
			<wfw:commentRss>http://www.miximum.fr/methodes-et-outils/54-inserer-le-resultat-dune-commande-shell-directement-dans-vim/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Mémoriser ses déplacements avec bash</title>
		<link>http://www.miximum.fr/methodes-et-outils/32-memoriser-ses-deplacements-avec-bash</link>
		<comments>http://www.miximum.fr/methodes-et-outils/32-memoriser-ses-deplacements-avec-bash#comments</comments>
		<pubDate>Tue, 06 May 2008 10:06:05 +0000</pubDate>
		<dc:creator>thibault</dc:creator>
				<category><![CDATA[Méthodes et outils]]></category>
		<category><![CDATA[astuce]]></category>
		<category><![CDATA[shell]]></category>

		<guid isPermaLink="false">http://www.miximum.fr/methodes-et-outils/32-memoriser-ses-deplacements-avec-bash</guid>
		<description><![CDATA[Parfois, en ligne de commande, on aime bien changer de r&#233;pertoire provisoirement, avant de revenir l&#224; ou on &#233;tait. cd /chemin/vers/mon/repertoire &#60;quelques commandes&#62; cd /chemin/vers/un/autre/repertoire/ &#60;une_commande&#62; cd /chemin/vers/mon/repertoire Fastidieux et peu pratique. Il est bien sur possible d&#8217;utiliser la variable $OLDPWD, qui m&#233;morise le r&#233;pertoire pr&#233;c&#233;dent&#160;: cd /chemin/vers/mon/repertoire &#60;quelques commandes&#62; cd /chemin/vers/un/autre/repertoire/ &#60;une_commande&#62; cd $OLDPWD [...]]]></description>
			<content:encoded><![CDATA[<p>Parfois, en ligne de commande, on aime bien changer de r&eacute;pertoire provisoirement, avant de revenir l&agrave; ou on &eacute;tait.</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;color: #ccc; font: 12px Consolas, Lucida Console, Monaco, monospace;"><span class="kw3">cd</span> <span class="sy0">/</span>chemin<span class="sy0">/</span>vers<span class="sy0">/</span>mon<span class="sy0">/</span>repertoire
<span class="sy0">&lt;</span>quelques commandes<span class="sy0">&gt;</span>
<span class="kw3">cd</span> <span class="sy0">/</span>chemin<span class="sy0">/</span>vers<span class="sy0">/</span>un<span class="sy0">/</span>autre<span class="sy0">/</span>repertoire<span class="sy0">/</span>
<span class="sy0">&lt;</span>une_commande<span class="sy0">&gt;</span>
<span class="kw3">cd</span> <span class="sy0">/</span>chemin<span class="sy0">/</span>vers<span class="sy0">/</span>mon<span class="sy0">/</span>repertoire</pre></div></div>

<p>Fastidieux et peu pratique. Il est bien sur possible d&#8217;utiliser la variable $OLDPWD, qui m&eacute;morise le r&eacute;pertoire pr&eacute;c&eacute;dent&nbsp;:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;color: #ccc; font: 12px Consolas, Lucida Console, Monaco, monospace;"><span class="kw3">cd</span> <span class="sy0">/</span>chemin<span class="sy0">/</span>vers<span class="sy0">/</span>mon<span class="sy0">/</span>repertoire
<span class="sy0">&lt;</span>quelques commandes<span class="sy0">&gt;</span>
<span class="kw3">cd</span> <span class="sy0">/</span>chemin<span class="sy0">/</span>vers<span class="sy0">/</span>un<span class="sy0">/</span>autre<span class="sy0">/</span>repertoire<span class="sy0">/</span>
<span class="sy0">&lt;</span>une_commande<span class="sy0">&gt;</span>
<span class="kw3">cd</span> <span class="re1">$OLDPWD</span></pre></div></div>

<p>Mais cette m&eacute;thode est loin d&#8217;&ecirc;tre optimale. Nous allons plut&ocirc;t utiliser les commandes <strong>pushd</strong> et <strong>popd</strong></p>
<p>pushd permet de changer de repertoire (comme cd), mais en memorisant le repertoire courant. Il est possible d&#8217;empiler les appels &agrave; pushd. popd permet de revenir au repertoir empil&eacute; lors du dernier appel de pushd. D&eacute;monstration&nbsp;:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;color: #ccc; font: 12px Consolas, Lucida Console, Monaco, monospace;"><span class="kw3">cd</span> <span class="sy0">/</span>chemin<span class="sy0">/</span>vers<span class="sy0">/</span>mon<span class="sy0">/</span>premier<span class="sy0">/</span>repertoire
<span class="kw3">pwd</span> <span class="co0"># affiche /chemin/vers/mon/premier/repertoire</span>
&nbsp;
<span class="kw3">pushd</span> <span class="sy0">/</span>chemin<span class="sy0">/</span>vers<span class="sy0">/</span>mon<span class="sy0">/</span>deuxieme<span class="sy0">/</span>repertoire
<span class="kw3">pwd</span> <span class="co0"># affiche /chemin/vers/mon/deuxieme/repertoire</span>
&nbsp;
<span class="kw3">pushd</span> <span class="sy0">/</span>chemin<span class="sy0">/</span>vers<span class="sy0">/</span>mon<span class="sy0">/</span>troisieme<span class="sy0">/</span>repertoire
<span class="kw3">pwd</span> <span class="co0"># affiche /chemin/vers/mon/troisieme/repertoire</span>
&nbsp;
<span class="kw3">popd</span>
<span class="kw3">pwd</span> <span class="co0"># affiche /chemin/vers/mon/deuxieme/repertoire</span>
&nbsp;
<span class="kw3">popd</span>
<span class="kw3">pwd</span> <span class="co0"># affiche /chemin/vers/mon/premier/repertoire</span></pre></div></div>

<p>C&#8217;est quand m&ecirc;me plus pratique, non<span class="fine">&nbsp;</span>?</p>
]]></content:encoded>
			<wfw:commentRss>http://www.miximum.fr/methodes-et-outils/32-memoriser-ses-deplacements-avec-bash/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Quelques astuces bash</title>
		<link>http://www.miximum.fr/inclassable/31-quelques-astuces-bash</link>
		<comments>http://www.miximum.fr/inclassable/31-quelques-astuces-bash#comments</comments>
		<pubDate>Tue, 06 May 2008 08:26:46 +0000</pubDate>
		<dc:creator>thibault</dc:creator>
				<category><![CDATA[astuce]]></category>
		<category><![CDATA[shell]]></category>

		<guid isPermaLink="false">http://www.miximum.fr/inclassable/31-quelques-astuces-bash</guid>
		<description><![CDATA[Voici quelques astuces inestimables pour les amateurs de ligne de commande&#160;: !! # retape la dernière commande vi /etc/passwd # oups, avec les droits root : sudo !! &#160; !* # retape la dernière commande à partir du deuxième mot : bi toto #oups, raté vi !* # c'est mieux comme ça &#160; !n # [...]]]></description>
			<content:encoded><![CDATA[<p>Voici quelques astuces inestimables pour les amateurs de ligne de commande&nbsp;:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;color: #ccc; font: 12px Consolas, Lucida Console, Monaco, monospace;"><span class="sy0">!!</span>
<span class="co0"># retape la dernière commande</span>
<span class="kw2">vi</span> <span class="sy0">/</span>etc<span class="sy0">/</span><span class="kw2">passwd</span>
<span class="co0"># oups, avec les droits root :</span>
<span class="kw2">sudo</span> <span class="sy0">!!</span>
&nbsp;
<span class="sy0">!*</span>
<span class="co0"># retape la dernière commande à partir du deuxième mot :</span>
bi toto <span class="co0">#oups, raté</span>
<span class="kw2">vi</span> <span class="sy0">!*</span> <span class="co0"># c'est mieux comme ça</span>
&nbsp;
<span class="sy0">!</span>n
<span class="co0"># Rappelle la commande n</span>
<span class="co0"># La liste des commandes est accessible via la commande</span>
<span class="kw3">history</span>
&nbsp;
<span class="sy0">!</span>string
<span class="co0"># rappelle la dernière commande qui commence par string</span>
<span class="kw2">cat</span> toto
<span class="kw2">ls</span> tat
<span class="kw2">vi</span> titi
<span class="sy0">!</span><span class="kw2">cat</span> <span class="co0"># execute cat toto</span>
&nbsp;
<span class="sy0">!</span>?string
<span class="co0">#rappelle la dernière commande qui contient string</span>
&nbsp;
^toto^tata
<span class="co0"># Celui ci est énorme : il rappelle la dernière commande en remplaçant toto par tata</span>
&nbsp;
<span class="kw2">cat</span> <span class="sy0">/</span>home<span class="sy0">/</span>machin<span class="sy0">/</span>truc<span class="sy0">/</span>chouette<span class="sy0">/</span>toto.txt
^toto^tata
&nbsp;
<span class="co0">#execute cat /home/machin/truc/chouette/tata.txt</span></pre></div></div>

]]></content:encoded>
			<wfw:commentRss>http://www.miximum.fr/inclassable/31-quelques-astuces-bash/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Ajouter les droits d&#8217;exécution à toute une arborescence</title>
		<link>http://www.miximum.fr/methodes-et-outils/17-ajouter-les-droits-dexecution-a-toute-une-arborescence</link>
		<comments>http://www.miximum.fr/methodes-et-outils/17-ajouter-les-droits-dexecution-a-toute-une-arborescence#comments</comments>
		<pubDate>Tue, 29 Apr 2008 08:25:35 +0000</pubDate>
		<dc:creator>thibault</dc:creator>
				<category><![CDATA[Méthodes et outils]]></category>
		<category><![CDATA[astuce]]></category>
		<category><![CDATA[shell]]></category>

		<guid isPermaLink="false">http://www.miximum.fr/methodes-et-outils/17-ajouter-les-droits-dexecution-a-toute-une-arborescence</guid>
		<description><![CDATA[Il arrive qu&#8217;on veuille ajouter des droits d&#8217;ex&#233;cution pour tous les sous-r&#233;pertoires d&#8217;une arborescence. La commande na&#239;ve&#160;: chmod -R a+x &#60;chemin&#62; pr&#233;sente un probl&#232;me&#160;: elle ajoute &#233;galement les droits d&#8217;ex&#233;cution &#224; tous les fichiers plats. Pour &#233;viter cela, on utilisera plut&#244;t&#160;: chmod -R a+X &#60;chemin&#62; Le X majuscule n&#8217;ajoute le droit d&#8217;ex&#233;cution qu&#8217;aux fichiers qui [...]]]></description>
			<content:encoded><![CDATA[<p>Il arrive qu&#8217;on veuille ajouter des droits d&#8217;ex&eacute;cution pour tous les sous-r&eacute;pertoires d&#8217;une arborescence. La commande na&iuml;ve&nbsp;:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;color: #ccc; font: 12px Consolas, Lucida Console, Monaco, monospace;"><span class="kw2">chmod</span> <span class="re5">-R</span> a+x <span class="sy0">&lt;</span>chemin<span class="sy0">&gt;</span></pre></div></div>

<p>pr&eacute;sente un probl&egrave;me&nbsp;: elle ajoute &eacute;galement les droits d&#8217;ex&eacute;cution &agrave; tous les fichiers plats. Pour &eacute;viter cela, on utilisera plut&ocirc;t&nbsp;:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;color: #ccc; font: 12px Consolas, Lucida Console, Monaco, monospace;"><span class="kw2">chmod</span> <span class="re5">-R</span> a+X <span class="sy0">&lt;</span>chemin<span class="sy0">&gt;</span></pre></div></div>

<p>Le X majuscule n&#8217;ajoute le droit d&#8217;ex&eacute;cution qu&#8217;aux fichiers qui ont d&eacute;j&agrave; ce droit pour un autre utilisateur.</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;color: #ccc; font: 12px Consolas, Lucida Console, Monaco, monospace;"><span class="kw2">ls</span> <span class="re5">-l</span> <span class="kw2">dir</span>
drwxr-x--- ...
<span class="kw2">chmod</span> a+X <span class="kw2">dir</span>
<span class="kw2">ls</span> <span class="re5">-l</span> <span class="kw2">dir</span>
drwxr-x--x
&nbsp;
<span class="kw2">ls</span> <span class="re5">-l</span> fic
drw-r----- ...
<span class="kw2">chmod</span> a+X fic
<span class="kw2">ls</span> <span class="re5">-l</span> fic
drw-r-----</pre></div></div>

]]></content:encoded>
			<wfw:commentRss>http://www.miximum.fr/methodes-et-outils/17-ajouter-les-droits-dexecution-a-toute-une-arborescence/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

