<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2spanishfull.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss 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/" version="2.0">

<channel>
	<title>El CoDiGo K</title>
	
	<link>http://www.elcodigok.com.ar</link>
	<description>Un blog de Ayuda a Programadores</description>
	<lastBuildDate>Fri, 27 Jan 2012 13:27:21 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/ElCodigoK" /><feedburner:info xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" uri="elcodigok" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><feedburner:emailServiceId xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0">ElCodigoK</feedburner:emailServiceId><feedburner:feedburnerHostname xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0">http://feedburner.google.com</feedburner:feedburnerHostname><feedburner:feedFlare xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" href="http://add.my.yahoo.com/content?lg=es&amp;url=http%3A%2F%2Ffeeds.feedburner.com%2FElCodigoK" src="http://eur.i1.yimg.com/eur.yimg.com/i/es/my/addto1.gif">Subscribe with My Yahoo!</feedburner:feedFlare><feedburner:feedFlare xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" href="http://www.feedness.com/alta/http://feeds.feedburner.com/ElCodigoK" src="http://www.feedness.com/ayuda/wp-content/square_b_sh_feed.gif">Subscribe with Feedness</feedburner:feedFlare><feedburner:feedFlare xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" href="http://www.newsgator.com/ngs/subscriber/subext.aspx?url=http%3A%2F%2Ffeeds.feedburner.com%2FElCodigoK" src="http://www.newsgator.com/images/ngsub1.gif">Subscribe with NewsGator</feedburner:feedFlare><feedburner:feedFlare xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" href="http://www.bloglines.com/sub/http://feeds.feedburner.com/ElCodigoK" src="http://www.bloglines.com/images/sub_modern11.gif">Subscribe with Bloglines</feedburner:feedFlare><feedburner:feedFlare xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" href="http://www.netvibes.com/subscribe.php?url=http%3A%2F%2Ffeeds.feedburner.com%2FElCodigoK" src="http://www.netvibes.com/img/add2netvibes.gif">Subscribe with Netvibes</feedburner:feedFlare><feedburner:feedFlare xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" href="http://fusion.google.com/add?feedurl=http%3A%2F%2Ffeeds.feedburner.com%2FElCodigoK" src="http://buttons.googlesyndication.com/fusion/add.gif">Subscribe with Google</feedburner:feedFlare><feedburner:feedFlare xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" href="http://www.pageflakes.com/subscribe.aspx?url=http%3A%2F%2Ffeeds.feedburner.com%2FElCodigoK" src="http://www.pageflakes.com/ImageFile.ashx?instanceId=Static_4&amp;fileName=ATP_blu_91x17.gif">Subscribe with Pageflakes</feedburner:feedFlare><feedburner:feedFlare xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" href="http://www.plusmo.com/add?url=http%3A%2F%2Ffeeds.feedburner.com%2FElCodigoK" src="http://plusmo.com/res/graphics/fbplusmo.gif">Subscribe with Plusmo</feedburner:feedFlare><feedburner:feedFlare xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" href="http://www.thefreedictionary.com/_/hp/AddRSS.aspx?http%3A%2F%2Ffeeds.feedburner.com%2FElCodigoK" src="http://img.tfd.com/hp/addToTheFreeDictionary.gif">Subscribe with The Free Dictionary</feedburner:feedFlare><feedburner:feedFlare xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" href="http://www.bitty.com/manual/?contenttype=rssfeed&amp;contentvalue=http%3A%2F%2Ffeeds.feedburner.com%2FElCodigoK" src="http://www.bitty.com/img/bittychicklet_91x17.gif">Subscribe with Bitty Browser</feedburner:feedFlare><feedburner:feedFlare xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" href="http://www.live.com/?add=http%3A%2F%2Ffeeds.feedburner.com%2FElCodigoK" src="http://tkfiles.storage.msn.com/x1piYkpqHC_35nIp1gLE68-wvzLZO8iXl_JMledmJQXP-XTBOLfmQv4zhj4MhcWEJh_GtoBIiAl1Mjh-ndp9k47If7hTaFno0mxW9_i3p_5qQw">Subscribe with Live.com</feedburner:feedFlare><feedburner:feedFlare xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" href="http://mix.excite.eu/add?feedurl=http%3A%2F%2Ffeeds.feedburner.com%2FElCodigoK" src="http://image.excite.co.uk/mix/addtomix.gif">Subscribe with Excite MIX</feedburner:feedFlare><feedburner:feedFlare xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" href="http://www.webwag.com/wwgthis.php?url=http%3A%2F%2Ffeeds.feedburner.com%2FElCodigoK" src="http://www.webwag.com/images/wwgthis.gif">Subscribe with Webwag</feedburner:feedFlare><feedburner:feedFlare xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" href="http://www.podcastready.com/oneclick_bookmark.php?url=http%3A%2F%2Ffeeds.feedburner.com%2FElCodigoK" src="http://www.podcastready.com/images/podcastready_button.gif">Subscribe with Podcast Ready</feedburner:feedFlare><feedburner:feedFlare xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" href="http://www.wikio.com/subscribe?url=http%3A%2F%2Ffeeds.feedburner.com%2FElCodigoK" src="http://www.wikio.com/shared/img/add2wikio.gif">Subscribe with Wikio</feedburner:feedFlare><feedburner:feedFlare xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" href="http://www.dailyrotation.com/index.php?feed=http%3A%2F%2Ffeeds.feedburner.com%2FElCodigoK" src="http://www.dailyrotation.com/rss-dr2.gif">Subscribe with Daily Rotation</feedburner:feedFlare><item>
		<title>Clases de Periodismo en la web</title>
		<link>http://www.elcodigok.com.ar/2012/01/clases-de-periodismo-en-la-web/</link>
		<comments>http://www.elcodigok.com.ar/2012/01/clases-de-periodismo-en-la-web/#comments</comments>
		<pubDate>Fri, 27 Jan 2012 13:19:06 +0000</pubDate>
		<dc:creator>Daniel M. Maldonado</dc:creator>
				<category><![CDATA[Enlaces]]></category>
		<category><![CDATA[Internet]]></category>
		<category><![CDATA[Periodistas]]></category>
		<category><![CDATA[Proyecto]]></category>

		<guid isPermaLink="false">http://www.elcodigok.com.ar/?p=2661</guid>
		<description><![CDATA[Hoy les quiero dejar un enlace que me compartió mi hermano el reciente Lic. en Comunicación Social respecto al periodismo de la nueva era, las herramientas en la web integrada a los medios de comunicación masiva. El sitio se llama CLASESDEPERIODISMO.com y realmente me llamó la atención el excelente trabajo que están llevando a cabo los integrandes del sitio, dejando ...]]></description>
			<content:encoded><![CDATA[<p>Hoy les quiero dejar un enlace que me compartió mi hermano el reciente Lic. en Comunicación Social respecto al periodismo de la nueva era, las herramientas en la web integrada a los medios de comunicación masiva.</p>
<p>El sitio se llama <a href="http://www.clasesdeperiodismo.com/" target="_blank">CLASESDEPERIODISMO.com</a> y realmente me llamó la atención el excelente trabajo que están llevando a cabo los integrandes del sitio, dejando a disposición una decena de libros digitales, muchos de su autoría bajo licencias libre, con el fin de seguir formando, educando y comunicando las nuevas herramientas para sobrevivir en esta era digital.</p>
<p>Si sos periodista, comunicador, social media, SEO o simplemente aficionado a la tecnología es importante que te tomes unos minutos para chequear los contenidos del sitio y participar activamente del mismo.</p>
<p>En lo personal les recomiendo que visiten su <a href="http://www.clasesdeperiodismo.com/biblioteca-digital/">Biblioteca Digital</a> que allí van a encontrar una colección de más de 50 libros para todos los gustos, muchos de actualidad y algunos clásicos como “<strong>Periodismo 2.0</strong>”, “<strong>Web 2.0</strong>”, “<strong>Geeknomía</strong>”, etc.</p>
<p>Enlace | <a href="http://www.clasesdeperiodismo.com/" target="_blank">clasesdeperiodismo.com</a></p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/ElCodigoK?a=WOeEbySKjKo:w8BThkHI2QA:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/ElCodigoK?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/ElCodigoK?a=WOeEbySKjKo:w8BThkHI2QA:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/ElCodigoK?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/ElCodigoK?a=WOeEbySKjKo:w8BThkHI2QA:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/ElCodigoK?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/ElCodigoK?a=WOeEbySKjKo:w8BThkHI2QA:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/ElCodigoK?i=WOeEbySKjKo:w8BThkHI2QA:D7DqB2pKExk" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/ElCodigoK/~4/WOeEbySKjKo" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.elcodigok.com.ar/2012/01/clases-de-periodismo-en-la-web/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Anatomía del archivo /etc/shadow</title>
		<link>http://www.elcodigok.com.ar/2012/01/anatomia-del-archivo-etcshadow/</link>
		<comments>http://www.elcodigok.com.ar/2012/01/anatomia-del-archivo-etcshadow/#comments</comments>
		<pubDate>Mon, 23 Jan 2012 16:45:44 +0000</pubDate>
		<dc:creator>Daniel M. Maldonado</dc:creator>
				<category><![CDATA[GNU/Linux]]></category>
		<category><![CDATA[Administrador de Sistemas]]></category>
		<category><![CDATA[consola]]></category>
		<category><![CDATA[Destacado]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[principiante]]></category>
		<category><![CDATA[seguridad]]></category>

		<guid isPermaLink="false">http://www.elcodigok.com.ar/?p=2659</guid>
		<description><![CDATA[Hoy vamos a ver otro de los archivos más codiciados por los atacantes informáticos y el más protegido por los SysAdmin, ese archivo es el /etc/shadow y sencillamente contiene información sobre las contraseñas de los usuarios del sistema. Siempre recomiendo entender y comprender nuestro sistema, es la única forma de comenzar a vivir de cerca una perspectiva de seguridad y ...]]></description>
			<content:encoded><![CDATA[<p>Hoy vamos a ver otro de los archivos más codiciados por los atacantes informáticos y el más protegido por los SysAdmin, ese archivo es el <strong>/etc/shadow</strong> y sencillamente contiene información sobre las contraseñas de los usuarios del sistema.</p>
<p>Siempre recomiendo entender y comprender nuestro sistema, es la única forma de comenzar a vivir de cerca una perspectiva de seguridad y los métodos para mitigar los posibles problemas que surgen a diario, por eso <strong>GNU/Linux</strong> es el sistema operativo que a través de su documentación y su comunidad me facilita esa información para aprender.</p>
<p>Volviendo al archivo comencemos a ver su anatomía general y el primer paso es saber sobre sus permisos, dueño y grupo al cuál pertenece</p>
<div class="codecolorer-container bash mac-classic" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br /></div></td><td><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">$ <span style="color: #c20cb9; font-weight: bold;">ls</span> <span style="color: #660033;">-la</span> <span style="color: #000000; font-weight: bold;">/</span>etc<span style="color: #000000; font-weight: bold;">/</span>shadow<br />
-rw-r-----. <span style="color: #000000;">1</span> root shadow <span style="color: #000000;">1572</span> <span style="color: #000000;">2011</span>-<span style="color: #000000;">11</span>-<span style="color: #000000;">23</span> <span style="color: #000000;">10</span>:<span style="color: #000000;">22</span> <span style="color: #000000; font-weight: bold;">/</span>etc<span style="color: #000000; font-weight: bold;">/</span>shadow</div></td></tr></tbody></table></div>
<p>El dueño del archivo es <strong>root</strong> y pertenece al grupo llamado &#8220;<strong>shadow</strong>&#8221; y viendo en profundidad los permisos donde el usuario root puede leer y escribir el archivo y solo puede leer el archivo los usuarios que pertenecen al grupo &#8220;shadow&#8221;. Cualquier otro usuario que quiera hacer algo no va a contar con los privilegios necesarios para hacerlo</p>
<p>Por ejemplo, con mi usuario &#8220;dmaldonado&#8221; que no pertenece al grupo &#8220;shadow&#8221; intento hacer un volcado del contenido del archivo con cat de la siguiente forma:</p>
<div class="codecolorer-container bash mac-classic" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br /></div></td><td><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">$ <span style="color: #c20cb9; font-weight: bold;">cat</span> <span style="color: #000000; font-weight: bold;">/</span>etc<span style="color: #000000; font-weight: bold;">/</span>shadow<br />
cat: <span style="color: #000000; font-weight: bold;">/</span>etc<span style="color: #000000; font-weight: bold;">/</span>shadow: Permiso denegado</div></td></tr></tbody></table></div>
<p>y como pueden apreciar su respuesta es Permiso denegado.</p>
<p>A todo esto queda entender un punto de muchos, Si yo como usuario sin privilegios no tengo la posibilidad de leer y escribir el archivo, ¿Como es que puedo cambiar mi contraseña? De ese tema nos vamos a encargar más adelante, pero es bueno comenzar a indagar sobre estas cuestiones y curiosidades.</p>
<p>Ahora veamos de adentro el archivo /etc/shadow que al igual que el archivo /etc/passwd los campos se encuentran separados por &#8220;:&#8221;</p>
<p>El primer campo indica <strong>NOMBRE DE USUARIO</strong>: es el nombre que identifica al usuario dentro del sistema, debe contener entre 1 y 32 caracteres, compartido entre ambos archivos.</p>
<p>El siguiente campo es la <strong>CONTRASEÑA</strong>: en esta oportunidad se encuentra encriptada, osea con una secuencia entre 13 y 24 caracteres (a-z, A-Z, 0-9, \ /) dependiendo del algoritmo de encriptación, aquí abrimos un paréntesis para explicar los diferentes algoritmos que pueden encontrar.</p>
<p>Si la cadena comienza con $1$ utiliza el método MD5 para encriptar la contraseña de 22 caracteres.<br />
Si la cadena comienza con $2a$ utiliza el algoritmo Blowfish.<br />
Ahora bien si esta cadena comienza con $5$ utiliza el algoritmo SHA-256 de 43 caracteres.<br />
Y por último si esta cadena comienza con $6$ se encuentra utilizando SHA-512 de 86 caracteres.</p>
<p>Siguiendo con los campos del archivo encontramos <strong>ÚLTIMO CAMBIO</strong>: este valor identifica la cantidad de días que pasó desde la última vez que la contraseña fue modificada, contado desde el 1 de Enero de 1970.</p>
<p>El siguiente campo se lo conoce como <strong>MÍNIMO</strong> y especifican los días que deben pasar como mínimo para que el usuario pueda cambiar la contraseña.</p>
<p>En contraposición encontramos el campo <strong>MÁXIMO</strong> que especifica los días que la contraseña es válida.</p>
<p>El siguiente campo en el archivo se lo conoce como <strong>AVISO</strong> y su valor indica los días en las que el usuario será avisado o notificado que debe cambiar su contraseña antes que ésta caduque.</p>
<p>Por otro lado encontramos el campo <strong>EXPIRACIÓN</strong> que indica los días en que se desactiva la cuenta tras expirar la clave.</p>
<p>El penúltimo campo se lo conoce como <strong>CADUCIDAD</strong> y su valor indica los días a los que se deshabilita la cuenta contando desde el 1 de Enero de 1970</p>
<p>Y por último el siguiente campo se encuentra reservado para realizar otras pruebas, pero que hasta el día de hoy no se lo utiliza.</p>
<p>Bueno de esta forma pudimos ver de cerca la anatomía simple que tiene el archivo /etc/shadow y lo importante que es conocerlo a la hora de modificar algún valor, expirar cuentas, o simplemente seguir una política de contraseña seguras.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/ElCodigoK?a=Dmsz22JE6UU:vP68ttHWzME:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/ElCodigoK?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/ElCodigoK?a=Dmsz22JE6UU:vP68ttHWzME:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/ElCodigoK?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/ElCodigoK?a=Dmsz22JE6UU:vP68ttHWzME:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/ElCodigoK?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/ElCodigoK?a=Dmsz22JE6UU:vP68ttHWzME:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/ElCodigoK?i=Dmsz22JE6UU:vP68ttHWzME:D7DqB2pKExk" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/ElCodigoK/~4/Dmsz22JE6UU" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.elcodigok.com.ar/2012/01/anatomia-del-archivo-etcshadow/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Como descomprimir un archivo CSS [mejorado]</title>
		<link>http://www.elcodigok.com.ar/2012/01/como-descomprimir-un-archivo-css-mejorado/</link>
		<comments>http://www.elcodigok.com.ar/2012/01/como-descomprimir-un-archivo-css-mejorado/#comments</comments>
		<pubDate>Thu, 19 Jan 2012 00:00:24 +0000</pubDate>
		<dc:creator>Daniel M. Maldonado</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[consola]]></category>
		<category><![CDATA[sed]]></category>
		<category><![CDATA[terminal]]></category>
		<category><![CDATA[Web]]></category>

		<guid isPermaLink="false">http://www.elcodigok.com.ar/?p=2658</guid>
		<description><![CDATA[Hace unos días publiqué una forma muy simple de reorganizar y descomprimir los archivos css que muchas webs en tiempo de ejecución comprimen, con el objetivo de agilizar la descarga de las plantillas para cada usuario, y todo esto lo hicimos uniendo algunos comandos básicos de GNU/Linux. Buscando algunas formas de optimizar ese script y mejorarlo, pude agregar entre otras ...]]></description>
			<content:encoded><![CDATA[<p>Hace unos días publiqué una forma muy simple de reorganizar y <a href="http://www.elcodigok.com.ar/2012/01/como-descomprimir-archivos-css/" target="_blank"><strong>descomprimir los archivos css</strong></a> que muchas webs en tiempo de ejecución comprimen, con el objetivo de agilizar la descarga de las plantillas para cada usuario, y todo esto lo hicimos uniendo algunos comandos básicos de GNU/Linux.</p>
<p>Buscando algunas formas de optimizar ese script y mejorarlo, pude agregar entre otras cosas la identación para que sea mucho más intuitivo su lectura.</p>
<p>En aquel ejemplo estábamos usando el archivo <strong>9a6f1138.444a95.css</strong> descargado previamente, ahora los invito a ejecutar lo siguiente:</p>
<div class="codecolorer-container bash mac-classic" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br /></div></td><td><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #666666;">$ </span><span style="color: #c20cb9; font-weight: bold;">cat</span> 9a6f1138.444a95.css <span style="color: #000000; font-weight: bold;">|</span> <span style="color: #c20cb9; font-weight: bold;">sed</span> <span style="color: #660033;">-e</span> <span style="color: #ff0000;">'s/}/\n}\n\n/g'</span> <span style="color: #000000; font-weight: bold;">|</span> <span style="color: #c20cb9; font-weight: bold;">sed</span> <span style="color: #660033;">-e</span> <span style="color: #ff0000;">'s/{/{\n\t/g'</span> <span style="color: #000000; font-weight: bold;">|</span> <span style="color: #c20cb9; font-weight: bold;">sed</span> <span style="color: #660033;">-e</span> <span style="color: #ff0000;">'s/;/;\n\t/g'</span> <span style="color: #000000; font-weight: bold;">|</span> <span style="color: #c20cb9; font-weight: bold;">less</span></div></td></tr></tbody></table></div>
<p>o nuevamente envés de paginarlo en la salida estandar lo redireccionamos a un nuevo archivo.</p>
<div class="codecolorer-container bash mac-classic" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br /></div></td><td><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #666666;">$ </span><span style="color: #c20cb9; font-weight: bold;">cat</span> 9a6f1138.444a95.css <span style="color: #000000; font-weight: bold;">|</span> <span style="color: #c20cb9; font-weight: bold;">sed</span> <span style="color: #660033;">-e</span> <span style="color: #ff0000;">'s/}/\n}\n\n/g'</span> <span style="color: #000000; font-weight: bold;">|</span> <span style="color: #c20cb9; font-weight: bold;">sed</span> <span style="color: #660033;">-e</span> <span style="color: #ff0000;">'s/{/{\n\t/g'</span> <span style="color: #000000; font-weight: bold;">|</span> <span style="color: #c20cb9; font-weight: bold;">sed</span> <span style="color: #660033;">-e</span> <span style="color: #ff0000;">'s/;/;\n\t/g'</span> <span style="color: #000000; font-weight: bold;">&amp;</span>gt; estilo_nuevo.css</div></td></tr></tbody></table></div>
<p>Ahora si!!!, leer este nuevo archivo CSS es mucho más simple, es mucho más claro.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/ElCodigoK?a=-gstWA0ye0c:FLkjUNzzqyY:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/ElCodigoK?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/ElCodigoK?a=-gstWA0ye0c:FLkjUNzzqyY:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/ElCodigoK?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/ElCodigoK?a=-gstWA0ye0c:FLkjUNzzqyY:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/ElCodigoK?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/ElCodigoK?a=-gstWA0ye0c:FLkjUNzzqyY:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/ElCodigoK?i=-gstWA0ye0c:FLkjUNzzqyY:D7DqB2pKExk" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/ElCodigoK/~4/-gstWA0ye0c" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.elcodigok.com.ar/2012/01/como-descomprimir-un-archivo-css-mejorado/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Lab Shell Script #3: Como generar un reporte en AWK</title>
		<link>http://www.elcodigok.com.ar/2012/01/lab-shell-script-3-como-generar-un-reporte-en-awk/</link>
		<comments>http://www.elcodigok.com.ar/2012/01/lab-shell-script-3-como-generar-un-reporte-en-awk/#comments</comments>
		<pubDate>Tue, 17 Jan 2012 14:35:00 +0000</pubDate>
		<dc:creator>Daniel M. Maldonado</dc:creator>
				<category><![CDATA[Lab Shell Script]]></category>
		<category><![CDATA[Administrador de Sistemas]]></category>
		<category><![CDATA[AWK]]></category>
		<category><![CDATA[consola]]></category>
		<category><![CDATA[Destacado]]></category>
		<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false">http://www.elcodigok.com.ar/?p=2656</guid>
		<description><![CDATA[Vamos a seguir trabajando un poco más con programación en la consola de GNU, ahora bien, para armar algunos informes o reportes y crear plantillas en AWK, la verdad que es realmente muy fácil, rápido y sobre todo muy útil. Como en estos últimos artículos, me gustaría seguir utilizando como ejemplo el archivo /etc/passwd realmente es muy útil para ir ...]]></description>
			<content:encoded><![CDATA[<p>Vamos a seguir trabajando un poco más con programación en la consola de GNU, ahora bien, para armar algunos informes o reportes y crear plantillas en <strong>AWK</strong>, la verdad que es realmente muy fácil, rápido y sobre todo muy útil.</p>
<p>Como en estos últimos artículos, me gustaría seguir utilizando como ejemplo el archivo <strong>/etc/passwd</strong> realmente es muy útil para ir aprendiendo todo sobre estos formatos de archivos, separa los campos, agregar sentencias, condiciones, etc.</p>
<p>Lo primero para comenzar a trabajar es crear un archivo llamados por ejemplo &#8220;<strong>informe_usuarios.awk</strong>&#8221; con nuestro editor favorito y comenzar a editarlo. Les recuerdo que no es obligatorio la extensión .awk, es simplemente a modo de recordar con que lenguaje está programado, nada más.</p>
<p>Los invito a agregar estas dos líneas de código:</p>
<div class="codecolorer-container awk mac-classic" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br /></div></td><td><div class="awk codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color:#808080;">#!/usr/bin/awk -f</span><br />
<span style="color: #C20CB9; font-weight: bold;">BEGIN</span> <span style="color: #7a0874; font-weight: bold;">&#123;</span> <span style="color: #4107D5; font-weight: bold;">FS</span> = <span style="color: #ff0000;">&quot;:&quot;</span> <span style="color: #7a0874; font-weight: bold;">&#125;</span></div></td></tr></tbody></table></div>
<p>En la primera línea estamos asociando este script al intérprete de awk, muy similar a lo que hacemos con <strong>bash</strong>, <strong>python</strong> o <strong>ruby</strong>. En la segunda línea de nuestro script, le estamos indicando la separación de los campos, por defecto utiliza las tabulaciones o espacios, para el archivo /etc/passwd utilizamos los &#8220;:&#8221;</p>
<p>Ahora me gustaría ver un poco el diseño de una aplicación en Awk con los patrones <strong>BEGIN</strong> y <strong>END</strong> que se organizan de la siguiente manera</p>
<div class="codecolorer-container awk mac-classic" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br /></div></td><td><div class="awk codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #C20CB9; font-weight: bold;">BEGIN</span> <span style="color: #7a0874; font-weight: bold;">&#123;</span> acciones previas al procesamiento de la entrada <span style="color: #7a0874; font-weight: bold;">&#125;</span><br />
patrón <span style="color: #7a0874; font-weight: bold;">&#123;</span> acciones durante el procesamiento de la entrar <span style="color: #7a0874; font-weight: bold;">&#125;</span><br />
<span style="color: #C20CB9; font-weight: bold;">END</span> <span style="color: #7a0874; font-weight: bold;">&#123;</span> acciones posteriores al procesamiento de la entrada <span style="color: #7a0874; font-weight: bold;">&#125;</span></div></td></tr></tbody></table></div>
<p>Sabiendo esto, le vamos a agregar a nuestro generador de informes las siguientes línea de código</p>
<div class="codecolorer-container awk mac-classic" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br />4<br />5<br />6<br /></div></td><td><div class="awk codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #C20CB9; font-weight: bold;">BEGIN</span> <span style="color: #7a0874; font-weight: bold;">&#123;</span> <span style="color: #0BD507; font-weight: bold;">printf</span> <span style="color: #ff0000;">&quot;%-11s%-15s%-15s<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span>,<span style="color: #ff0000;">&quot;ID&quot;</span>,<span style="color: #ff0000;">&quot;Usuario&quot;</span>,<span style="color: #ff0000;">&quot;Nombre&quot;</span> <span style="color: #7a0874; font-weight: bold;">&#125;</span><br />
<span style="color:#000088;">$3</span> <span style="color:black;">&gt;=</span> <span style="color: #000000;">1000</span> <span style="color: #7a0874; font-weight: bold;">&#123;</span> <span style="color: #0BD507; font-weight: bold;">printf</span> <span style="color: #ff0000;">&quot;%-11s%-15s%-15s<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span>,<span style="color:#000088;">$3</span>,<span style="color:#000088;">$1</span>,<span style="color:#000088;">$5</span> ; USUARIOS <span style="color:black;">+</span>= <span style="color: #000000;">1</span><span style="color: #7a0874; font-weight: bold;">&#125;</span><br />
<span style="color:#000088;">$3</span> <span style="color:black;">&lt;</span> <span style="color: #000000;">1000</span> <span style="color: #7a0874; font-weight: bold;">&#123;</span> SISTEMA <span style="color:black;">+</span>= <span style="color: #000000;">1</span><span style="color: #7a0874; font-weight: bold;">&#125;</span><br />
<span style="color: #C20CB9; font-weight: bold;">END</span> <span style="color: #7a0874; font-weight: bold;">&#123;</span> <span style="color: #0BD507; font-weight: bold;">print</span> <span style="color: #ff0000;">&quot;--------------------------&quot;</span> <span style="color: #7a0874; font-weight: bold;">&#125;</span><br />
<span style="color: #C20CB9; font-weight: bold;">END</span> <span style="color: #7a0874; font-weight: bold;">&#123;</span> <span style="color: #0BD507; font-weight: bold;">print</span> USUARIOS <span style="color: #ff0000;">&quot; Usuarios registrados&quot;</span> <span style="color: #7a0874; font-weight: bold;">&#125;</span><br />
<span style="color: #C20CB9; font-weight: bold;">END</span> <span style="color: #7a0874; font-weight: bold;">&#123;</span> <span style="color: #0BD507; font-weight: bold;">print</span> SISTEMA <span style="color: #ff0000;">&quot; Usuarios de Sistema&quot;</span> <span style="color: #7a0874; font-weight: bold;">&#125;</span></div></td></tr></tbody></table></div>
<p>Gracias a printf vamos a darle un formato de tabulaciones a las columnas <strong>ID</strong>, <strong>Usuario</strong> y <strong>Nombre</strong>, por otro lado se puede apreciar que vamos a contar por un lado los usuarios que registramos y por el otro los usuarios que crea el sistema ya sea al momento de la instalación como así también con los servicios que instalamos.</p>
<p>Al final de todo solo queda imprimir los dos valores calculados para tener una noción de la cantidad de usuarios, lo importante de todo esto es aprender la interactividad que utiliza AWK y la forma en la cuál podemos realizar operaciones, impresiones, cálculos, etc.</p>
<p>Dejemos hasta aquí este informe de usuarios, guardamos y cerramos el archivo, le asignamos permiso de ejecución para el dueño de la siguiente manera</p>
<div class="codecolorer-container bash mac-classic" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br /></div></td><td><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #666666;">$ </span><span style="color: #c20cb9; font-weight: bold;">chmod</span> u+x informe_usuarios.awk</div></td></tr></tbody></table></div>
<p>y solo quedará ejecutarlo y ver nuestra información de la siguiente manera</p>
<div class="codecolorer-container bash mac-classic" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br /></div></td><td><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #666666;">$ </span>.<span style="color: #000000; font-weight: bold;">/</span>informe_usuarios.awk <span style="color: #000000; font-weight: bold;">/</span>etc<span style="color: #000000; font-weight: bold;">/</span><span style="color: #c20cb9; font-weight: bold;">passwd</span></div></td></tr></tbody></table></div>
<p>Es interesante ver que necesitamos enviarle como parámetro un archivo con el formato original del passwd</p>
<p>Estoy seguro que ustedes tiene más de una modificación para implementar al script, y me gustaría que lo vallamos viendo y probando para ir mejorandolo.</p>
<p>Enlace | <a href="http://pastebin.com/FKhvyMqd" target="_blank">Código Fuente de informe_usuarios.awk</a></p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/ElCodigoK?a=59RLiNz2mG4:YRx0wwOQjkU:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/ElCodigoK?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/ElCodigoK?a=59RLiNz2mG4:YRx0wwOQjkU:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/ElCodigoK?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/ElCodigoK?a=59RLiNz2mG4:YRx0wwOQjkU:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/ElCodigoK?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/ElCodigoK?a=59RLiNz2mG4:YRx0wwOQjkU:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/ElCodigoK?i=59RLiNz2mG4:YRx0wwOQjkU:D7DqB2pKExk" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/ElCodigoK/~4/59RLiNz2mG4" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.elcodigok.com.ar/2012/01/lab-shell-script-3-como-generar-un-reporte-en-awk/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>FreeBSD 9.0 Publicado</title>
		<link>http://www.elcodigok.com.ar/2012/01/freebsd-9-0-publicado/</link>
		<comments>http://www.elcodigok.com.ar/2012/01/freebsd-9-0-publicado/#comments</comments>
		<pubDate>Thu, 12 Jan 2012 23:53:03 +0000</pubDate>
		<dc:creator>Daniel M. Maldonado</dc:creator>
				<category><![CDATA[Sistemas BSD]]></category>
		<category><![CDATA[actualización]]></category>
		<category><![CDATA[Administrador de Sistemas]]></category>
		<category><![CDATA[BSD]]></category>
		<category><![CDATA[FreeBSD]]></category>
		<category><![CDATA[seguridad]]></category>
		<category><![CDATA[server]]></category>

		<guid isPermaLink="false">http://www.elcodigok.com.ar/?p=2653</guid>
		<description><![CDATA[El equipo de desarrolladores acaba de liberar de forma oficial FreeBSD 9.0-RELEASE, aunque muchos dicen que ya se encontraba hace tiempo en los repositorios FTP públicos. Lo cierto es que junto a esta nueva versión un listado de nuevas características y mejoras como: Ahora cuenta con un nuevo instalador, bsdinstall ZFS actualizado con la versión 28 Controladores actualizados ATA/SATA con ...]]></description>
			<content:encoded><![CDATA[<p>El equipo de desarrolladores acaba de liberar de forma oficial <strong>FreeBSD 9.0-RELEASE</strong>, aunque muchos dicen que ya se encontraba hace tiempo en los repositorios FTP públicos.</p>
<p>Lo cierto es que junto a esta nueva versión un listado de nuevas características y mejoras como:</p>
<ul>
<li>Ahora cuenta con un nuevo instalador, bsdinstall</li>
<li>ZFS actualizado con la versión 28</li>
<li>Controladores actualizados ATA/SATA con soporte AHCI</li>
<li>Almacenamiento de alta disponibilidad</li>
<li>Alto rendimiento en SSH</li>
<li>KDE 4.7.3 o Gnome 2.32.1</li>
</ul>
<p>De hecho es posible obtener un listado detallada de todas estas nuevas características en:</p>
<p><a href="http://www.freebsd.org/releases/9.0R/relnotes.html">http://www.freebsd.org/releases/9.0R/relnotes.html</a></p>
<p>Ahora todos los que utilizan <strong>FreeBSD</strong> tiene un nuevo motivo para seguir apostando a este sistema operativo y para los que no lo utilizaron hasta ahora llegó el momento de probarlo, realmente se van a sorprender.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/ElCodigoK?a=V4JhOKL5wK8:KQrrzYKF4u4:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/ElCodigoK?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/ElCodigoK?a=V4JhOKL5wK8:KQrrzYKF4u4:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/ElCodigoK?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/ElCodigoK?a=V4JhOKL5wK8:KQrrzYKF4u4:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/ElCodigoK?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/ElCodigoK?a=V4JhOKL5wK8:KQrrzYKF4u4:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/ElCodigoK?i=V4JhOKL5wK8:KQrrzYKF4u4:D7DqB2pKExk" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/ElCodigoK/~4/V4JhOKL5wK8" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.elcodigok.com.ar/2012/01/freebsd-9-0-publicado/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>3 clientes de FTP que no pueden faltar</title>
		<link>http://www.elcodigok.com.ar/2012/01/3-clientes-de-ftp-que-no-pueden-faltar/</link>
		<comments>http://www.elcodigok.com.ar/2012/01/3-clientes-de-ftp-que-no-pueden-faltar/#comments</comments>
		<pubDate>Thu, 12 Jan 2012 13:02:38 +0000</pubDate>
		<dc:creator>Daniel M. Maldonado</dc:creator>
				<category><![CDATA[Herramientas]]></category>
		<category><![CDATA[Administrador de Sistemas]]></category>
		<category><![CDATA[consola]]></category>
		<category><![CDATA[Destacado]]></category>
		<category><![CDATA[FTP]]></category>
		<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false">http://www.elcodigok.com.ar/?p=2650</guid>
		<description><![CDATA[Por estos días me encontré actualizando mis sistemas, reinstalando de forma más prolija mi distribución GNU y junto a él comencé a buscar las herramientas que utilizo a diario y que son casi indispensables para mi trabajo como SysAdmin y como programador. Los accesos al servicio de FTP muchas veces son indispensable para algunos servicios y nos dan la facilidad ...]]></description>
			<content:encoded><![CDATA[<p>Por estos días me encontré actualizando mis sistemas, reinstalando de forma más prolija mi distribución <strong>GNU</strong> y junto a él comencé a buscar las herramientas que utilizo a diario y que son casi indispensables para mi trabajo como SysAdmin y como programador.</p>
<p>Los accesos al servicio de <strong>FTP</strong> muchas veces son indispensable para algunos servicios y nos dan la facilidad de conectarnos a directorios remotos para subir y descargar archivos, actualizar web, etc.</p>
<p>Es por eso que le dejo mis <strong>3 clientes de FTP preferidos</strong>:</p>
<h2><span>1</span> FileZilla</h2>
<p>FileZilla es un cliente FTP multiplataforma de código abierto y software libre, licenciado bajo la Licencia Pública General de GNU. Soporta los protocolos FTP, SFTP y FTP sobre SSL/TLS (FTPS).</p>
<p>Este es al que yo llamo una herramienta a todo terreno, independientemente de donde estemos, o sistema que usemos, voy a poder utilizar FileZilla siempre, además el poder intuitivo de su ventana y conexiones es asombroso para personas que recién se inician como para los más experimentados.</p>
<h2><span>2</span> Midnight Commander</h2>
<p>Midnight Commander o más conocido como mc en la consola de linux, es un programa que sirve para todo, tanto como para administrar archivos y directorios, editarlos y entre otras cosas más conectarnos a un servidor FTP.</p>
<p>La interfaz en modo texto que proporciona mc es realmente simple y rápida, realmente si están acostumbrado a utilizar la consola de comando o sencillamente no cuentan con un entorno gráfico de escritorio como KDE o Gnome, entonces utilicen mc, vean su documentación o mejor les dejo un enlace que escribí hace tiempo de <a href="http://www.elcodigok.com.ar/2009/10/conexion-ftp-desde-midnight-commander/" target="_blank">como conectarse con mc y una cuenta de FTP</a>.</p>
<h2><span>3</span> ftp&gt;</h2>
<p>Esta es la forma más primitiva de conexión con un servidor FTP y es utilizando el cliente que tenemos por defecto en GNU/Linux, a pesar que con el tiempo fue perdiendo popularidad entre sus usuarios, utilizarlo requiere de muchos conocimientos internos y entender las conexiones, sus comandos, modos, etc.</p>
<p>Seguramente hay mucho más clientes de FTP, recuerdo que en algún momento probé algunos más que varían muy poco en relación a los presentados. Desde ya los invito a compartir sus clientes de FTP preferidos para recomendarnos.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/ElCodigoK?a=BFAd82RZb78:GQQrAe5MMfU:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/ElCodigoK?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/ElCodigoK?a=BFAd82RZb78:GQQrAe5MMfU:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/ElCodigoK?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/ElCodigoK?a=BFAd82RZb78:GQQrAe5MMfU:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/ElCodigoK?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/ElCodigoK?a=BFAd82RZb78:GQQrAe5MMfU:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/ElCodigoK?i=BFAd82RZb78:GQQrAe5MMfU:D7DqB2pKExk" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/ElCodigoK/~4/BFAd82RZb78" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.elcodigok.com.ar/2012/01/3-clientes-de-ftp-que-no-pueden-faltar/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Como descomprimir archivos CSS</title>
		<link>http://www.elcodigok.com.ar/2012/01/como-descomprimir-archivos-css/</link>
		<comments>http://www.elcodigok.com.ar/2012/01/como-descomprimir-archivos-css/#comments</comments>
		<pubDate>Wed, 11 Jan 2012 13:07:55 +0000</pubDate>
		<dc:creator>Daniel M. Maldonado</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[consola]]></category>
		<category><![CDATA[Destacado]]></category>
		<category><![CDATA[sed]]></category>
		<category><![CDATA[terminal]]></category>
		<category><![CDATA[Web]]></category>

		<guid isPermaLink="false">http://www.elcodigok.com.ar/?p=2648</guid>
		<description><![CDATA[Desde hace mucho tiempo me gusta mucho trabajar con la web, es más muchos de mis primeros empleos fueron relacionado a este magnífico mundo del diseño y la programación web. Junto a la salida de CSS3 realmente hay muchos efectos que incorporan que son realmente fascinantes y que de alguna manera a todos en cierto punto nos gustaría saber como ...]]></description>
			<content:encoded><![CDATA[<p>Desde hace mucho tiempo me gusta mucho trabajar con la web, es más muchos de mis primeros empleos fueron relacionado a este magnífico mundo del diseño y la programación web.</p>
<p>Junto a la salida de <strong>CSS3</strong> realmente hay muchos efectos que incorporan que son realmente fascinantes y que de alguna manera a todos en cierto punto nos gustaría saber como está realizado, ya sea para reproducirlo, copiarlo o simplemente hacer nuestras modificaciones. Por lo menos ese es mi punto de vista, mirar buenos trabajo y tratar de ver, aprender y conocer como está realizado.</p>
<p>Eso es por un punto, pero últimamente al estar leyendo algunas CSS, varios sitios web comenzaron a <strong>comprimir</strong> sus plantillas en tiempo de ejecución, obviamente para aplicar una optimización razonable en la carga del sitio, requisito fundamental para los SEO de hoy.</p>
<p>Los invito a ver el siguiente ejemplo para ir entendiendo un poco más.</p>
<p><a href="http://www.ellibertario.com" target="_blank"><strong>www.ellibertario.com</strong></a> es un diario muy popular en mi provincia y nos va a servir muy bien, si intentamos ver el código fuente del sitio dentro del navegador se van a encontrar que esta comprimido en tiempo de ejecución, con lo cuál la subida y bajada de archivos es mucho más veloz, es una cuestión de lógica que no vamos a entrar, pero busquemos un archivo <strong>.css</strong></p>
<p><img class="aligncenter" title="El Libertario" src="http://farm8.staticflickr.com/7025/6678536397_564f62efec.jpg" alt="" width="500" height="244" /></p>
<p>Si ingresamos para visualizar el archivo <strong>9a6f1138.444a95.css</strong> que es el que encontramos van a notar que también se encuentra comprimido, reduciendo los espacios de identación y haciendo su lectura muy engorrosa y confusa.</p>
<p><img class="aligncenter" title="El Libertario" src="http://farm8.staticflickr.com/7171/6678536405_2c182b8157.jpg" alt="" width="500" height="204" /></p>
<p>Perfecto, veamos como con una simple herramienta llamada sed podemos “descomprimir” aunque no sea el término correcto sino lograr una mejor visualización del archivo en nuestra estación de trabajo.</p>
<p>Para comenzar lo primero que les recomiendo es que se descarguen el archivo css, ya sea el del ejemplo o cualquier otro de la siguiente forma:</p>
<div class="codecolorer-container bash mac-classic" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br /></div></td><td><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #666666;">$ </span><span style="color: #c20cb9; font-weight: bold;">wget</span> http:<span style="color: #000000; font-weight: bold;">//</span>www.ellibertario.com<span style="color: #000000; font-weight: bold;">/</span>wp-content<span style="color: #000000; font-weight: bold;">/</span>w3tc<span style="color: #000000; font-weight: bold;">/</span>min<span style="color: #000000; font-weight: bold;">/</span>9a6f1138.444a95.css</div></td></tr></tbody></table></div>
<p>Ahora bien ya estamos listos para ver su contenido de forma más prolija y ordenada</p>
<div class="codecolorer-container bash mac-classic" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br /></div></td><td><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #666666;">$ </span><span style="color: #c20cb9; font-weight: bold;">cat</span> 9a6f1138.444a95.css <span style="color: #000000; font-weight: bold;">|</span> <span style="color: #c20cb9; font-weight: bold;">sed</span> <span style="color: #660033;">-e</span> <span style="color: #ff0000;">'s/}/}\n\n/g'</span> <span style="color: #000000; font-weight: bold;">|</span> <span style="color: #c20cb9; font-weight: bold;">less</span></div></td></tr></tbody></table></div>
<p>La idea general es reemplazar los caracteres &#8220;}&#8221; que sabemos que cierran bloques de definición en los css por uno o dos simples saltos de líneas &#8220;}\n\n&#8221;</p>
<p>Para generar un archivo nuevo solo quedaría redireccionar la salida a un nuevo archivo css y comenzar a leerlo y ver cada detalle del archivo.</p>
<div class="codecolorer-container bash mac-classic" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br /></div></td><td><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #666666;">$ </span><span style="color: #c20cb9; font-weight: bold;">cat</span> 9a6f1138.444a95.css <span style="color: #000000; font-weight: bold;">|</span> <span style="color: #c20cb9; font-weight: bold;">sed</span> <span style="color: #660033;">-e</span> <span style="color: #ff0000;">'s/}/}\n\n/g'</span> <span style="color: #000000; font-weight: bold;">&gt;</span> nuevo.css</div></td></tr></tbody></table></div>
<p>Ustedes vieron, lo simple y fácil que puede ser leer CSS que se encuentran comprimidos en la web, seguramente esto se puede mejorar mucho más y les dejo la tarea de aprender como hacerlo.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/ElCodigoK?a=74ZyvOQFtpc:mOaFZBiYpis:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/ElCodigoK?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/ElCodigoK?a=74ZyvOQFtpc:mOaFZBiYpis:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/ElCodigoK?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/ElCodigoK?a=74ZyvOQFtpc:mOaFZBiYpis:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/ElCodigoK?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/ElCodigoK?a=74ZyvOQFtpc:mOaFZBiYpis:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/ElCodigoK?i=74ZyvOQFtpc:mOaFZBiYpis:D7DqB2pKExk" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/ElCodigoK/~4/74ZyvOQFtpc" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.elcodigok.com.ar/2012/01/como-descomprimir-archivos-css/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Anatomía del archivo /etc/passwd</title>
		<link>http://www.elcodigok.com.ar/2012/01/anatomia-del-archivo-etcpasswd/</link>
		<comments>http://www.elcodigok.com.ar/2012/01/anatomia-del-archivo-etcpasswd/#comments</comments>
		<pubDate>Fri, 06 Jan 2012 19:29:58 +0000</pubDate>
		<dc:creator>Daniel M. Maldonado</dc:creator>
				<category><![CDATA[GNU/Linux]]></category>
		<category><![CDATA[Administrador de Sistemas]]></category>
		<category><![CDATA[consola]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[principiante]]></category>
		<category><![CDATA[seguridad]]></category>

		<guid isPermaLink="false">http://www.elcodigok.com.ar/?p=2645</guid>
		<description><![CDATA[Uno de los tantos archivos importante que encontramos en GNU/Linux es el archivos /etc/passwd donde se encuentra información de cada uno de los usuarios del sistema que el administrador a lo largo del tiempo fue creando y usuarios predefinidos creados al momento de la instalación del sistema. Lo primero que les propongo hacer es observar los permisos de éste archivo, ...]]></description>
			<content:encoded><![CDATA[<p>Uno de los tantos archivos importante que encontramos en GNU/Linux es el archivos <strong>/etc/passwd</strong> donde se encuentra información de cada uno de los usuarios del sistema que el administrador a lo largo del tiempo fue creando y usuarios predefinidos creados al momento de la instalación del sistema.</p>
<p>Lo primero que les propongo hacer es observar los permisos de éste archivo, y eso lo podemos hacer de la siguiente manera:</p>
<div class="codecolorer-container bash mac-classic" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br /></div></td><td><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">$ <span style="color: #c20cb9; font-weight: bold;">ls</span> <span style="color: #660033;">-la</span> <span style="color: #000000; font-weight: bold;">/</span>etc<span style="color: #000000; font-weight: bold;">/</span><span style="color: #c20cb9; font-weight: bold;">passwd</span><br />
-rw-r--r--. <span style="color: #000000;">1</span> root root <span style="color: #000000;">2103</span> <span style="color: #000000;">2011</span>-<span style="color: #000000;">11</span>-<span style="color: #000000;">23</span> <span style="color: #000000;">10</span>:<span style="color: #000000;">22</span> <span style="color: #000000; font-weight: bold;">/</span>etc<span style="color: #000000; font-weight: bold;">/</span><span style="color: #c20cb9; font-weight: bold;">passwd</span></div></td></tr></tbody></table></div>
<p>Donde el usuario dueño del archivo y el grupo es root, y solo él tiene los permisos necesarios para escribirlo, los demás usuarios y grupos solo podemos ver su contenido.</p>
<p>Y de hecho si tenemos la posibilidad sería interesante poder verlo.</p>
<div class="codecolorer-container bash mac-classic" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br />9<br />10<br />11<br />12<br />13<br />14<br />15<br />16<br /></div></td><td><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">$ <span style="color: #c20cb9; font-weight: bold;">cat</span> <span style="color: #000000; font-weight: bold;">/</span>etc<span style="color: #000000; font-weight: bold;">/</span><span style="color: #c20cb9; font-weight: bold;">passwd</span><br />
root:x:<span style="color: #000000;">0</span>:<span style="color: #000000;">0</span>:root,,,,31.036.936:<span style="color: #000000; font-weight: bold;">/</span>root:<span style="color: #000000; font-weight: bold;">/</span>bin<span style="color: #000000; font-weight: bold;">/</span><span style="color: #c20cb9; font-weight: bold;">bash</span><br />
daemon:x:<span style="color: #000000;">1</span>:<span style="color: #000000;">1</span>:daemon:<span style="color: #000000; font-weight: bold;">/</span>usr<span style="color: #000000; font-weight: bold;">/</span>sbin:<span style="color: #000000; font-weight: bold;">/</span>bin<span style="color: #000000; font-weight: bold;">/</span><span style="color: #c20cb9; font-weight: bold;">sh</span><br />
bin:x:<span style="color: #000000;">2</span>:<span style="color: #000000;">2</span>:bin:<span style="color: #000000; font-weight: bold;">/</span>bin:<span style="color: #000000; font-weight: bold;">/</span>bin<span style="color: #000000; font-weight: bold;">/</span><span style="color: #c20cb9; font-weight: bold;">sh</span><br />
sys:x:<span style="color: #000000;">3</span>:<span style="color: #000000;">3</span>:sys:<span style="color: #000000; font-weight: bold;">/</span>dev:<span style="color: #000000; font-weight: bold;">/</span>bin<span style="color: #000000; font-weight: bold;">/</span><span style="color: #c20cb9; font-weight: bold;">sh</span><br />
sync:x:<span style="color: #000000;">4</span>:<span style="color: #000000;">65534</span>:sync:<span style="color: #000000; font-weight: bold;">/</span>bin:<span style="color: #000000; font-weight: bold;">/</span>bin<span style="color: #000000; font-weight: bold;">/</span><span style="color: #c20cb9; font-weight: bold;">sync</span><br />
games:x:<span style="color: #000000;">5</span>:<span style="color: #000000;">60</span>:games:<span style="color: #000000; font-weight: bold;">/</span>usr<span style="color: #000000; font-weight: bold;">/</span>games:<span style="color: #000000; font-weight: bold;">/</span>bin<span style="color: #000000; font-weight: bold;">/</span><span style="color: #c20cb9; font-weight: bold;">sh</span><br />
man:x:<span style="color: #000000;">6</span>:<span style="color: #000000;">12</span>:man:<span style="color: #000000; font-weight: bold;">/</span>var<span style="color: #000000; font-weight: bold;">/</span>cache<span style="color: #000000; font-weight: bold;">/</span>man:<span style="color: #000000; font-weight: bold;">/</span>bin<span style="color: #000000; font-weight: bold;">/</span><span style="color: #c20cb9; font-weight: bold;">sh</span><br />
lp:x:<span style="color: #000000;">7</span>:<span style="color: #000000;">7</span>:lp:<span style="color: #000000; font-weight: bold;">/</span>var<span style="color: #000000; font-weight: bold;">/</span>spool<span style="color: #000000; font-weight: bold;">/</span>lpd:<span style="color: #000000; font-weight: bold;">/</span>bin<span style="color: #000000; font-weight: bold;">/</span><span style="color: #c20cb9; font-weight: bold;">sh</span><br />
mail:x:<span style="color: #000000;">8</span>:<span style="color: #000000;">8</span>:mail:<span style="color: #000000; font-weight: bold;">/</span>var<span style="color: #000000; font-weight: bold;">/</span>mail:<span style="color: #000000; font-weight: bold;">/</span>bin<span style="color: #000000; font-weight: bold;">/</span><span style="color: #c20cb9; font-weight: bold;">sh</span><br />
news:x:<span style="color: #000000;">9</span>:<span style="color: #000000;">9</span>:news:<span style="color: #000000; font-weight: bold;">/</span>var<span style="color: #000000; font-weight: bold;">/</span>spool<span style="color: #000000; font-weight: bold;">/</span>news:<span style="color: #000000; font-weight: bold;">/</span>bin<span style="color: #000000; font-weight: bold;">/</span><span style="color: #c20cb9; font-weight: bold;">sh</span><br />
uucp:x:<span style="color: #000000;">10</span>:<span style="color: #000000;">10</span>:uucp:<span style="color: #000000; font-weight: bold;">/</span>var<span style="color: #000000; font-weight: bold;">/</span>spool<span style="color: #000000; font-weight: bold;">/</span>uucp:<span style="color: #000000; font-weight: bold;">/</span>bin<span style="color: #000000; font-weight: bold;">/</span><span style="color: #c20cb9; font-weight: bold;">sh</span><br />
proxy:x:<span style="color: #000000;">13</span>:<span style="color: #000000;">13</span>:proxy:<span style="color: #000000; font-weight: bold;">/</span>bin:<span style="color: #000000; font-weight: bold;">/</span>bin<span style="color: #000000; font-weight: bold;">/</span><span style="color: #c20cb9; font-weight: bold;">sh</span><br />
www-data:x:<span style="color: #000000;">33</span>:<span style="color: #000000;">33</span>:www-data:<span style="color: #000000; font-weight: bold;">/</span>var<span style="color: #000000; font-weight: bold;">/</span>www:<span style="color: #000000; font-weight: bold;">/</span>bin<span style="color: #000000; font-weight: bold;">/</span><span style="color: #c20cb9; font-weight: bold;">sh</span><br />
dmaldonado:x:<span style="color: #000000;">1000</span>:<span style="color: #000000;">1000</span>:Daniel Martin Maldonado:<span style="color: #000000; font-weight: bold;">/</span>home<span style="color: #000000; font-weight: bold;">/</span>dmaldonado:<span style="color: #000000; font-weight: bold;">/</span>bin<span style="color: #000000; font-weight: bold;">/</span><span style="color: #c20cb9; font-weight: bold;">bash</span><br />
…</div></td></tr></tbody></table></div>
<p>A simple vista podemos ver datos separados por &#8220;:&#8221; con lo cuál cada separación corresponde a un campo de información y se estructura de la siguiente forma.</p>
<p>En el primer campo encontramos el <strong>NOMBRE DE USUARIO</strong>: es el nombre que identifica al usurio dentro del sistema, debe contener entre 1 y 32 caracteres.</p>
<p>El siguiente es el campo de la <strong>CONTRASEÑA</strong>: seguramente notaron que hay una &#8220;x&#8221; en todas las líneas, eso indica que la contraseña se encuentra encriptada en el archivo /etc/shadow</p>
<p>Si continuamos recorriendo la información, ahora nos encontramos con el <strong>ID DEL USUARIO</strong> o <strong>UID</strong>: acá es importante tener presente tres cosas, el uid 0 se encuentra reservado para el usuarios root, del 1 hasta el 999 son cuentas de servicios y predefinidas por el sistema y a partir del 1000 son las cuentas de usuarios que vamos a ir creando.</p>
<p>Así como tenemos el UID, el siguiente campo indica el <strong>ID DEL GRUPO</strong> o <strong>GID</strong>: este valor indica el gid principal del grupo al cuál corresponde, existe mucha más información en el archivo /etc/groups</p>
<p>Ahora podemos ver que sigue la <strong>INFORMACIÓN DEL USUARIO</strong></p>
<p>Ya estamos llegando al fina y podemos visualizar el <strong>DIRECTORIO PERSONAL</strong> de cada uno de los usuarios, aquí se debe indicar el PATH absoluto de su directorio.</p>
<p>Y como último campo encontramos el <strong>SHELL</strong> asignado para poder trabajar, podríamos asignarle o no asignarles shell a los usuarios utilizando /etc/false o /etc/nologin</p>
<p>Si tenemos la posibilidad de acceder como el usuario root dentro de nuestro sistema tenemos los permisos necesarios para editar el archivo y modificarlo con cualquier editor, con lo cuál no es una practica recomendada. Para esa tarea contamos con otros comandos como usermod, chsh y passwd que más adelante vamos a ir revisando.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/ElCodigoK?a=0-6a5UZ69EE:GeTUQ5wXahU:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/ElCodigoK?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/ElCodigoK?a=0-6a5UZ69EE:GeTUQ5wXahU:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/ElCodigoK?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/ElCodigoK?a=0-6a5UZ69EE:GeTUQ5wXahU:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/ElCodigoK?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/ElCodigoK?a=0-6a5UZ69EE:GeTUQ5wXahU:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/ElCodigoK?i=0-6a5UZ69EE:GeTUQ5wXahU:D7DqB2pKExk" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/ElCodigoK/~4/0-6a5UZ69EE" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.elcodigok.com.ar/2012/01/anatomia-del-archivo-etcpasswd/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Disponible NetBeans 7.1</title>
		<link>http://www.elcodigok.com.ar/2012/01/disponible-netbeans-7-1/</link>
		<comments>http://www.elcodigok.com.ar/2012/01/disponible-netbeans-7-1/#comments</comments>
		<pubDate>Thu, 05 Jan 2012 22:24:18 +0000</pubDate>
		<dc:creator>Daniel M. Maldonado</dc:creator>
				<category><![CDATA[Herramientas]]></category>
		<category><![CDATA[actualización]]></category>
		<category><![CDATA[Destacado]]></category>
		<category><![CDATA[NetBeans]]></category>
		<category><![CDATA[Programadores]]></category>

		<guid isPermaLink="false">http://www.elcodigok.com.ar/?p=2642</guid>
		<description><![CDATA[Nos encontramos viviendo la primera semana del 2012 y comenzaron las actualizaciones de muchas de las herramientas que nosotros como programadores utilizamos a diario, Oracle se adelantó a todos los lanzamientos y liberó esta nueva versión de NetBeans 7.1, Como era de suponer esta nueva versión de NetBeans se encuentra disponible para las plataformas Windows, GNU/Linux, Mac y Solaris. Esta ...]]></description>
			<content:encoded><![CDATA[<p>Nos encontramos viviendo la primera semana del 2012 y comenzaron las actualizaciones de muchas de las herramientas que nosotros como programadores utilizamos a diario, <strong>Oracle</strong> se adelantó a todos los lanzamientos y liberó esta nueva versión de <strong>NetBeans 7.1</strong>,</p>
<p>Como era de suponer esta nueva versión de NetBeans se encuentra disponible para las plataformas Windows, GNU/Linux, Mac y Solaris.</p>
<p>Esta nueva versión introduce soporte para <strong>JavaFX 2.0</strong>, permitiendo el ciclo de desarrollo de aplicaciones completo (compilación/depuración/perfil). El lanzamiento también proporciona importantes mejoras en Swing GUI Builder, soporte CSS3, y herramientas para la depuración visual de interfaces de usuario Swing y JavaFX. Otros puntos destacados incluyen el <strong>soporte de Git integrado</strong> en el IDE, nuevas características de depuración de PHP, varias mejoras en JavaEE y Maven, y mucho más.</p>
<p>Les soy sinceros, hace ya un tiempo dejé de lado NetBeans, pero al parecer esta nueva versión, esta nueva evolución promete bastante, así que lo primero que voy a hacer es descargarlo desde aquí <a href="http://netbeans.org/downloads/" target="_blank">http://netbeans.org/downloads/</a> y luego lo voy a instalar <a href="http://netbeans.org/community/releases/71/install.html" target="_blank">http://netbeans.org/community/releases/71/install.html</a></p>
<p>Enlace | <a href="http://netbeans.org/community/releases/71/" target="_blank">NetBeans 7.1</a></p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/ElCodigoK?a=DsDQ5Sh0-_o:JFd_IiKIeeo:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/ElCodigoK?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/ElCodigoK?a=DsDQ5Sh0-_o:JFd_IiKIeeo:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/ElCodigoK?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/ElCodigoK?a=DsDQ5Sh0-_o:JFd_IiKIeeo:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/ElCodigoK?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/ElCodigoK?a=DsDQ5Sh0-_o:JFd_IiKIeeo:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/ElCodigoK?i=DsDQ5Sh0-_o:JFd_IiKIeeo:D7DqB2pKExk" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/ElCodigoK/~4/DsDQ5Sh0-_o" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.elcodigok.com.ar/2012/01/disponible-netbeans-7-1/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Ejemplos de uso del comando scp</title>
		<link>http://www.elcodigok.com.ar/2012/01/ejemplos-de-uso-del-comando-scp/</link>
		<comments>http://www.elcodigok.com.ar/2012/01/ejemplos-de-uso-del-comando-scp/#comments</comments>
		<pubDate>Wed, 04 Jan 2012 13:25:43 +0000</pubDate>
		<dc:creator>Daniel M. Maldonado</dc:creator>
				<category><![CDATA[Bash]]></category>
		<category><![CDATA[Administrador de Sistemas]]></category>
		<category><![CDATA[consola]]></category>
		<category><![CDATA[ejemplos]]></category>
		<category><![CDATA[scp]]></category>
		<category><![CDATA[ssh]]></category>

		<guid isPermaLink="false">http://www.elcodigok.com.ar/?p=2640</guid>
		<description><![CDATA[El comando scp permite realizar copias de archivos y directorios remotos en forma segura utilizando comunicaciones encriptadas proporcionadas por SSH. De la misma forma que el comando cp necesita que le proporcionemos además de algunos argumentos el origen y el destino de lo que vamos a compiar. Para ver el funcionamiento les propongo el siguiente escenario: Necesitamos copiar el archivo ...]]></description>
			<content:encoded><![CDATA[<p>El comando scp permite realizar copias de archivos y directorios remotos en forma <span style="text-decoration: underline;">segura</span> utilizando comunicaciones encriptadas proporcionadas por <a href="http://www.elcodigok.com.ar/2009/08/iniciacion-de-ssh/"><strong>SSH</strong></a>. De la misma forma que el comando <strong>cp</strong> necesita que le proporcionemos además de algunos argumentos el <strong>origen</strong> y el <strong>destino</strong> de lo que vamos a compiar.</p>
<p>Para ver el funcionamiento les propongo el siguiente escenario: Necesitamos copiar el archivo &#8220;<strong>listado.txt</strong>&#8221; que se encuentra en el directorio <strong>/home/dmaldonado/Documentos</strong> del sistema remoto llamado &#8220;<strong>megatron</strong>&#8221; o su dirección ip:<strong> 192.168.0.15</strong> utilizando el usuario &#8220;<strong>dmaldonado</strong>&#8220;.</p>
<p>Con todos estos datos podemos ejecutar scp de la siguiente manera marcando el origen y el destino del archivo.</p>
<div class="codecolorer-container bash mac-classic" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br /></div></td><td><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #666666;">$ </span><span style="color: #c20cb9; font-weight: bold;">scp</span> dmaldonado<span style="color: #000000; font-weight: bold;">@</span>megatron:<span style="color: #000000; font-weight: bold;">/</span>home<span style="color: #000000; font-weight: bold;">/</span>dmaldonado<span style="color: #000000; font-weight: bold;">/</span>Documentos<span style="color: #000000; font-weight: bold;">/</span>listado.txt .</div></td></tr></tbody></table></div>
<p>O bien de la siguiente manera</p>
<div class="codecolorer-container bash mac-classic" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br /></div></td><td><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #666666;">$ </span><span style="color: #c20cb9; font-weight: bold;">scp</span> dmaldonado<span style="color: #000000; font-weight: bold;">@</span>192.168.0.15:<span style="color: #000000; font-weight: bold;">/</span>home<span style="color: #000000; font-weight: bold;">/</span>dmaldonado<span style="color: #000000; font-weight: bold;">/</span>Documentos<span style="color: #000000; font-weight: bold;">/</span>listado.txt .</div></td></tr></tbody></table></div>
<p>De cualquiera de estas dos formas nos va a solicitar la contraseña del usuario dmaldonado en el sistema &#8220;megatron&#8221;</p>
<p>Recuerden que el &#8220;.&#8221; indica el directorio actual de la maquina local.</p>
<p>Entonces hasta ahora vimos como el origen de la copia se encuentra en una máquina remota y el destino en la maquina local, ahora veamos el inverso, donde el origen de la copia se encuentra en la maquina local y el destino es una maquina remota.</p>
<div class="codecolorer-container bash mac-classic" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br /></div></td><td><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #666666;">$ </span><span style="color: #c20cb9; font-weight: bold;">scp</span> listado_modificado.txt dmaldonado<span style="color: #000000; font-weight: bold;">@</span>megatron:<span style="color: #000000; font-weight: bold;">/</span>home<span style="color: #000000; font-weight: bold;">/</span>dmaldonado<span style="color: #000000; font-weight: bold;">/</span>Documentos<span style="color: #000000; font-weight: bold;">/</span></div></td></tr></tbody></table></div>
<p>o de la siguiente manera</p>
<div class="codecolorer-container bash mac-classic" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br /></div></td><td><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #666666;">$ </span><span style="color: #c20cb9; font-weight: bold;">scp</span> listado_modificado.txt dmaldonado<span style="color: #000000; font-weight: bold;">@</span>192.168.0.15:<span style="color: #000000; font-weight: bold;">/</span>home<span style="color: #000000; font-weight: bold;">/</span>dmaldonado<span style="color: #000000; font-weight: bold;">/</span>Documentos<span style="color: #000000; font-weight: bold;">/</span></div></td></tr></tbody></table></div>
<p>Nuevamente nos va a solicitar la contraseña para el usuario dmaldonado dentro del sistema megatron.</p>
<p>Realmente el uso de scp es una muy buena práctica para tenerla en cuenta y aplicarla en cualquier momento, obviamente los invito a revisar las páginas del manual de scp para obtener mucha más información y ejemplos de uso.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/ElCodigoK?a=xwmXu6chke8:55csYuE_KLI:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/ElCodigoK?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/ElCodigoK?a=xwmXu6chke8:55csYuE_KLI:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/ElCodigoK?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/ElCodigoK?a=xwmXu6chke8:55csYuE_KLI:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/ElCodigoK?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/ElCodigoK?a=xwmXu6chke8:55csYuE_KLI:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/ElCodigoK?i=xwmXu6chke8:55csYuE_KLI:D7DqB2pKExk" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/ElCodigoK/~4/xwmXu6chke8" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.elcodigok.com.ar/2012/01/ejemplos-de-uso-del-comando-scp/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

