<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-3727691620151235666</id><updated>2011-10-13T16:28:52.528-07:00</updated><category term='tabulacions'/><category term='texto'/><category term='opensuse 11.3'/><category term='AS'/><category term='grub'/><category term='certificacion'/><category term='generadores'/><category term='lan'/><category term='paradigma'/><category term='gentoo'/><category term='ventanas'/><category term='network manager'/><category term='64 bits'/><category term='añadir'/><category term='routers died cancion'/><category term='upgrade'/><category term='dbus'/><category term='gnome'/><category term='gateway t-1616'/><category term='eliminar'/><category term='mapa'/><category term='ccna'/><category term='aproximación'/><category term='pegar'/><category term='cisco'/><category term='telefónos'/><category term='shell'/><category term='python'/><category term='particionar'/><category term='resolución'/><category term='copiar'/><category term='busqueda'/><category term='comprension de listas'/><category term='año nuevo'/><category term='internet'/><category term='rfkill'/><category term='vim'/><category term='experiencia'/><category term='geek code'/><category term='minicom'/><category term='comprimir'/><category term='rt8187'/><category term='rar'/><category term='bind'/><category term='linux'/><category term='dinamico'/><category term='vi'/><category term='opensuse'/><category term='wallpaper'/><category term='usb'/><category term='wlan0'/><category term='crear'/><category term='diapositivas'/><category term='comandos'/><category term='2010'/><category term='formatear'/><category term='pestañas'/><category term='networking'/><category term='kde'/><category term='tar'/><category term='socket'/><category term='dinámico'/><category term='desplazamiento'/><category term='dns'/><category term='materia'/><category term='wireless'/><category term='flash player'/><category term='slide'/><category term='ubuntu'/><category term='comandos basicos'/><title type='text'>Periferia Binaria</title><subtitle type='html'>Compile, load and go.</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://bitclux.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3727691620151235666/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://bitclux.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Mike</name><uri>http://www.blogger.com/profile/05949782645720686226</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>28</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-3727691620151235666.post-8676631185274895564</id><published>2011-09-19T20:42:00.001-07:00</published><updated>2011-09-19T21:18:21.175-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='python'/><category scheme='http://www.blogger.com/atom/ns#' term='lan'/><category scheme='http://www.blogger.com/atom/ns#' term='telefónos'/><category scheme='http://www.blogger.com/atom/ns#' term='networking'/><title type='text'>personal mobile lan network</title><content type='html'>El post tiene un nombre oneroso, vamos a refinarlo un poco:&lt;br /&gt;&lt;br /&gt;Que pasaria si cambiamos el ADSL convencional por un red p2p balanceada basada en móviles con acceso a Internet, esa pregunta entro en mi cabeza cuando me pusé a revisar los planes para expandir mi ancho de banda y permitirme utilizar Netflix, xq con 1mb no corre.&lt;br /&gt;&lt;br /&gt;Si un móvil con 3G te proporciona 1mb de ancho de banda limitando la cantidad de descarga que tienes, y encima alquilas un ADSl ilimitado no es contra el sentido común; tanto el ISP como el consumidor gasta recursos, cuando podriamos vivir más eficientemente.&lt;br /&gt;&lt;br /&gt;Si la conexión del teléfono lo volvieramos un hot spot distribuido entre varios teléfonos 3G, podriamos seguir utilizando los mismos recursos a Internet que ya tendríamos como también podríamos ganar velocidad de descarga, en realidad ancho de banda, enlazando mediante un software de balanceo de carga las peticiones a los servidores de Internet a través de las diferentes conexiones de los teléfonos así aumentando la velocidad de una manera compartida.&lt;br /&gt;Ahora xq asumo esto, simple en realidad ... si nos proyectamos de aquí a 2 años veremos que por lo menos 2 personas por familia tendrán un teléfono inteligente, y con la gracia de nuestros ISP's dudo que nos suban el ancho de banda, primero el precio antes de calidad de servicio(a veces me dan a entender eso). Con ello, podríamos conseguir hasta 2mb de enlace a 10% de confiabilidad como mínimo.&lt;br /&gt;&lt;br /&gt;Vamos pero que necesitamos para esto, un fono que tenga la capacidad de un computador ... En estos momentos, cualquier fono que venga con Android y una interface wlan lo puede lograr. Un sistema operativo que se pueda manipular a bajo nivel para poder montar el protocolo del balanceo de carga... otro punto para Android, aunque no descartemos cualquiera que se anime.&lt;br /&gt;Otro potencial es poder crear micro redes en cualquier lugar... baaahhh, pero el 3G ya hace eso.. si lo hace, pero la unión hace la fuerza y podrias montarte un servicio de streaming con bastante poco y encima móvil.&lt;br /&gt;&lt;br /&gt;Cuáles son los limitantes, la infraestructura móvil podría ser una; de hecho, hasta que no se prolifere la tecnología lo veo inviable, aunque hay muchos países donde ya existe una infraestructura moderna y sólida. Otra limitante es que no se puede garantizar NAT, los móviles funcionan como si estuviesen dentro de una gigantezca WLan.&lt;br /&gt;&lt;br /&gt;Bueno, todo esto ha sido un poco de delirio que en parte tiene viabilidad, seguiré desarrollando la idea; pero en resumen es desarrollar un sistema que pueda asociar teléfonos en una Phone-LAN redistribuyendo las conexiones como los routers con OSPF implementados en lo más arriba de la estructura de internet.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3727691620151235666-8676631185274895564?l=bitclux.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bitclux.blogspot.com/feeds/8676631185274895564/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3727691620151235666&amp;postID=8676631185274895564' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3727691620151235666/posts/default/8676631185274895564'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3727691620151235666/posts/default/8676631185274895564'/><link rel='alternate' type='text/html' href='http://bitclux.blogspot.com/2011/09/personal-mobile-lan-network.html' title='personal mobile lan network'/><author><name>Mike</name><uri>http://www.blogger.com/profile/05949782645720686226</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3727691620151235666.post-2481273932457688693</id><published>2011-06-17T18:52:00.000-07:00</published><updated>2011-06-17T19:01:02.420-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='wlan0'/><category scheme='http://www.blogger.com/atom/ns#' term='dbus'/><category scheme='http://www.blogger.com/atom/ns#' term='kde'/><category scheme='http://www.blogger.com/atom/ns#' term='wireless'/><category scheme='http://www.blogger.com/atom/ns#' term='rt8187'/><category scheme='http://www.blogger.com/atom/ns#' term='rfkill'/><category scheme='http://www.blogger.com/atom/ns#' term='gnome'/><title type='text'>Wireless chipset rtl8187</title><content type='html'>Desde hace mucho siempre tenia este problema recurrente de que el dbus bloqueaba físicamente la interfaz inalámbrica para ello hay que hacer lo siguiente:&lt;br /&gt;&lt;br /&gt;#rmmod rt8187             // Eliminas el módulo de la inalámbrica&lt;br /&gt;#rfkill block all             &lt;br /&gt;#rfkill unblock all         // Desbloquea el dispositivo tanto físicamente como lógicamente&lt;br /&gt;#modprobe rtl8187      // Volvemos a cargar el módulo de la inalámbrica&lt;br /&gt;#rfkill unblock all&lt;br /&gt;#ifconfig wlan0 up       // Levantamos la interface.&lt;br /&gt;&lt;br /&gt;Está solución es para el chipset, busca tu chipset específico en :&lt;br /&gt;&lt;br /&gt;#lspsci |grep -i wireless&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3727691620151235666-2481273932457688693?l=bitclux.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bitclux.blogspot.com/feeds/2481273932457688693/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3727691620151235666&amp;postID=2481273932457688693' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3727691620151235666/posts/default/2481273932457688693'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3727691620151235666/posts/default/2481273932457688693'/><link rel='alternate' type='text/html' href='http://bitclux.blogspot.com/2011/06/wireless-chipset-rtl8187.html' title='Wireless chipset rtl8187'/><author><name>Mike</name><uri>http://www.blogger.com/profile/05949782645720686226</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3727691620151235666.post-4577599052953735819</id><published>2011-06-14T19:27:00.001-07:00</published><updated>2011-06-14T19:54:40.370-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='particionar'/><category scheme='http://www.blogger.com/atom/ns#' term='formatear'/><category scheme='http://www.blogger.com/atom/ns#' term='usb'/><title type='text'>Formatear usb's</title><content type='html'>Otra pastilla útil que a veces me olvido.&lt;br /&gt;Para crear una partición Fat32:&lt;br /&gt;&lt;span style="font-style: italic; font-weight: bold;"&gt;#fdisk /dev/sdc&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic; font-weight: bold;"&gt;p&lt;/span&gt; para listar las particiones&lt;br /&gt;&lt;span style="font-style: italic; font-weight: bold;"&gt;d&lt;/span&gt; para eliminar una partición&lt;br /&gt;&lt;span style="font-style: italic; font-weight: bold;"&gt;n&lt;/span&gt; para crear una nueva partición&lt;br /&gt;&lt;span style="font-style: italic; font-weight: bold;"&gt;t&lt;/span&gt; para insertar el tipo de UID&lt;br /&gt;&lt;span style="font-style: italic; font-weight: bold;"&gt;l&lt;/span&gt;&lt;span style="font-weight: bold;"&gt; &lt;/span&gt;para especificar el valor en hexadecimal de UID (6 para FAT16)&lt;br /&gt;&lt;span style="font-style: italic; font-weight: bold;"&gt;w&lt;/span&gt; para salir escribiendo&lt;br /&gt;&lt;br /&gt;luego para formatear la partición:&lt;br /&gt;&lt;span style="font-style: italic; font-weight: bold;"&gt;#mkfs.vfat -F 32 -n "clvx-usb" /dev/sdc1&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Si se quiere dejar el disco de almacenamiento en blanco total o nulo:&lt;br /&gt;&lt;b&gt;!-!-! POR NINGUN MOTIVO REALIZARLO CON EL DISCO DONDE SE MONTA EL SISTEMA !-!-!&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic; color: rgb(255, 0, 0);"&gt;# dd if=/dev/zero of=/dev/sdX&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3727691620151235666-4577599052953735819?l=bitclux.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bitclux.blogspot.com/feeds/4577599052953735819/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3727691620151235666&amp;postID=4577599052953735819' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3727691620151235666/posts/default/4577599052953735819'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3727691620151235666/posts/default/4577599052953735819'/><link rel='alternate' type='text/html' href='http://bitclux.blogspot.com/2011/06/formatear-usbs.html' title='Formatear usb&apos;s'/><author><name>Mike</name><uri>http://www.blogger.com/profile/05949782645720686226</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3727691620151235666.post-3551953675222089014</id><published>2011-03-07T06:01:00.001-08:00</published><updated>2011-07-09T12:31:04.740-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='generadores'/><category scheme='http://www.blogger.com/atom/ns#' term='python'/><title type='text'>Generadores en python</title><content type='html'>Un objeto es iterable si es físicamente almacenado en una secuencia o un objeto que produce un resulto a la vez de una herramienta iterativa como la repetición 'for'. Los objetos iterables tienen implementado el método 'next()' , __next__() en python3.&lt;br /&gt;&lt;br /&gt;Se puede iterar de distintas maneras listas de comprensión, for, while y generadores. Los generadores se dividen en funciones generadoras que devuelven un valor a la vez por medio de la sentencia yield, suspendiendo y resumiendo el estado del generador cada vez que se llama al siguiente elemento.&lt;br /&gt;&lt;br /&gt;&lt;script src="http://pastebin.com/embed_js.php?i=vQUmSiP4"&gt;&lt;/script&gt;&lt;br /&gt;&lt;br /&gt;En este código se devuelve un elemento cada vez que se llama a la sentencia 'yield' sin tener que almacenar todos los valores en memoria.&lt;br /&gt;&lt;br /&gt;El otro generador se denomina generadores de expresiones que funcionan de forma parecida a la comprensión de listas; debido a que, se pueden utilizar solamente expresiones y no bloques en su sintaxis, utilizan paréntesis en vez de corchetes en su sintaxis. Sin embargo, los generadores devuelven un objeto generador en vez de una lista en cada iteración.&lt;br /&gt;&lt;br /&gt;&lt;script src="http://pastebin.com/embed_js.php?i=fHNJwzFV"&gt;&lt;/script&gt;&lt;br /&gt;&lt;br /&gt;Al final de una iteración siempre se levanta una excepción 'StopIteration', en el caso de la sentencia 'for' está excepción es tratada. Obteniendo los valores uno a la vez, los generadores permiten tener mejor rendimiento de memoria a costa de un mayor procesamiento. Su uso es adecuado en secuencias infinitas, o en secuencias de gran tamaño que vayan a tener que ser cargadas a memoria.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3727691620151235666-3551953675222089014?l=bitclux.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bitclux.blogspot.com/feeds/3551953675222089014/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3727691620151235666&amp;postID=3551953675222089014' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3727691620151235666/posts/default/3551953675222089014'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3727691620151235666/posts/default/3551953675222089014'/><link rel='alternate' type='text/html' href='http://bitclux.blogspot.com/2011/03/generadores-en-python.html' title='Generadores en python'/><author><name>Mike</name><uri>http://www.blogger.com/profile/05949782645720686226</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3727691620151235666.post-9013017143737759982</id><published>2011-03-07T04:03:00.000-08:00</published><updated>2011-03-07T05:24:13.185-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='comprension de listas'/><category scheme='http://www.blogger.com/atom/ns#' term='python'/><title type='text'>Comprensión de listas</title><content type='html'>La comprensión de listas permite crear listas a partir de otras listas. Su sintaxis se deriva de una construcción en la notación de teoría de conjuntos que aplica una expresión a cada elemento del conjunto. &lt;br /&gt;la sentencia es:&lt;br /&gt; &lt;br /&gt;&lt;code&gt;L = [ expresión for element in secuencia]&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;Se usa cuando se quiere recorrer secuencias, a diferencia de la sentencia 'for' que corre sobre python puro, la compresión de listas mejora el rendimiento ya que está construido sobre C; por ello, se recomiendo iterar con comprensión de listas sobre grandes sencuencias. Además, provee una sintaxis que facilita la programación funcional:&lt;br /&gt;&lt;br /&gt;&lt;code&gt;l=[n for n in [1,2,3,4,5,6] if n%2.0==0]&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;equivalente a:&lt;br /&gt;&lt;br /&gt;&lt;script src="http://pastebin.com/embed_js.php?i=dqxPTLf6"&gt;&lt;/script&gt;&lt;br /&gt;&lt;br /&gt;o también:&lt;br /&gt;&lt;script src="http://pastebin.com/embed_js.php?i=9gkEYie6"&gt;&lt;/script&gt;&lt;br /&gt;&lt;br /&gt;Como la comprensión de listas es una expresión, se puede utilizar en el cuerpo de las funciones lambda, listas de diccionarios, etc.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3727691620151235666-9013017143737759982?l=bitclux.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bitclux.blogspot.com/feeds/9013017143737759982/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3727691620151235666&amp;postID=9013017143737759982' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3727691620151235666/posts/default/9013017143737759982'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3727691620151235666/posts/default/9013017143737759982'/><link rel='alternate' type='text/html' href='http://bitclux.blogspot.com/2011/03/comprension-de-listas.html' title='Comprensión de listas'/><author><name>Mike</name><uri>http://www.blogger.com/profile/05949782645720686226</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3727691620151235666.post-7696654504806903081</id><published>2011-02-28T13:02:00.000-08:00</published><updated>2011-03-01T09:31:54.482-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='pestañas'/><category scheme='http://www.blogger.com/atom/ns#' term='vim'/><category scheme='http://www.blogger.com/atom/ns#' term='tabulacions'/><category scheme='http://www.blogger.com/atom/ns#' term='ventanas'/><title type='text'>Algunas de Vi: Tabulación, ventanas y pestañas</title><content type='html'>&lt;b&gt;&lt;i&gt;Tabulación:&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;Una buena manera para trabajar con tabulaciones en vim es utilizando tabstop, expandtab, softtabstop, shiftwidth; con ello se puede definir si se quiere tener tamaños de tabulación de 8 o 4 columnas; también, se puede intercambiar la tabulación por espacios en blanco.&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;:set tabstop=4&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;Esto permite tener una tabulación de 4 columnas.&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;:set expandtab&lt;br /&gt;:set noexpandtab&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;Cuando está habilitado cambia las columnas de la tabulación por espacios en blanco.&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;:set shiftwidth=4&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;Se habilita la cantidad de columnas a indentar en normal mode (&lt;&lt; &gt;&gt;)&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;:set softtabstop=4&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;Define cuantas columnas se insertan en modo insertar; cuando expandtab está habilitado, inserta los espacios en blanco apropiados; cuando expandtab está deshabilitado y tabstop es igual que softtabstop, entonces se utiliza tabs por defecto.&lt;br /&gt;&lt;br /&gt;Para que la configuración siempre este disponible, se procede a agregar en el .vimrc:&lt;br /&gt;&lt;code&gt;&lt;br /&gt;set tabstop=4 softtabstop=4 shiftwidth=4 expandtab&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;i&gt;Control de ventanas&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;En vim se pueden utilizar varias ventanas al mismo tiempo:&lt;br /&gt;&lt;code&gt;&lt;br /&gt;:split test.txt&lt;br /&gt;:sp test.txt&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;split==sp, sirve para abrir otra ventana horizontalmente.&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;:vsplit test.txt&lt;br /&gt;:vsp test.txt&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;vsplit==vsp, sirve para abrir una venta verticalmente&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;:ctrl-w s&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;Abre el mismo archivo en una nueva ventana.&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;:only&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;Cierra toda las ventanas menos el área de trabajo utilizada en ese instante.&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;:ctrl-w H|J|K|L&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;Rota las ventanas izquierda,abajo,arriba,derecha respectivamente.&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;:ctrl-w +&lt;br /&gt;:ctrl-w -&lt;br /&gt;:ctrl-w =&lt;br /&gt;:ctrl-w _&lt;br /&gt;:ctrl-w |&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;Permite redimensionar una ventana agrandandola, reduciendola, igualando todas las ventanas, o maximizarla verticarlmente, o maximizarla horizontalmente.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;:ctrl-w h|j|k|l&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;Navega entre las ventanas izquierda,abajo,arriba,derecha respectivamente. Además, se puede mapear estos comandos para simplificarlos en el .vimrc:&lt;br /&gt;&lt;br /&gt;map &lt;c-h&gt; &lt;c-w&gt;h&lt;br /&gt;map &lt;c-j&gt; &lt;c-w&gt;j&lt;br /&gt;map &lt;c-k&gt; &lt;c-w&gt;k&lt;br /&gt;map &lt;c-l&gt; &lt;c-w&gt;l&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;i&gt;Pestañás&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;code&gt;:tabedit test.txt&lt;/code&gt;&lt;br /&gt;Abre un documento en una nueva pestaña&lt;br /&gt;&lt;br /&gt;&lt;code&gt;ctrl-w T&lt;/code&gt;&lt;br /&gt;Pone en su propia pestaña la ventana que estaba dividida por vsplit o split.&lt;br /&gt;&lt;br /&gt;&lt;code&gt;:tabclose&lt;/code&gt;&lt;br /&gt;Para cerrar la pestaña que se está trabajando.&lt;br /&gt;&lt;br /&gt;&lt;code&gt;:tabonly&lt;/code&gt;&lt;br /&gt;Cierra todas las ventanas menos el área de trabajo que se está ejecutando.&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;:gt &lt;br /&gt;:gT &lt;br /&gt;:#gt  &lt;br /&gt;&lt;/code&gt;&lt;br /&gt;Sirve para avanzar pestañas, retroceder pestañas, ir a una pestaña específica respectivamente.&lt;br /&gt;&lt;br /&gt;&lt;code&gt;:tabmove #&lt;/code&gt;&lt;br /&gt;Mueve el tab a la posición indicada '#==[0-9]'.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3727691620151235666-7696654504806903081?l=bitclux.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bitclux.blogspot.com/feeds/7696654504806903081/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3727691620151235666&amp;postID=7696654504806903081' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3727691620151235666/posts/default/7696654504806903081'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3727691620151235666/posts/default/7696654504806903081'/><link rel='alternate' type='text/html' href='http://bitclux.blogspot.com/2011/02/algunas-de-vi-tabulacion-y-ventanas.html' title='Algunas de Vi: Tabulación, ventanas y pestañas'/><author><name>Mike</name><uri>http://www.blogger.com/profile/05949782645720686226</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3727691620151235666.post-3551894487279179703</id><published>2011-01-31T15:50:00.000-08:00</published><updated>2011-01-31T16:22:46.562-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='crear'/><category scheme='http://www.blogger.com/atom/ns#' term='slide'/><category scheme='http://www.blogger.com/atom/ns#' term='wallpaper'/><category scheme='http://www.blogger.com/atom/ns#' term='dinámico'/><category scheme='http://www.blogger.com/atom/ns#' term='dinamico'/><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu'/><category scheme='http://www.blogger.com/atom/ns#' term='gnome'/><category scheme='http://www.blogger.com/atom/ns#' term='diapositivas'/><title type='text'>Crear slide-wallapapers en ubuntu</title><content type='html'>Me pusé a tunear mi escritorio de ubuntu(seee ahora ando en ubuntu), así que quería crear mi propio wallpaper como pase de diapositivas; buscando y buscando encontré más de una manera de realizarlo.. una casi automática con python, pero les mostraré en modo manual.&lt;br /&gt;Primero los archivos de configuración:&lt;br /&gt;&lt;br /&gt;1) /usr/share/backgrounds/mis_wallpapers/archivo.xml  , este archivo xml sirve para definir la imagen, duración y transición entre cada una de estas imágenes para realizar el pase de diapositivas. Esta contiene:&lt;br /&gt;&lt;br /&gt;&lt;script src="http://pastebin.com/embed_js.php?i=jyqyqTbW"&gt;&lt;/script&gt;&lt;br /&gt;&lt;br /&gt;Recordar que para hacer el loop, el elemento de la última transición tiene que ser el mismo que el primero.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;2) /usr/share/gnome-background-properties/mi_wallpaper.xml , este archivo permite crear una entrada de la vista de diapositivas en el Fondo del menú de preferencias de apariencia, hace referencia al archivo que define las imágenes, duración y transición del pase de diapositivas.&lt;br /&gt;&lt;br /&gt;&lt;script src="http://pastebin.com/embed_js.php?i=UT4Q44RN"&gt;&lt;/script&gt;&lt;br /&gt;&lt;br /&gt;Con todo esto ya tienes un fondo dinámico tranquilo.. Bueno, en mi caso hice un pase de figuras de escalada que me quedo bien interesante, la flojera invade para poner un snapshot asi que los dejo con la idea.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3727691620151235666-3551894487279179703?l=bitclux.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bitclux.blogspot.com/feeds/3551894487279179703/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3727691620151235666&amp;postID=3551894487279179703' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3727691620151235666/posts/default/3551894487279179703'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3727691620151235666/posts/default/3551894487279179703'/><link rel='alternate' type='text/html' href='http://bitclux.blogspot.com/2011/01/crear-slide-wallapapers-en-ubuntu.html' title='Crear slide-wallapapers en ubuntu'/><author><name>Mike</name><uri>http://www.blogger.com/profile/05949782645720686226</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3727691620151235666.post-7955679883230829564</id><published>2010-09-30T04:25:00.000-07:00</published><updated>2010-09-30T04:34:10.900-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='geek code'/><title type='text'>Geek Code</title><content type='html'>&lt;code&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;-----BEGIN GEEK CODE BLOCK-----&lt;br /&gt; Version: 3.1 GCM/CS/SS&lt;br /&gt;d- s: a- C++++ L B V* U+++ P+ L+++ E--- W+++ N+ o- K- w+ O M+ V-- PS+++ PE+++ Y++ PGP++ t+ 5 X R- tv+ b+++ DI+ D+ G+ e+ h+ r+++ y+++&lt;br /&gt;------END GEEK CODE BLOCK------&lt;/span&gt;&lt;br /&gt;&lt;/code&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3727691620151235666-7955679883230829564?l=bitclux.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bitclux.blogspot.com/feeds/7955679883230829564/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3727691620151235666&amp;postID=7955679883230829564' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3727691620151235666/posts/default/7955679883230829564'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3727691620151235666/posts/default/7955679883230829564'/><link rel='alternate' type='text/html' href='http://bitclux.blogspot.com/2010/09/geek-code.html' title='Geek Code'/><author><name>Mike</name><uri>http://www.blogger.com/profile/05949782645720686226</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3727691620151235666.post-1712325486441483906</id><published>2010-08-10T05:31:00.001-07:00</published><updated>2010-08-10T05:36:14.024-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='materia'/><category scheme='http://www.blogger.com/atom/ns#' term='aproximación'/><category scheme='http://www.blogger.com/atom/ns#' term='paradigma'/><title type='text'></title><content type='html'>Solo para recordar:&lt;br /&gt;1. Materias que pueden ser hechas para recordar, discriminar, decidir y hacer.&lt;br /&gt;2. Materias que puedan recordar descripciones e interpretar actos sobre estos. &lt;br /&gt;3. Materias que puedan mantener e interpretar un acto sobre descripciones que describen lo que sea que la materia pueda hacer.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3727691620151235666-1712325486441483906?l=bitclux.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bitclux.blogspot.com/feeds/1712325486441483906/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3727691620151235666&amp;postID=1712325486441483906' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3727691620151235666/posts/default/1712325486441483906'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3727691620151235666/posts/default/1712325486441483906'/><link rel='alternate' type='text/html' href='http://bitclux.blogspot.com/2010/08/solo-para-recordar-1.html' title=''/><author><name>Mike</name><uri>http://www.blogger.com/profile/05949782645720686226</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3727691620151235666.post-7802940772487904322</id><published>2010-07-17T18:08:00.001-07:00</published><updated>2010-09-18T21:54:22.997-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='opensuse'/><category scheme='http://www.blogger.com/atom/ns#' term='mapa'/><category scheme='http://www.blogger.com/atom/ns#' term='python'/><category scheme='http://www.blogger.com/atom/ns#' term='internet'/><category scheme='http://www.blogger.com/atom/ns#' term='AS'/><title type='text'>Proyecto de ciencias: Mapa 3D de AS ( Actualizado 16/08/10)</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.visualcomplexity.com/vc/images/492_big01.jpg"&gt;&lt;img style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;width: 400px; height: 300px;" src="http://www.visualcomplexity.com/vc/images/492_big01.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;Hace mucho tiempo quería tener un proyecto personal innovador y con objetivos cientificos, asi que me decidí por hacer un mapa 3D de sistemas autonomos de Internet y sacar algunas conclusiones matemáticas de ella si se pudiera.&lt;br /&gt;&lt;br /&gt;¿Como lo haremos? &lt;br /&gt;Revisando proyectos como the internet mapping project, DEMIS Project, y un largo etc., ya que documentación existe.&lt;br /&gt;&lt;br /&gt;¿En cuanto tiempo? &lt;br /&gt;La primera fase deberia estar lista para el mes de diciembre del 2010 con el modelamiento de la solución, los paquetes, contenedores, y parte del código que busque AS y los actualizará si fuese necesario.&lt;br /&gt;&lt;br /&gt;¿Quienes lo conforman?&lt;br /&gt;Es personal y por ahora el egoísmo.&lt;br /&gt;&lt;br /&gt;Finalmente, será diseñado bajo una plataforma open-source especificamente python + postgresql + opensuse.. tal vez utilize slackware si fuese necesario montar un servidor, resumiendo todo bajo opensource.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Actualización ----&gt; 16/08/10&lt;br /&gt;&lt;br /&gt;Se ha definido el problema, el modelo de casos de uso y el modelo conceptual. Definí el caso de uso mapear por subred y después de mucha documentación acerca de protocolos encontré la mejor manera de hacer el escaneo, al menos logicamente.&lt;br /&gt;Después de joder, joder y seguir jodiendo a varios profesores, encontré muy buenas pautas e ideas para poder realizar el proyecto.&lt;br /&gt;&lt;br /&gt;Actualización ----&gt; 18/09/10&lt;br /&gt;El último mes no he avanzado casi nada, ya está definido todo logicamente definido para empezar la codificación. Sin embargo, por falta de conocimientos y desarrollo aún no desarrollo el programa. Tento que avanzar.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3727691620151235666-7802940772487904322?l=bitclux.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bitclux.blogspot.com/feeds/7802940772487904322/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3727691620151235666&amp;postID=7802940772487904322' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3727691620151235666/posts/default/7802940772487904322'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3727691620151235666/posts/default/7802940772487904322'/><link rel='alternate' type='text/html' href='http://bitclux.blogspot.com/2010/07/proyecto-de-ciencias-mapa-3d-de-as.html' title='Proyecto de ciencias: Mapa 3D de AS ( Actualizado 16/08/10)'/><author><name>Mike</name><uri>http://www.blogger.com/profile/05949782645720686226</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3727691620151235666.post-424680657357185174</id><published>2010-07-04T16:18:00.000-07:00</published><updated>2010-07-04T16:31:56.013-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='network manager'/><category scheme='http://www.blogger.com/atom/ns#' term='opensuse 11.3'/><category scheme='http://www.blogger.com/atom/ns#' term='upgrade'/><category scheme='http://www.blogger.com/atom/ns#' term='gateway t-1616'/><category scheme='http://www.blogger.com/atom/ns#' term='kde'/><title type='text'>Opensuse 11.3 Rc2</title><content type='html'>Le hice el upgrade a mi sistema luego de que se fuera al cacho por insertar un usb walkman que termino comprimiendo el fuse y corrompiendo mi filesystem a read/only.. no desperdicie tiempo y me instale el OpenSuse 11.3 RC1 con un usb stick y asunto arreglado. Al principio solo reconocia el wireless, pero luego de un zypper up , reconocio todo menos la webcam en mi poderosa gateway t-1616.&lt;br /&gt;Finalmente se salio el release candidate 2 y le hice el upgrade zypper dup funcionando de maravillas. Solo un detalle cuando envien a invernar y lo apagan subitamente el applet del network manager en KDE posiblemente se corrompa, asi que cuando reinicien para volver a obtener red escriban como root:&lt;br /&gt;#dbus-send --system --dest=org.freedesktop.NetworkManager /org/freedesktop/NetworkManager org.freedesktop.NetworkManager.wake&lt;br /&gt;&lt;br /&gt;Eso volvera a activar el applet del networkmanager de KDE y asunto arreglado. Les dejo un snapshot de mi desktop.&lt;br /&gt;&lt;img src="http://i173.photobucket.com/albums/w76/tru_clx/KDE-os113Rc2.png" alt="desktop" height="350" width="550" /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3727691620151235666-424680657357185174?l=bitclux.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bitclux.blogspot.com/feeds/424680657357185174/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3727691620151235666&amp;postID=424680657357185174' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3727691620151235666/posts/default/424680657357185174'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3727691620151235666/posts/default/424680657357185174'/><link rel='alternate' type='text/html' href='http://bitclux.blogspot.com/2010/07/opensuse-113-rc2.html' title='Opensuse 11.3 Rc2'/><author><name>Mike</name><uri>http://www.blogger.com/profile/05949782645720686226</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3727691620151235666.post-599718472637641485</id><published>2010-01-13T07:19:00.000-08:00</published><updated>2010-09-30T10:29:09.250-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='socket'/><category scheme='http://www.blogger.com/atom/ns#' term='python'/><category scheme='http://www.blogger.com/atom/ns#' term='networking'/><title type='text'>sockets en python</title><content type='html'>&lt;span style="font-weight: bold; color: rgb(153, 0, 0);"&gt;Introduccion a los sockets&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 0, 0);"&gt;Programar en red con python puede caer en 2 categorias, usar un modulo de protocolo o programar el protocolo desde cero.&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 0, 0);"&gt;Los sockets son una extension del sistema de entrada/salida del sistema operativo que permite la comunicacion entre procesos y maquinas.&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 0, 0);"&gt;Un socket permite usar llamadas del sistema operativo para hablar con otras maquina y/o procesos sobre la maquina que los ha llamado.&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 0, 0);"&gt;Algunas llamadas al sistema en *nix que funcionan con descriptores de ficheron incluyen a open(), read(), write(), close(). Un descriptor de fichero tipicamente refiere a un fichero o una entidad de tipo fichero; pueden ser, directorios, bloques, socket, FIFO's.&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 0, 0);"&gt;Python provee una interface de socket del sistema operativo, el modulo &lt;/span&gt;&lt;span style="font-style: italic; color: rgb(153, 0, 0);"&gt;socket&lt;/span&gt;&lt;span style="color: rgb(153, 0, 0);"&gt;, si es que se piensa diseñar el protocolo desde cero.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(153, 0, 0);"&gt;Creación de un socket&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 0, 0);"&gt;La creación de un socket es diferente de un cliente a un server.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(153, 0, 0);"&gt;     - Creación de un cliente&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 0, 0);"&gt;Primero, se tiene que crear el objeto socket, luego se le tiene que definir la familia del protocolo (como será transmitida la data), y el tipo desocket (protocolo usado para transmitir la data).&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 0, 0);"&gt;Familias de procolo:&lt;/span&gt;&lt;span style="font-style: italic; color: rgb(153, 0, 0);font-family:times new roman;" class="descclassname" &gt; socket.&lt;/span&gt;&lt;span style="font-style: italic; color: rgb(153, 0, 0);font-family:times new roman;" class="descname" &gt;AF_UNIX, &lt;/span&gt;&lt;span style="font-style: italic; color: rgb(153, 0, 0);font-family:times new roman;" class="descclassname" &gt;socket.&lt;/span&gt;&lt;span style="font-style: italic; color: rgb(153, 0, 0);font-family:times new roman;" class="descname" &gt;AF_INET&lt;/span&gt;&lt;span style="font-style: italic; color: rgb(153, 0, 0);"&gt;, &lt;/span&gt;&lt;span style="font-style: italic; color: rgb(153, 0, 0);font-family:times new roman;" class="descclassname" &gt;socket.&lt;/span&gt;&lt;span style="font-style: italic; color: rgb(153, 0, 0);font-family:times new roman;" class="descname" &gt;AF_INET6&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 0, 0);"&gt;Tipo de socket: &lt;/span&gt;&lt;span class="descclassname" style="font-style: italic; color: rgb(153, 0, 0);font-family:times new roman;" &gt;socket.&lt;/span&gt;&lt;span class="descname" style="font-style: italic; color: rgb(153, 0, 0);font-family:times new roman;" &gt;SOCK_STREAM, s&lt;/span&gt;&lt;span class="descclassname" style="font-style: italic; color: rgb(153, 0, 0);font-family:times new roman;" &gt;ocket.&lt;/span&gt;&lt;span class="descname" style="font-style: italic; color: rgb(153, 0, 0);font-family:times new roman;" &gt;SOCK_DGRAM, &lt;/span&gt;&lt;span style="text-decoration: underline; font-style: italic; color: rgb(153, 0, 0);font-family:times new roman;" &gt; &lt;/span&gt;&lt;span class="descclassname" style="font-style: italic; color: rgb(153, 0, 0);font-family:times new roman;" &gt;socket.&lt;/span&gt;&lt;span class="descname" style="font-style: italic; color: rgb(153, 0, 0);font-family:times new roman;" &gt;SOCK_RAW, &lt;/span&gt;&lt;span class="descclassname" style="font-style: italic; color: rgb(153, 0, 0);font-family:times new roman;" &gt;socket.&lt;/span&gt;&lt;span class="descname" style="font-style: italic; color: rgb(153, 0, 0);font-family:times new roman;" &gt;SOCK_RDM, &lt;/span&gt;&lt;span class="descclassname" style="font-style: italic; color: rgb(153, 0, 0);font-family:times new roman;" &gt;socket.&lt;/span&gt;&lt;span class="descname" style="font-style: italic; color: rgb(153, 0, 0);font-family:times new roman;" &gt;SOCK_SEQPACKET&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 0, 0);"&gt;Segundo, hay que conectar el objeto socket al servidor remoto. El método connect() envia una tupla conteniendo el host remoto | dirección IP y el puerto remoto.&lt;/span&gt;&lt;br /&gt;&lt;pre style="color: rgb(153, 0, 0);"&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;host = "www.example.com"&lt;br /&gt;port = 80&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;#Creacion del objeto socket&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)&lt;br /&gt;&lt;/span&gt;&lt;span style="font-style: italic;"&gt;#Conectandolo hacia un host remoto&lt;br /&gt;s.connect(host, port)&lt;/span&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(153, 0, 0);"&gt;- Creación de un server&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 0, 0);"&gt;La creación de un server es parecido al de un cliente. Primero se tiene que crear el objeto socket, luego añadir las opciones de socket &lt;/span&gt;&lt;a style="color: rgb(153, 0, 0);" href="http://www.nsc.ru/cgi-bin/www/unix_help/unix-man?setsockopt+2"&gt;setsockopt()&lt;/a&gt;&lt;span style="color: rgb(153, 0, 0);"&gt;; además, se tiene que asociar un puerto a una interface de red y ponerlo a escuchar por conexiones. Finalmente, se aceptan las conexion de los clientes usando socket.accept() en una iteración infinita hasta que el programa termine o levante una excepción. Los servers usan la misma interface socket que los clientes.&lt;/span&gt;&lt;br /&gt;&lt;pre style="color: rgb(153, 0, 0);"&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;host = ' '&lt;br /&gt;port =  9876&lt;br /&gt;#Creacion del objeto socket&lt;br /&gt;&lt;/span&gt;&lt;span style="font-style: italic;"&gt;s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)&lt;br /&gt;#Definir las opciones del socket&lt;br /&gt;s.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)&lt;br /&gt;#Asociarlo a un puerto + interface&lt;br /&gt;s.bind(host,  port)&lt;br /&gt;#Ponerlo a escuchar por conexiones&lt;br /&gt;&lt;/span&gt;s.listen(3)&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(153, 0, 0);"&gt;- Comunicando con sockets&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 0, 0);"&gt;Python provee 2 maneras para enviar data a través de la red:&lt;/span&gt;&lt;a style="color: rgb(153, 0, 0);" href="http://docs.python.org/library/socket.html"&gt; objetos de socket&lt;/a&gt;&lt;span style="color: rgb(153, 0, 0);"&gt;, y &lt;/span&gt;&lt;a style="color: rgb(153, 0, 0);" href="http://docs.python.org/library/stdtypes.html#bltin-file-objects"&gt;objetos tipo fichero&lt;/a&gt;&lt;span style="color: rgb(153, 0, 0);"&gt; usando socket.makefile().&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 0, 0);"&gt;Los objetos de socket se usan cuando hay una necesidad de controlar el tamaño, los tiempo de espera, u algun otro detalle de la data que esta siendo escrita o leida.&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 0, 0);"&gt;Los objetos de fichero son mejores si se trabaja con protocolos orientados a conexión ya que pueden manejar el análisis sintáctico de la data recibida que ha sido garantizada por el protocolo.&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 0, 0);"&gt;Errores en la transmisión pueden ocurrir por varios factores tales como, la desconexión de un servidor, error de direccionamiento, etc. Por ello python define 4 posibles excepciones:&lt;/span&gt;&lt;br /&gt;&lt;ul style="color: rgb(153, 0, 0);"&gt;&lt;li&gt;&lt;span style="font-style: italic;"&gt;socket.error&lt;/span&gt; para problemas generales de entrada/salida&lt;/li&gt;&lt;li&gt;&lt;span style="font-style: italic;"&gt;socket.gaierror&lt;/span&gt; para error de búsqueda de información de direccionamiento.&lt;/li&gt;&lt;li&gt;&lt;span style="font-style: italic;"&gt;socket.herror&lt;/span&gt; para errores de direccionamiento para funciones que usan h_errno en C.&lt;/li&gt;&lt;li&gt;&lt;span style="font-style: italic;"&gt;socket.timeout&lt;/span&gt; para manejar tiempo de espera después de haber llamado settimeout() sobre un socket.&lt;/li&gt;&lt;/ul&gt;&lt;span style="color: rgb(153, 0, 0);"&gt;Los errores con los objetos tipo ficheros en realidad hacen una llamada al socket del sistema, asi que se aplican los mismos errores que los objetos de socket. También se debe evitar el bloqueo mutuo entre el emisor y el receptor, por ello hay que asegurar envio/recibo de data con socket.shutdown() antes de recibir/enviar nueva data.&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 0, 0);"&gt;Sobre tiempos de espera para detectar y manejar errores es utilizando &lt;/span&gt;&lt;a style="color: rgb(153, 0, 0);" href="http://en.wikipedia.org/wiki/Timeout_%28computing%29"&gt;timeouts&lt;/a&gt;&lt;span style="color: rgb(153, 0, 0);"&gt;, con esto se puede conseguir que python detecte inactividad en el sistema cuando hay comunicación entre el cliente y el servidor. Para habilitar &lt;/span&gt;&lt;span style="font-style: italic; color: rgb(153, 0, 0);"&gt;timeouts&lt;span style="font-style: italic;"&gt;,&lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(153, 0, 0);"&gt;  llamamos a socket.settimeout() enviando el tiempo limite en segundos, luego si existe un problema de tiempo de espera se llamará socket.timeout como excepción.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 0, 0);"&gt;También se pueden realizar transmisiones de un solo sentido usando llamadas a socket.shutdown(), con esto logramos sockets de una sola via (&lt;/span&gt;&lt;span style="font-style: italic; color: rgb(153, 0, 0);"&gt;half open sockets&lt;/span&gt;&lt;span style="color: rgb(153, 0, 0);"&gt;).  Esto es útil si se requiere asegurar que toda la data escrita ha sido transmitida, o preveer &lt;/span&gt;&lt;a style="color: rgb(153, 0, 0);" href="http://es.wikipedia.org/wiki/Bloqueo_mutuo"&gt;&lt;span style="font-style: italic;"&gt;deadlocks&lt;/span&gt;&lt;/a&gt;&lt;span style="color: rgb(153, 0, 0);"&gt; en una comunicación. Al finalizar el llamado a shutdown y asegurar que toda la data ha sido transmitida en esa via, el socket no podrá ser usado nuevamente.&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 0, 0);"&gt;La llamada a socket.shutdown() requiere un argumento para indicar el modo de funcionamiento o modo de bloqueo.&lt;/span&gt;&lt;br /&gt;&lt;ul style="color: rgb(153, 0, 0);"&gt;&lt;li&gt;0 previene lecturas&lt;br /&gt;&lt;/li&gt;&lt;li&gt;1 previene  escrituras&lt;/li&gt;&lt;li&gt;2 previene lecturas y escrituras&lt;/li&gt;&lt;/ul&gt;&lt;span style="font-weight: bold; color: rgb(153, 0, 0);"&gt;CODIGO DE EJEMPLO:&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 0, 0);"&gt;El siguiente ejemplo lo he realizado orientado a conexión y sin conexión, en ambos el servidor recibe como parámetro un fichero del arbol *nix para ser listado y enviado al cliente; para ejecutar el fichero sera necesario 2 consolas abiertas o el servidor corriendo en 2do plano.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic; color: rgb(153, 0, 0);"&gt;#./[script] [fichero]  &lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic; color: rgb(153, 0, 0);"&gt;#./serverTCP.py&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic; color: rgb(153, 0, 0);"&gt;#./clienteTCP.py /etc/&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(153, 0, 0);"&gt;- Clientes con python&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic; color: rgb(153, 0, 0);"&gt;- Cliente TCP&lt;span style="color: rgb(153, 0, 0);font-family:monospace;" &gt;&lt;pre style="color: rgb(153, 0, 0);"&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;span style="font-family:monospace;"&gt;&lt;span style="color: rgb(153, 0, 0);"&gt;#!/usr/bin/python                                  &lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 0, 0);"&gt;#Cliente objeto socket                             &lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 0, 0);"&gt;import socket, sys                                 &lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 0, 0);"&gt;host = "127.0.0.1"                                 &lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 0, 0);"&gt;port = 10101                                       &lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 0, 0);"&gt;filename = sys.argv[1]                             &lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 0, 0);"&gt;#Creacion del objeto socket (IPv4, TCP)            &lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 0, 0);"&gt;try:&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 0, 0);"&gt;   s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 0, 0);"&gt;except socket.error, e:&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 0, 0);"&gt;   print "Error creando el socket: %s" %e&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 0, 0);"&gt;#Conectandolo hacia un host remoto&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 0, 0);"&gt;try:&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 0, 0);"&gt;   s.connect((host, port))&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 0, 0);"&gt;except socket.gaierror, e:&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 0, 0);"&gt;   print "Error conectando al servidor %s" %e&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 0, 0);"&gt;try:&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 0, 0);"&gt;   s.sendall(filename)&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 0, 0);"&gt;except socket.error, e:&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 0, 0);"&gt;   print "Error enviando datos: %s" %e&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 0, 0);"&gt;while 1:&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 0, 0);"&gt;   try:&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 0, 0);"&gt;           buf = s.recv(2048)&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 0, 0);"&gt;   except socket.error, e:&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 0, 0);"&gt;           print "Error reciviendo datos: %s" %e&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 0, 0);"&gt;   if not len(buf):&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 0, 0);"&gt;           break&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 0, 0);"&gt;   sys.stdout.write(buf)&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;&lt;span style="color: rgb(153, 0, 0);"&gt;- Cliente UDP&lt;/span&gt;&lt;pre&gt;&lt;span&gt;&lt;span&gt;&lt;span style="font-style: italic; color: rgb(0, 0, 0);"&gt;&lt;span style="font-family:monospace;"&gt;&lt;pre&gt;&lt;span style="color: rgb(153, 0, 0);"&gt;#!/usr/bin/python                                       &lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 0, 0);"&gt;import socket, sys                                      &lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 0, 0);"&gt;host="127.0.0.1"                                        &lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 0, 0);"&gt;port=10101                                              &lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 0, 0);"&gt;message=sys.argv[1]                                     &lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 0, 0);"&gt;try:                                                    &lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 0, 0);"&gt;   s=socket.socket(socket.AF_INET, socket.SOCK_DGRAM)&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 0, 0);"&gt;except socket.error, e:&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 0, 0);"&gt;   print "Error creando el socket: %s:" %e&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 0, 0);"&gt;try:&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 0, 0);"&gt;   s.sendto(message,(host,port))&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 0, 0);"&gt;except socket.error, e:&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 0, 0);"&gt;   print "Error enviando datos: %s" %e&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 0, 0);"&gt;s.settimeout(5)&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 0, 0);"&gt;while 1:&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 0, 0);"&gt;   try:&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 0, 0);"&gt;           message, address=s.recvfrom(2048)&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 0, 0);"&gt;   except socket.timeout:&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 0, 0);"&gt;           print "Cerrado por inactividad"&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 0, 0);"&gt;           sys.exit(1)&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 0, 0);"&gt;   except socket.error, e:&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 0, 0);"&gt;           print "Error recibiendo datos: %s" %e&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 0, 0);"&gt;   if not len(message):&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 0, 0);"&gt;           break&lt;/span&gt;&lt;br /&gt;  &lt;span style="color: rgb(153, 0, 0);"&gt;sys.stdout.write(message+"\n")&lt;/span&gt;&lt;/pre&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(153, 0, 0);"&gt;- Servers con python&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic; color: rgb(153, 0, 0);"&gt;- Server TCP&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-style: italic; color: rgb(153, 0, 0);"&gt;&lt;span style="font-family:monospace;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-style: italic; color: rgb(0, 0, 0);"&gt;&lt;span style="font-family:monospace;"&gt;&lt;pre style="color: rgb(153, 0, 0);"&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;span style="color: rgb(153, 0, 0);"&gt;#!/usr/bin/python                          &lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 0, 0);"&gt;import socket, pickle, os                  &lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 0, 0);"&gt;host = ""                                  &lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 0, 0);"&gt;port = 10101                               &lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 0, 0);"&gt;#Creacion del objeto socket(IPv4, TCP)     &lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 0, 0);"&gt;s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 0, 0);"&gt;#Definir las opciones del socket           &lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 0, 0);"&gt;s.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 0, 0);"&gt;#Asociarlo a un puerto + interface         &lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 0, 0);"&gt;s.bind((host, port))                       &lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 0, 0);"&gt;#Ponerlo a escuchar por conexiones         &lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 0, 0);"&gt;s.listen(3)                                &lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 0, 0);"&gt;print "Corriendo sobre puerto %d; Ctrl-C para interrumpir" % port&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 0, 0);"&gt;while 1:                                             &lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 0, 0);"&gt;try:                                         &lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 0, 0);"&gt;    csock, caddr = s.accept()            &lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 0, 0);"&gt;except KeyboadInterrupt:                     &lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 0, 0);"&gt;    raise                                &lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 0, 0);"&gt;except:                                      &lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 0, 0);"&gt;    traceback.print_exc()                &lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 0, 0);"&gt;    continue                             &lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 0, 0);"&gt;#Manejando la conexion                       &lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 0, 0);"&gt;try:                                         &lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 0, 0);"&gt;    print "Cliente conectado", csock.getpeername()&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 0, 0);"&gt;except KeyboadInterrupt:&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 0, 0);"&gt;    raise&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 0, 0);"&gt;except:&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 0, 0);"&gt;    traceback.print_exc()&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 0, 0);"&gt;while 1:&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 0, 0);"&gt;    try:&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 0, 0);"&gt;            data = csock.recv(2048)&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 0, 0);"&gt;            if not len(data):&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 0, 0);"&gt;                    break&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 0, 0);"&gt;            dir=os.listdir(data)&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 0, 0);"&gt;            for dir in dir:&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 0, 0);"&gt;                    csock.sendall(dir+"\n")&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 0, 0);"&gt;            csock.shutdown(1)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 0, 0);"&gt;    except KeyboadInterrupt:&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 0, 0);"&gt;            raise&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 0, 0);"&gt;    except:&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 0, 0);"&gt;            traceback.print_exc()&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 0, 0);"&gt;csock.close()&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 0, 0);"&gt;- Server UDP&lt;/span&gt;&lt;br /&gt;&lt;pre&gt;&lt;span style="color: rgb(153, 0, 0);"&gt;#!/usr/bin/python&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 0, 0);"&gt;#ServerUDP.py&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 0, 0);"&gt;import socket, os&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 0, 0);"&gt;host=""&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 0, 0);"&gt;port=10101&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 0, 0);"&gt;s=socket.socket(socket.AF_INET, socket.SOCK_DGRAM)&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 0, 0);"&gt;s.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 0, 0);"&gt;s.bind((host,port))&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 0, 0);"&gt;print "Corriendo sobre puerto %d; Ctrl-C para interrumpir" % port&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 0, 0);"&gt;while 1:&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 0, 0);"&gt; try:&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 0, 0);"&gt;         message, address = s.recvfrom(2048)&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 0, 0);"&gt;         print "Got data from", address&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 0, 0);"&gt;         dir=os.listdir(message)&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 0, 0);"&gt;         for listdir in dir:&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 0, 0);"&gt;                 s.sendto(listdir, address)&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 0, 0);"&gt; except KeyboardInterrupt:&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 0, 0);"&gt;         raise&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 0, 0);"&gt; except:&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 0, 0);"&gt;         traceback.print_exc()&lt;/span&gt;&lt;br /&gt;&lt;/pre&gt;&lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3727691620151235666-599718472637641485?l=bitclux.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bitclux.blogspot.com/feeds/599718472637641485/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3727691620151235666&amp;postID=599718472637641485' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3727691620151235666/posts/default/599718472637641485'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3727691620151235666/posts/default/599718472637641485'/><link rel='alternate' type='text/html' href='http://bitclux.blogspot.com/2010/01/sockets-con-python.html' title='sockets en python'/><author><name>Mike</name><uri>http://www.blogger.com/profile/05949782645720686226</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3727691620151235666.post-7547271413346457005</id><published>2009-12-21T20:13:00.000-08:00</published><updated>2010-08-19T09:41:07.460-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='resolución'/><category scheme='http://www.blogger.com/atom/ns#' term='año nuevo'/><category scheme='http://www.blogger.com/atom/ns#' term='2010'/><title type='text'>2010</title><content type='html'>El año pasado mencione que para estas fechas conseguiria el LPI, bueno no lo consegui.. es mas no me anime a dar el examen por un factor economico, sin embargo, lei y mantuve una practica constante con el linux como para tener un nivel intermedio.&lt;br /&gt;Este año me puse mas empeñoso asi que vamos por la lista:&lt;br /&gt;-Abrir un blog en we2py.&lt;br /&gt;-Comprar el dominio bitclux.net&lt;br /&gt;-Configurar un sevidor en fedora (ftp, correo, http, vpn, aplicaciones).. mas personal y de grupo, eso de estar abriendo la cuenta de rapidshare, etc me resulta desesperante.&lt;br /&gt;-Dominar &lt;strike&gt;python&lt;/strike&gt;, &lt;strike&gt;hw de pc's&lt;/strike&gt;, &lt;strike&gt;S.O.&lt;/strike&gt;, HTTP, &lt;strike&gt;TCP&lt;/strike&gt;.&lt;br /&gt;-&lt;strike&gt;Construir el closet de mi cuarto&lt;/strike&gt;&lt;br /&gt;-Sacar brevete&lt;br /&gt;-Mantener una rutina de ejercicios&lt;br /&gt;-y lo mas importante; &lt;strike&gt;volver&lt;/strike&gt;, &lt;strike&gt;aprobar&lt;/strike&gt; y rendir en la universidad&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3727691620151235666-7547271413346457005?l=bitclux.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bitclux.blogspot.com/feeds/7547271413346457005/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3727691620151235666&amp;postID=7547271413346457005' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3727691620151235666/posts/default/7547271413346457005'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3727691620151235666/posts/default/7547271413346457005'/><link rel='alternate' type='text/html' href='http://bitclux.blogspot.com/2009/12/2010.html' title='2010'/><author><name>Mike</name><uri>http://www.blogger.com/profile/05949782645720686226</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3727691620151235666.post-9209060218397659807</id><published>2009-10-24T04:46:00.000-07:00</published><updated>2010-02-05T09:20:03.040-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='comandos'/><category scheme='http://www.blogger.com/atom/ns#' term='vi'/><category scheme='http://www.blogger.com/atom/ns#' term='busqueda'/><title type='text'>Algunas de Vi: Busqueda</title><content type='html'>&lt;span style="font-size:100%;"&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-family:trebuchet ms;" &gt;                         Busqueda en vi&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;pre  style="font-family:trebuchet ms;"&gt;&lt;span style="font-size:100%;"&gt;&lt;br /&gt;Key Función&lt;br /&gt;fa             Busca el primer caracter a desde la derecha del cursor.&lt;br /&gt;&lt;br /&gt;Fa             Busca el primer caracter a desde la izquierda del cursor.&lt;br /&gt;&lt;br /&gt;;               Repite el último f,F comando.&lt;br /&gt;&lt;br /&gt;/string       Busca por el string hacia la derecha del cursor, se pueden usar regexp&lt;br /&gt;&lt;br /&gt;?string       Busca por el string hcia la izquierda del cursor, se pueden usar regexp&lt;br /&gt;&lt;br /&gt;n               Repite el último comando / o ?.&lt;br /&gt;set number Enumera todas las lineas.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;&lt;span style="font-size:100%;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3727691620151235666-9209060218397659807?l=bitclux.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bitclux.blogspot.com/feeds/9209060218397659807/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3727691620151235666&amp;postID=9209060218397659807' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3727691620151235666/posts/default/9209060218397659807'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3727691620151235666/posts/default/9209060218397659807'/><link rel='alternate' type='text/html' href='http://bitclux.blogspot.com/2009/10/algunas-de-vi-busqueda.html' title='Algunas de Vi: Busqueda'/><author><name>Mike</name><uri>http://www.blogger.com/profile/05949782645720686226</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3727691620151235666.post-8428041599595025106</id><published>2009-10-23T14:34:00.000-07:00</published><updated>2010-02-05T09:19:44.727-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='comandos'/><category scheme='http://www.blogger.com/atom/ns#' term='vi'/><category scheme='http://www.blogger.com/atom/ns#' term='pegar'/><category scheme='http://www.blogger.com/atom/ns#' term='copiar'/><title type='text'>Algunas de Vi: Copiar y Pegar</title><content type='html'>&lt;span style=";font-family:trebuchet ms;font-size:100%;"  &gt;&lt;span style="font-weight: bold;"&gt;Copiar y Pegar&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;pre  style="font-family:trebuchet ms;"&gt;&lt;span style="font-size:100%;"&gt;&lt;br /&gt;Key    Función&lt;br /&gt;yy or Y     Copia una linea al buffer.&lt;br /&gt;nyy or nY  Copia n lineas al buffer.&lt;br /&gt;yw           Copia una palabra al buffer.&lt;br /&gt;&lt;br /&gt;ynw or nyw Copia n palabras al buffer.&lt;br /&gt;y$         Copia el texto desde el cursor hasta el final de la linea.&lt;br /&gt;&lt;br /&gt;“ayy       Copia una lina al buffer llamado a.&lt;br /&gt;&lt;br /&gt;“Ayy       Agrega una linea al buffer llamado A.&lt;br /&gt;&lt;br /&gt;p            Pega texto a la derecha del cursor.&lt;br /&gt;&lt;br /&gt;P            Pega texto a la izquierda del cursor.&lt;br /&gt;&lt;br /&gt;np          Pega n copias de texto a la derecha del cursor.&lt;br /&gt;&lt;br /&gt;“ap        Pega el contenido del buffer a hacia la derecha del cursor.&lt;br /&gt;&lt;br /&gt;“c3P      Pega 3 copias de texto del buffer c hacia la izquierda del cursor.&lt;br /&gt;&lt;br /&gt;“add       Mueve la linea al buffer llamado a.&lt;br /&gt;&lt;br /&gt;“a5dd      Mueve 5 lineas al buffer llamado a.&lt;br /&gt;&lt;br /&gt;dw         Elimina una palabra y la pone en el buffer.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3727691620151235666-8428041599595025106?l=bitclux.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bitclux.blogspot.com/feeds/8428041599595025106/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3727691620151235666&amp;postID=8428041599595025106' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3727691620151235666/posts/default/8428041599595025106'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3727691620151235666/posts/default/8428041599595025106'/><link rel='alternate' type='text/html' href='http://bitclux.blogspot.com/2009/10/algunas-de-vi-4.html' title='Algunas de Vi: Copiar y Pegar'/><author><name>Mike</name><uri>http://www.blogger.com/profile/05949782645720686226</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3727691620151235666.post-1675305316930221222</id><published>2009-10-23T14:24:00.000-07:00</published><updated>2010-02-05T09:19:23.383-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='comandos'/><category scheme='http://www.blogger.com/atom/ns#' term='eliminar'/><category scheme='http://www.blogger.com/atom/ns#' term='vi'/><title type='text'>Algunas de Vi: Eliminar</title><content type='html'>&lt;span style=";font-family:trebuchet ms;font-size:100%;"  &gt;&lt;span style="font-weight: bold;"&gt;Eliminar con Vi&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;pre  style="font-family:trebuchet ms;"&gt;&lt;span style="font-size:100%;"&gt;&lt;br /&gt;Key Función&lt;br /&gt;x       Elimina el caracter donde está el cursor.&lt;br /&gt;&lt;br /&gt;X       Elimina el caracter antes del cursor.&lt;br /&gt;&lt;br /&gt;dw      Elimina una palabra.&lt;br /&gt;&lt;br /&gt;dd      Elimina una linea.&lt;br /&gt;&lt;br /&gt;D       Elimina todo el texto después del cursor hasta el final de la linea.&lt;br /&gt;&lt;br /&gt;dL      Elimina todo el texto después del cursor hasta el final de la pantalla.&lt;br /&gt;&lt;br /&gt;dG      Elimina todo el texto desde el cursor hasta el final del archivo.&lt;br /&gt;&lt;br /&gt;d^      Elimina todo el texto desde el inicio de la linea hasta el cursor.&lt;br /&gt;&lt;br /&gt;d1g     Elimina todo el texto desde el inicio del archivo hasta el cursor.&lt;br /&gt;&lt;br /&gt;dn$     Elimina todo el texto desde el cursor hasta la linea n especificada.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3727691620151235666-1675305316930221222?l=bitclux.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bitclux.blogspot.com/feeds/1675305316930221222/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3727691620151235666&amp;postID=1675305316930221222' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3727691620151235666/posts/default/1675305316930221222'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3727691620151235666/posts/default/1675305316930221222'/><link rel='alternate' type='text/html' href='http://bitclux.blogspot.com/2009/10/algunas-de-vi-3.html' title='Algunas de Vi: Eliminar'/><author><name>Mike</name><uri>http://www.blogger.com/profile/05949782645720686226</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3727691620151235666.post-211613937012141699</id><published>2009-10-23T08:20:00.000-07:00</published><updated>2011-10-13T16:24:57.469-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='texto'/><category scheme='http://www.blogger.com/atom/ns#' term='comandos'/><category scheme='http://www.blogger.com/atom/ns#' term='vi'/><category scheme='http://www.blogger.com/atom/ns#' term='añadir'/><title type='text'>Algunas de Vi: Añadir texto</title><content type='html'>&lt;div style="text-align: left;"&gt;&lt;span style="font-size: 100%; font-weight: bold;"&gt;              &lt;/span&gt;&lt;span style="font-weight: bold;"&gt;Comandos para añadir texto&lt;/span&gt;&lt;/div&gt;&lt;pre style="font-family: trebuchet ms;"&gt;&lt;span style="font-size: 100%;"&gt;key     Función&lt;br /&gt;&lt;i&gt;i       Inserta texto a la izquierda del cursor.&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;I       Inserta texto antes del primer caracter sin espacio.&lt;br /&gt;&lt;br /&gt;&lt;i&gt;a       Agrega texto a la derecha del cursor.&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;A       Agrega texto al final de la linea.&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;i&gt;o       Empieza una nueva linea debajo de la linea actual.&lt;br /&gt;&lt;br /&gt;O       Empieza una nueva linea encima de la linea actual.&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;cw      Cambia una palabra.&lt;/b&gt;&lt;br /&gt;cs      Cambiar una oración.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;c$ or C Cambia la linea actual&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;i&gt;r       Reemplaza un caracter.&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;R       Reemplaza texto hasta que la tecla ESC es presionada.&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;s       Substituye texto por el caracter actual.&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3727691620151235666-211613937012141699?l=bitclux.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bitclux.blogspot.com/feeds/211613937012141699/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3727691620151235666&amp;postID=211613937012141699' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3727691620151235666/posts/default/211613937012141699'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3727691620151235666/posts/default/211613937012141699'/><link rel='alternate' type='text/html' href='http://bitclux.blogspot.com/2009/10/algunas-de-vi-2.html' title='Algunas de Vi: Añadir texto'/><author><name>Mike</name><uri>http://www.blogger.com/profile/05949782645720686226</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3727691620151235666.post-886273836385550847</id><published>2009-10-23T07:39:00.000-07:00</published><updated>2011-10-13T16:28:52.578-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='comandos'/><category scheme='http://www.blogger.com/atom/ns#' term='vi'/><category scheme='http://www.blogger.com/atom/ns#' term='desplazamiento'/><title type='text'>Algunas de Vi: Desplazamiento</title><content type='html'>&lt;span style="font-family: verdana; font-size: 100%; font-weight: bold;"&gt;Comando de desplazamiento del cursor&lt;/span&gt; &lt;span style="font-family: trebuchet; font-size: 100%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;pre style="font-family: trebuchet ms;"&gt;&lt;span style="font-size: 100%;"&gt;&lt;br /&gt;Key     Función&lt;br /&gt;h      Mueve el cursor un caracter a la izquierda.&lt;br /&gt;j      Mueve el cursor una linea hacia abajo.&lt;br /&gt;k      Mueve el cursor una linea hacia arriba.&lt;br /&gt;l      Mueve el cursor un caracter a la derecha.&lt;br /&gt;Ctrl-G Muestra la linea actual.&lt;br /&gt;nG     Ir hacia la linea especificada por n.&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Ctrl-f Mueve hacia adelante una pantalla.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Ctrl-b Mueve hacia atrás una pantalla.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Ctrl-d Mueve hacia adelante media pantalla.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Ctrl-u Mueve hacia atrás media pantalla.&lt;/span&gt;&lt;br /&gt;w      Ir al principio de la siguiente palabra Moves to the start of the next word.&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;e      Ir al fin de la siguiente palabra.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;^      Ir a la primera palabra de la linea actual.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;$      Ir al fin de la linea actual.&lt;/span&gt;&lt;br /&gt;Enter  Ir a la siguiente linea.&lt;br /&gt;-      Ir al principio de la linea anterior.&lt;br /&gt;G      Ir al final del archivo.&lt;br /&gt;%      Ir hasta el parantesis correspondiente.&lt;br /&gt;H      Ir a la primera linea de la pantalla.&lt;br /&gt;M      Ir a la mitad de la pantalla.&lt;br /&gt;L      Ir al final de la pantalla.&lt;br /&gt;n|     Mover el cursos a la columna n.&lt;/span&gt;&lt;span style="font-size: 100%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3727691620151235666-886273836385550847?l=bitclux.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bitclux.blogspot.com/feeds/886273836385550847/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3727691620151235666&amp;postID=886273836385550847' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3727691620151235666/posts/default/886273836385550847'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3727691620151235666/posts/default/886273836385550847'/><link rel='alternate' type='text/html' href='http://bitclux.blogspot.com/2009/10/algunas-de-vi.html' title='Algunas de Vi: Desplazamiento'/><author><name>Mike</name><uri>http://www.blogger.com/profile/05949782645720686226</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3727691620151235666.post-3099142069103940877</id><published>2009-10-02T20:19:00.000-07:00</published><updated>2010-02-05T09:17:44.482-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='dns'/><category scheme='http://www.blogger.com/atom/ns#' term='gentoo'/><category scheme='http://www.blogger.com/atom/ns#' term='bind'/><title type='text'>DNS + Gentoo 1.0</title><content type='html'>&lt;span style="color: rgb(0, 0, 0);"&gt;A fin de mantener un buen seguimiento de las actividades que estoy realizando con la compu que me regalaron, esta es la documentación del DNS para fines locales y de pruebas.&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;Primero que nada vamos a dar las especificaciones del servidor:&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 153, 0);"&gt;Procesador Intel P4 de 2.8Ghz&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 153, 0);"&gt;Memoria 256 ram&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 153, 0);"&gt;Disco duro de 20gb &lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 153, 0);"&gt;2 interfaces de red&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;El software para implementar el DNS ha sido el omnipresente bind9, para instalarlo solo basta con hacerle un simple emerge. También se instaló el paquete bind-tools para tener las herramientas para depuración y busqueda de información de registros DNS (nslookup, host, dig).&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;#emerge bind bind-tools&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;Una vez que portage haya terminado con su trabajo, los archivos para configurar bind se encontrarán en &lt;span style="font-weight: bold;"&gt;/etc/bind/&lt;/span&gt; y &lt;span style="font-weight: bold;"&gt;/var/bind/&lt;/span&gt;.&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;Ahora es momento de definir el esquema de red. En mi caso consta de 2 portatiles + 1 PC(servidor) conectadas a un router inalámbrico.&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;Para esto usaremos:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 153, 0);"&gt;Dominio:        bitclux&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 153, 0);"&gt;lap1:          nuix        192.168.1.40&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 153, 0);"&gt;lap2:            hyp        192.168.1.30&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 153, 0);"&gt;servidor:        v00wix    192.168.1.254&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 153, 0);"&gt;router:        router    192.168.1.1&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 153, 0);"&gt;admin:        root&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 153, 0);"&gt;Red Local:            192.168.1.0&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;Configurando el archivo "&lt;span style="font-weight: bold;"&gt;/etc/named.conf&lt;/span&gt;"&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 153, 0);"&gt;#vi /etc/named.conf&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 153, 0);"&gt;options {&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 153, 0);"&gt;        directory "/var/bind";&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 153, 0);"&gt;        listen-on-v6 { none; };&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 153, 0);"&gt;        listen-on { 127.0.0.1; 192.168.1.254; };&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 153, 0);"&gt;        pid-file "/var/run/named/named.pid";&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 153, 0);"&gt;};&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 0, 0);"&gt;#Declaración option: define opciones de configuracion globales&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 0, 0);"&gt;#entre las opciones mas usadas tenemos:&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 0, 0);"&gt;#directory:          Reemplaza al directorio actual /var/named, por otro directorio que se indique.&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 0, 0);"&gt;#listen-on:          Para especificar la interfaz de red por la que named escuchara las solicitudes; por defecto, el servicio named escuchara por todas las interfaces.&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 0, 0);"&gt;#listen-on-v6:    Soporte para direcciones IPv6.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 153, 0);"&gt;zone "bitclux" {&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 153, 0);"&gt;        type master;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 153, 0);"&gt;        file "pri/bitclux.zone";&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 153, 0);"&gt;        allow-transfer { any; };&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 153, 0);"&gt;};&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 153, 0);"&gt;zone "." IN {&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 153, 0);"&gt;        type hint;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 153, 0);"&gt;        file "named.ca";&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 153, 0);"&gt;};&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 153, 0);"&gt;zone "localhost" {&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 153, 0);"&gt;        type master;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 153, 0);"&gt;        file "pri/localhost.zone";&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 153, 0);"&gt;        allow-transfer { none; };&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 153, 0);"&gt;        notify no;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 153, 0);"&gt;};&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 153, 0);"&gt;zone "127.in-addr.arpa" IN {&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 153, 0);"&gt;        type master;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 153, 0);"&gt;        file "pri/127.zone";&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 153, 0);"&gt;        allow-update { none; };&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 153, 0);"&gt;        notify no;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 153, 0);"&gt;};&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 0, 0);"&gt;#zona: porcion discreta del espacio de nombres de dominio&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 0, 0);"&gt;#existen opciones:&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 0, 0);"&gt;#allow-transfer:    indica a los servidores esclavos que estan autorizados a pedir transferencia zona.&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 0, 0);"&gt;#allow-update:    indica a los hosts que estan autorizados a actualizar dinamicamente la informacion de la zona.&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 0, 0);"&gt;#file:            nombre de archivo que contiene la información de la zona&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 0, 0);"&gt;#notify:              controla si se notifica a los servidores esclavos.&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 0, 0);"&gt;#type:        tipo de zona:&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 0, 0);"&gt;                           *hint: Para orientar hacia los servidores root para perticiones de nombres que no se conocen.&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 0, 0);"&gt;                           *master: Servidor con autorizacion de zona&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 204, 0);"&gt;                           &lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;Configuración de los registros de la zona "&lt;span style="font-weight: bold;"&gt;/var/bin/&lt;/span&gt;" &lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 153, 0);"&gt;#vi /var/bin/bitclux.zone&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 153, 0);"&gt;$TTL 2d&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 153, 0);"&gt;@        IN SOA ns.bitclux. root.bitclux. (&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 153, 0);"&gt;        20091001    //serial&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 153, 0);"&gt;        3h        //tiempo de refresco&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 153, 0);"&gt;        1h        //tiempo de reintentos&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 153, 0);"&gt;        1w        //tiempo de expiración&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 153, 0);"&gt;        1d )        //ttl minimo&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 153, 0);"&gt;bitclux.            IN NS    ns.bitclux.&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 153, 0);"&gt;ns.bitclux.            IN A        192.168.1.254&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 153, 0);"&gt;ns.bitclux.            IN A        192.168.1.253&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 153, 0);"&gt;router.bitclux.        IN A        192.168.1.1&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 153, 0);"&gt;nuix.bitclux.        IN A        192.168.1.40&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 153, 0);"&gt;hyp.bitclux.        IN A        192.168.1.30&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 153, 0);"&gt;v00wix.bitclux.        IN A        192.168.1.254&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 0, 0);"&gt;# $TTL:         Indica el tiempo en segundos que el servidor mantiene el registro en memoria.&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 0, 0);"&gt;# $ORIGIN:    Anexa el nombre de dominio a registros no cualificados, como aquellos con el nombre de host solamente&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 0, 0);"&gt;# SOA:        Ubicado detras de las directivas, es el primer registro de recursos, e indica la autorizacion de una zona al servidor DNS&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 0, 0);"&gt;#@:            Coloca la directiva $ORIGIN, como el espacio de nombres que esta siendo definida para el registro SOA&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;Finalmente agregamos el bind al runlevel por defecto, agregamos la direccion del servidor en /etc/resolv.conf e iniciamos el bind:&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 153, 0);"&gt;#rc-update add named default&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 153, 0);"&gt;#echo -e "nameserver 192.168.1.254" &gt;&gt; /etc/resolv.conf&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 153, 0);"&gt;#/etc/init.d/named start&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;=D&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3727691620151235666-3099142069103940877?l=bitclux.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bitclux.blogspot.com/feeds/3099142069103940877/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3727691620151235666&amp;postID=3099142069103940877' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3727691620151235666/posts/default/3099142069103940877'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3727691620151235666/posts/default/3099142069103940877'/><link rel='alternate' type='text/html' href='http://bitclux.blogspot.com/2009/10/dns-gentoo-10.html' title='DNS + Gentoo 1.0'/><author><name>Mike</name><uri>http://www.blogger.com/profile/05949782645720686226</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3727691620151235666.post-8860553673712976666</id><published>2009-07-20T11:45:00.000-07:00</published><updated>2010-02-05T09:21:10.009-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='comandos'/><category scheme='http://www.blogger.com/atom/ns#' term='tar'/><category scheme='http://www.blogger.com/atom/ns#' term='grub'/><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><title type='text'>Linux basicos</title><content type='html'>&lt;span style="color: rgb(0, 0, 0);"&gt;Estos son unos apuntes que he avanzado sobre Fedora, no son didacticos pero sirve como para ejercitar la memoria.&lt;br /&gt;&lt;br /&gt;grub usa contraseña&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;el instalador de linux en modo texto es el diskdrup&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;el swap es el doble de la memoria RAM&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;********************&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);"&gt;&lt;span style="color: rgb(153, 153, 0);"&gt;/bin ==&gt;&lt;/span&gt; &lt;span style="color: rgb(0, 0, 0);"&gt;contiene archivos de sistema&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);"&gt;&lt;span style="color: rgb(153, 153, 0);"&gt;/boot ==&gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;contiene el gestor de arranque y todos los archivos para la configuracion de arranque del sistema.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);"&gt;&lt;span style="color: rgb(153, 153, 0);"&gt;/dev ==&gt;&lt;/span&gt; &lt;span style="color: rgb(0, 0, 0);"&gt;Gestiona los dispositivos&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);"&gt;&lt;span style="color: rgb(153, 153, 0);"&gt;/etc ==&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;Archivos utilitarios del sistema y otros&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);"&gt;&lt;span style="color: rgb(153, 153, 0);"&gt;/home ==&gt;&lt;/span&gt; &lt;span style="color: rgb(0, 0, 0);"&gt;Carpeta personal de cada usuario creado en Linux&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);"&gt;&lt;span style="color: rgb(153, 153, 0);"&gt;/lib ==&gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;Archivos de libreria&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);"&gt;&lt;span style="color: rgb(153, 153, 0);"&gt;/media ==&gt;&lt;/span&gt; &lt;span style="color: rgb(0, 0, 0);"&gt;Dispositivos multimedia&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);"&gt;&lt;span style="color: rgb(153, 153, 0);"&gt;/mnt ==&gt;&lt;/span&gt; &lt;span style="color: rgb(0, 0, 0);"&gt;Carpeta donde se montan los volumenes externos.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);"&gt;&lt;span style="color: rgb(153, 153, 0);"&gt;**#fdisk -l //&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; lista las particiones&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);"&gt;&lt;span style="color: rgb(153, 153, 0);"&gt;/net ==&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;Drivers de red&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);"&gt;&lt;span style="color: rgb(153, 153, 0);"&gt;/opt ==&gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;Archivos utilitarios hechos para linux. (staroffice, reproductores de musica)&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);"&gt;&lt;span style="color: rgb(153, 153, 0);"&gt;/root ==&gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;Carpeta personal del administradir /root&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);"&gt;&lt;span style="color: rgb(153, 153, 0);"&gt;/sbin ==&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; Contiene archivos de sistema que solo pueden ser ejecutador por root&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);"&gt;&lt;span style="color: rgb(153, 153, 0);"&gt;/var ==&gt;&lt;/span&gt;&lt;span style="color: rgb(51, 204, 0);"&gt;&lt;span style="color: rgb(153, 153, 0);"&gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;Contiene archivos para servicios de red&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;Archivos de color verde son los ejecutables&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;Archivos celestes son archivos de enlace &lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;Archivos de color rojo/blanco es para advertir su uso.&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;Archivos de color gris son archivos de texto simple&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;Archivos de color naranja/amarillo &lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;Si se tiene 2 discos fisicos la nomenclatura es&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 153, 0);"&gt;dev /sda&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 153, 0);"&gt;dev /sdb&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;si se tiene mas de una particion en un mismo disco fisico&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 153, 0);"&gt;dev /sda1&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 153, 0);"&gt;dev /sda2&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 153, 0);"&gt;dev /sda3&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;Comandos Básicos&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;login /para iniciar sesion&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;logout /para terminar sesion                                                                       &lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;date /para ver la fecha del sistema &lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;clear /para limpiar pantalla&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;ls /listar archivos&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;who /usuario activo con su respectiva consola&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;whoami /identifica al usuario actualmente conectado&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;pwd /la ruta actual&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;cal /muestra calendario&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;cat /lee archivos&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&gt;   /crea, redirecciona un archivo&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&gt;&gt;  /agrega dentro de un archivo&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;man /manual sobre el comando&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 204, 0);"&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;Usar vi completo&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 0, 0);"&gt;http://club.telepolis.com/jagar1/Unix/Vi.htm&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 153, 0);"&gt;cat /etc/inittab&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 153, 0);"&gt;# Default runlevel. The runlevels used by RHS are:&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 153, 0);"&gt;#   0 - halt (Do NOT set initdefault to this)&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 153, 0);"&gt;#   1 - Single user mode&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 153, 0);"&gt;#   2 - Multiuser, without NFS (The same as 3, if you do not have networking)&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 153, 0);"&gt;#   3 - Full multiuser mode&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 153, 0);"&gt;#   4 - unused&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 153, 0);"&gt;#   5 - X11&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 153, 0);"&gt;#   6 - reboot (Do NOT set initdefault to this)&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 153, 0);"&gt;Para cambiar la forma de inicialización del sistema&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 153, 0);"&gt;editar la linea en /etc/inittab&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 153, 0);"&gt;id:x:initdefault:&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 153, 0);"&gt;donde x es el numero de "runlevel"&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;Creacion de usuario&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 153, 0);"&gt;#adduser [usuario] //creación de usuario&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 153, 0);"&gt;#passwd [usuario] //creación de la contraseña .. **cuidado con el usuario**&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 153, 0);"&gt;#[ingresar contraseña]&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;para borrar la contraseña de algún usuario, editar el archivo /etc/passwd&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;usuario:x:500:500::/home/usuario:/bin/bash&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;se elimina la letra "x", y la borra será eliminada para el usuario.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;Administración de Archivos&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 204, 0);"&gt;&lt;span style="color: rgb(153, 153, 0);"&gt;mkdir [carpeta 1] [carpeta 2] [carpeta 3]&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; Creación de carpetas&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 204, 0);"&gt;&lt;span style="color: rgb(153, 153, 0);"&gt;tree &gt;&lt;/span&gt; &lt;span style="color: rgb(0, 0, 0);"&gt;muestra el arbol de archivos desde donde se ejecuto&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 204, 0);"&gt;&lt;span style="color: rgb(153, 153, 0);"&gt;cp [origen1][orgien2] [destino]&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; copiar archivos&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 204, 0);"&gt;&lt;span style="color: rgb(153, 153, 0);"&gt;mv [origen1][orgien2] [destino]&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; mover y renombrar archivos&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 204, 0);"&gt;&lt;span style="color: rgb(153, 153, 0);"&gt;rm [archivo 1][archivo 2]&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; eliminar archivos&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;Permisos de Usuarios&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 153, 0);"&gt;d rwx rwx rwx&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 153, 0);"&gt;r= read         4&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 153, 0);"&gt;w= escribir     2&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 153, 0);"&gt;x= ejecutar     1&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 153, 0);"&gt;                7&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 204, 0);"&gt;&lt;span style="color: rgb(153, 153, 0);"&gt;1er grupo rwx &gt;&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; Usuario&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 204, 0);"&gt;&lt;span style="color: rgb(153, 153, 0);"&gt;2do grupo rwx &gt;&gt;&lt;/span&gt; &lt;span style="color: rgb(0, 0, 0);"&gt;Grupos&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 204, 0);"&gt;&lt;span style="color: rgb(204, 204, 204);"&gt;&lt;span style="color: rgb(153, 153, 0);"&gt;3er grupo rwx &gt;&gt;&lt;/span&gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;Otros (usuarios remotos, usuarios windows, etc)&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 204, 0);"&gt;&lt;span style="color: rgb(204, 204, 204);"&gt;&lt;span style="color: rgb(153, 153, 0);"&gt;umask &gt;&lt;/span&gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;mascara de usuario/permisos, se encuentra predeterminada en cada usuario.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;Para conseguir los permisos con umask para root&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 153, 0);"&gt;777 -&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 153, 0);"&gt;022&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 153, 0);"&gt;755&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 153, 0);"&gt;rwxr-xr-x&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;cambiar permisos en linux &lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 153, 0);"&gt;chmod u+-=rwx,g+-=rwx,o+-=rwx [directorio]&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 204, 0);"&gt;&lt;span style="color: rgb(153, 153, 0);"&gt;chmod 0 [directorio]&lt;/span&gt; &lt;span style="color: rgb(0, 0, 0);"&gt;/quita todos los permisos&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 204, 0);"&gt;&lt;span style="color: rgb(153, 153, 0);"&gt;chmod 777 [directorio]&lt;/span&gt; &lt;span style="color: rgb(0, 0, 0);"&gt;/provee todos los permisos&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;** chmod lee los permisos octales de derecha a izquierda como 000. &lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;ejemplos&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 153, 0);"&gt;mkdir /umodelo&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 153, 0);"&gt;chmod u-rwx umodelo&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 153, 0);"&gt;chmod u-rwx,g+rwx,o-rwx umodelo&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 153, 0);"&gt;chmod g-w umodelo&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 153, 0);"&gt;chmod o+rw umodelo&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;Recuperar contraseña&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;Si se pierde la contraseña del root, se puede recuperar por el grub&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;editar el sistema que se requiere recuperar&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;agregar al final en las opciones del kernel, el parametro "single"&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;bootear desde el kernel modificado&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;cambiar la contraseña en /etc/passwd&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;reiniciar y bootear normalmente&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;Si se pierde la contraseña del root, se puede recuperar por un disco de arranque&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;boot: linux rescue&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 153, 0);"&gt;chroot /mnt/sysimage&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 153, 0);"&gt;passwd root (opcional)&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 153, 0);"&gt;*Esto recupera toda la inicializacion del sistema&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 153, 0);"&gt;&lt;/span&gt;&lt;span style="color: rgb(51, 204, 0);"&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;Para configurar servicios básicos del sistema:&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 153, 0);"&gt;#setup&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;Habilitar servicios:&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;Los ejecutables de los servicios se encuentran en /etc/init.d/&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 153, 0);"&gt;#service [servicio] {start|stop|reload|restart|status}&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;tar&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;crear un paquete &lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 153, 0);"&gt;#tar -cvf [origen] [destino]&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;listar un paquete&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 153, 0);"&gt;#tar -tvf [origen] [destino]&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;extraer un paquete&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 153, 0);"&gt;#tar -xfv [origen] [destino]&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;gzip&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;comprimir&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 153, 0);"&gt;#gzip [archivo1] [archivo2] ...&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;descomprimir&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 153, 0);"&gt;#gzip -d [archivo1] [archivo2] ...&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;rpm&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;instalar&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 153, 0);"&gt;rpm -ivf [paquetes]&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3727691620151235666-8860553673712976666?l=bitclux.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bitclux.blogspot.com/feeds/8860553673712976666/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3727691620151235666&amp;postID=8860553673712976666' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3727691620151235666/posts/default/8860553673712976666'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3727691620151235666/posts/default/8860553673712976666'/><link rel='alternate' type='text/html' href='http://bitclux.blogspot.com/2009/07/linux-basicos.html' title='Linux basicos'/><author><name>Mike</name><uri>http://www.blogger.com/profile/05949782645720686226</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3727691620151235666.post-5648559620115088308</id><published>2009-04-22T07:19:00.000-07:00</published><updated>2010-09-30T10:24:44.260-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='comandos basicos'/><category scheme='http://www.blogger.com/atom/ns#' term='shell'/><title type='text'>USANDO LA SHELL</title><content type='html'>&lt;div style="text-align: justify; color: rgb(0, 153, 0);"&gt;&lt;span style="font-weight: bold; font-style: italic; color: rgb(204, 0, 0);font-size:85%;" &gt;Entendiendo la  SHELL&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 0, 0);font-size:85%;" &gt;El shell  permite al usuario insertar comandos y luego interpretarlos en instructiones para el SO linux. Exiten diferentes tipos de shells cada una para cada necesidad del usuario, entre las comunes tenemos sh, csh, ksh;por defecto se utiliza bash. Para cambiar de  shell:&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);font-size:85%;" &gt;$/bin/[shell]&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 0, 0);font-size:85%;" &gt;Para retornar a la shell anterior:&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);font-size:85%;" &gt;$exit&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);font-size:85%;" &gt;$ ctrl + D&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 0, 0);font-size:85%;" &gt;Cada shell tiene un archivo de conifguracion de recursos correspondidos (rc file) situado en /etc que contiene las configuracion globales de la shell.&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);font-size:85%;" &gt;$/etc/bash.bashrc&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);font-size:85%;" &gt;$/etc/csh.cshrc&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 0, 0);font-size:85%;" &gt;Tambien cada usuario tiene un archivo de configuracion de la shell situado en:&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);font-size:85%;" &gt;$~/.bashrc&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 0, 0);font-size:85%;" &gt;Para ver todas las shells  del sistema&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);font-size:85%;" &gt;#cat /etc/shells&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 0, 0);font-size:85%;" &gt;Con el comando chsh se puede cambiar la shell  por defecto del usuario. Las opciones que pueden ser usadas son:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 0, 0);font-size:85%;" &gt;option    Alternate        Function&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);font-size:85%;" &gt;-s        --shells        Specifies the default login shell for this user&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);font-size:85%;" &gt;-l        --list            Lists the shells specified in the /etc/shells file&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);font-size:85%;" &gt;-u        --help        Displays the options for the chsh command&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);font-size:85%;" &gt;-v        --version        Displays version information for the shell&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 0, 0);font-size:85%;" &gt;Para conseguir que csh sea el shell por defecto:&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);font-size:85%;" &gt;$chsh -s /bin/csh&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 0, 0);font-size:85%;" &gt;Despues de ejecutar se pedira la contraseña del usuario.&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 0, 0);font-size:85%;" &gt;*Root solo puede cambiar la shell de otro usuario.&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 0, 0);font-size:85%;" &gt;Se sugiere borrar los shells de /etc/shells que no se van a utilizar para que los usuarios solo puedan ejecutar los scripts en el shell predeterminado.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic; font-weight: bold; color: rgb(204, 0, 0);font-size:85%;" &gt;Usando la linea de comando&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 0, 0);font-size:85%;" &gt;La shell se presenta como una interfaz de linea de comando. En el shell prompt se escriben lineas de comandos que luego se interpretan por la shell y luego se envian al sistema. Usualmente los shell muestran el nombre de usuario, el nombre del equipo, y el directorio localizado.&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);font-size:85%;" &gt;v00w@laphome /home/v00w$&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 0, 0);font-size:85%;" &gt;Uno puede cambiar las opciones del prompt configurando el rc file de la shell, si se usa bash entonces habria que editar /etc/bashrc.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 0, 0);font-size:85%;" &gt;Los comandos escritos no son directamente interpretados por la shell para ello se necesita presionar la tecla enter. Esto ayuda para que los comandos sean editados antes de pasar sobre el sistema, los comandos siguen una sintaxis especifica.&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);font-size:85%;" &gt;$command [options] [arguments]&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 0, 0);font-size:85%;" &gt;Options son codigos con letras unicas que son precedidos por un guion (-), y modifican el efecto del comando. Se pueden usar multiples opciones en un mismo comando, y estos tambein pueden ser sensibles a minusculas y mayusculas.&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 0, 0);font-size:85%;" &gt;*La opcion -R es muy importarte ya que el comando corre de manera recursiva a traves de los subdirectorios del directorio analizado.&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);font-size:85%;" &gt;$ls -F&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);font-size:85%;" &gt;amsn_received/  Desktop/    Images/  Pictures/     Videos/&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);font-size:85%;" &gt;bin/            Documents/  Music/   public_html/&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 0, 0);font-size:85%;" &gt;*la opcion -F es para diferenciar los directorios de los archivos.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 0, 0);font-size:85%;" &gt;Se pueden escribir varios comandos usando punto y coma (;) donde el primer comando se ejecutara antes de proceder con el siguiente.&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);font-size:85%;" &gt;v00w@linux-fd8r:~&gt; ls -F ~/; ls -F ~/Documents/&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);font-size:85%;" &gt;amsn_received/  Desktop/    Images/  Pictures/     Videos/&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);font-size:85%;" &gt;bin/            Documents/  Music/   public_html/&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);font-size:85%;" &gt;bookmarks.html*   e-books/  Linux/               Networking/  Varios/&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);font-size:85%;" &gt;DIRECCIONES.txt*  fia/      LPI-study material/  Notes-Blog/&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 0, 0);font-size:85%;" &gt;Se puede seguir escribiendo comandos en mas de una linea si se usa backslash al final de un comando, este caracter especial permite que se ejecute un salto de linea ignorando la ejecucion del comando cuando se presiona la tecla enter. Esto es muy útil para comandos extensos.&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);font-size:85%;" &gt;$ls -F /etc \&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);font-size:85%;" &gt;ls -F \usr&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 0, 0);font-size:85%;" &gt;La shell tiene la opción de finalización de un comando (command completion), donde solo basta escribir las primeras letras del comando y luego presionar la tecla TAB, para que el sistema complete el comando.&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);font-size:85%;" &gt;$dm&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);font-size:85%;" &gt;Si se presiona TAB, el sistema completara:&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);font-size:85%;" &gt;$dmseg&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic; color: rgb(204, 0, 0);font-size:85%;" &gt;Readline Library&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 0, 0);font-size:85%;" &gt;El bash shell permite editar comandos escritos antes de ejecutarlos. El editor usado para editar estos comandos es Readline Library, este edito corre por defecto sobre emacs. Readline Library  permite facilmente arreglar errores en la secuencia de comando sin tener que volver a escriber la secuencia entera.&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 0, 0);font-size:85%;" &gt;La siguiente tabla muestra las combinaciones de tacla y las funciones de cada una de ellas:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic; color: rgb(204, 204, 204);font-size:85%;" &gt;Key Combination        Function&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);font-size:85%;" &gt;Ctrl-b                Move back one character&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);font-size:85%;" &gt;Ctrl -f                Move forward one character&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);font-size:85%;" &gt;Del                    Delete the character to the left of the cursor&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);font-size:85%;" &gt;Ctrl-d                Delete the character underneath the cursor&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);font-size:85%;" &gt;Ctrl-a                Move to the start of the line&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);font-size:85%;" &gt;Ctrl-e                Move to the end of the line&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);font-size:85%;" &gt;Esc-f                Move forward a word&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);font-size:85%;" &gt;Esc-b                Move backward a word&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);font-size:85%;" &gt;Ctrl-l                    Clear the screen, reprinting the current line at the top&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);font-size:85%;" &gt;Ctrl-k                Kill(delete the text from the current cursor position to the end of the line&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);font-size:85%;" &gt;Esc-d                Kill from the cursor to the end of the current word, or if between words, to the end of the next word&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);font-size:85%;" &gt;Esc-Del                Kill from the cursor the start of the previous word, or if between words, to the start of the previous word.&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);font-size:85%;" &gt;Ctrl-w                Kill from the cursor to the previous white space. This differs from Esc-del because the boundaries separating words differs.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 0, 0);font-size:85%;" &gt;La Sustitución de Comando(comand substitution) permite usar la salida de un comando como argumento de otro, es necesario usar el caracter "  ` ` "&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);font-size:85%;" &gt;$echo `pwd`&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);font-size:85%;" &gt;/home/v00w/&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 0, 0);font-size:85%;" &gt;Historial de comando contiene una lista de comandos emitidos por el command prompt. La cantidad de comando almacenados es especificado por la variable de entorno HISTSIZE en /etc/profile o  ~/.profile. El valor por defecto para esta variable es de 1000 entradas. El comando history muestra todas las entradas del archivo historial que es ~/.bash_history.&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);font-size:85%;" &gt;$echo $HISTSIZE&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);font-size:85%;" &gt;1000&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);font-size:85%;" &gt;$ls&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);font-size:85%;" &gt;$cd /etc&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);font-size:85%;" &gt;$history&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);font-size:85%;" &gt;1 $echo $HISTSIZE&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);font-size:85%;" &gt;2 ls&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);font-size:85%;" &gt;3 cd /etc&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);font-size:85%;" &gt;4 history&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);font-size:85%;" &gt;La variable HISTCMD es usada para proveer un número de indexación al siguiente comando que se correrá.&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);font-size:85%;" &gt;$echo $HISTCMD&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);font-size:85%;" &gt;6&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);font-size:85%;" &gt;$ls -F /bin&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);font-size:85%;" &gt;$history&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);font-size:85%;" &gt;1 $echo $HISTSIZE&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);font-size:85%;" &gt;2 ls&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);font-size:85%;" &gt;3 cd /etc&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);font-size:85%;" &gt;4 history&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);font-size:85%;" &gt;5 echo $HISTCMD&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);font-size:85%;" &gt;6 ls -F /bin&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);font-size:85%;" &gt;7 history&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);font-size:85%;" &gt;La variable HISTFILE contiene la locacion del comando history.&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);font-size:85%;" &gt;$echo $HISTFILE&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);font-size:85%;" &gt;/home/v00w/.bash_history&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);font-size:85%;" &gt;La variable HISTFILESIZE contiene el maximo numero de lineas contenidas en HISTFILE.&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);font-size:85%;" &gt;$echo $HISTFILESIZE&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);font-size:85%;" &gt;1000&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 0, 0);font-size:85%;" &gt;La utilidad fc provee otra opcion para editar comandos en el archivo history antes de correrlos.La utilidad fc abre el comando sobre un editor predeterminado, donde se puede editar un rango de  eventos del historial antes de correrlos en una sola vez.&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);font-size:85%;" &gt;$fc -l 2 6&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);font-size:85%;" &gt;2 ls&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);font-size:85%;" &gt;3 cd /etc&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);font-size:85%;" &gt;4 history&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);font-size:85%;" &gt;5 echo $HISTCMD&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);font-size:85%;" &gt;6 ls -F /bin&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic; font-weight: bold; color: rgb(204, 0, 0);font-size:85%;" &gt;Variables de Entorno y configuraciones&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 0, 0);font-size:85%;" &gt;Cualquier comando ejecutado es un proceso, los procesos pueden ser iniciados por los usuarios o por el mismo sistema operativo.Además, un proceso puede crear otro como parte de su ejecución.&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 0, 0);font-size:85%;" &gt;Cada proceso tiene asociado un entorno, una seria de variables que definen ciertos parámetros para el proceso. El entorno es expresado como una lista de variables y sus valores; ambos, el nombre de la variable y el valor son representados como strings que puede ser compuestos por la mayoria de caracteres.Cuando un proceso hijo es creado, hereda el entorno de su proceso padre; entonces, un proceso hijo puede modificar su entorno antes de pasarlo a su propio proceso hijo.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 0, 0);font-size:85%;" &gt;La variable PATH indica que directorios ve el sistema para ejecutar un comando, si es que ningun directorio no es especificado en el comando. Las variables pueden ser configuradas para el sistema usando el comando export.&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);font-size:85%;" &gt;#PATH=/home/v00w/scripts&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);font-size:85%;" &gt;#export PATH&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 0, 0);font-size:85%;" &gt;Para visualizar las configuracion de cualquier variable de entorno se usa el comando echo seguido de por el simbolo $ mas el nombre de la variable.&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);font-size:85%;" &gt;#echo $PATH&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);font-size:85%;" &gt;/home/v00w/bin:/usr/local/bin:/usr/bin:/home/v00w/scripts:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic; color: rgb(0, 0, 0);font-size:85%;" &gt;E&lt;span style="color: rgb(204, 0, 0);"&gt;ditando la variable de entorno&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 0, 0);font-size:85%;" &gt;Es bueno entender como se locacionan los comandos en el sistema. La variable PATH es usada por la shell para mirar donde pueden estar. Las locaciones comunes son /bin:/usr/bin:/usr/local/bin&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 0, 0);font-size:85%;" &gt;Entonces, cuando uno ejecuta un comando tal como ls, primero lo busca en /bin, sino /usr/bin, y asi sucesivamente buscando por todas las variables configuradas en PATH. Esto es bien util porque permite ejecutar comandos sin saber toda la ruta exacta del comando.&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 0, 0);font-size:85%;" &gt;Se puede cambiar el PATH de cualquier usuario iniciado sesion como root, editando /etc/profile y ajustando la linea PATH=.&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 0, 0);font-size:85%;" &gt;#vi /etc/profile&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 0, 0);font-size:85%;" &gt;Para cambiar la información de un usuario determinado, se debe modificar:&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);font-size:85%;" &gt;$vi  /home/v00w/.profile&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 0, 0);font-size:85%;" &gt;El proceso init y la variable PATH&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 0, 0);font-size:85%;" &gt;init es el proceso padre de todos los procesos del sistema. Otros procesos heredan las variables de entorno del proceso init, y el PATH es la ruta init  en el raro caso que ninguna ruta haya sido configurada.&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 0, 0);font-size:85%;" &gt;La ruta init esta arreglada en la fuente del programa init como se muestra a continuación:&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 0, 0);font-size:85%;" &gt;usr/local/sbin:/sbin:/bin:/usr/sbin:/usr/bin&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 0, 0);font-size:85%;" &gt;*Notar que la ruta init no contiene /usr/local/bin&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 0, 0);font-size:85%;" &gt;Todos los programas que son ejecutados desde /etc/inittab funcionan en el entorno init, especialmente scripts de inicialización en /etc/init.d. Algunos ejemplos son programas como FTP, Samba&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 0, 0);font-size:85%;" &gt;Prompt&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 0, 0);font-size:85%;" &gt;El shel prompt puede ser configurado para mostrar información diversa. Para ver como esta configurado el prompt el sistema usa la variable de entorno PS1.&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);font-size:85%;" &gt;v00w@linux-fd8r:~&gt; echo $PS1&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);font-size:85%;" &gt;$(ppwd \l)\u@\h:\w&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 0, 0);font-size:85%;" &gt;Donde v00w es el usuario, linux-fd8r es el nombre de la maquina y ~ es el pwd donde me encuentro.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 0, 0);font-size:85%;" &gt;Para personalizar el prompt uno puede editar /etc/bashrc como root e insertar casi cualquier texto dentro de las comillas.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic; color: rgb(204, 204, 204);font-size:85%;" &gt;Settings used to configure the Prompt&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic; color: rgb(204, 204, 204);font-size:85%;" &gt;Setting        Meaning&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);font-size:85%;" &gt;\u            User name of the current user&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);font-size:85%;" &gt;\h            The name of the computer running the shell(hostname)&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);font-size:85%;" &gt;\W            The base of the name of the current working directory&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);font-size:85%;" &gt;\w            The full name of the current working directory&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);font-size:85%;" &gt;\$            Displays "$" for normal users and "#"for the root&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);font-size:85%;" &gt;\!            History number of the current command&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);font-size:85%;" &gt;\#            Number of the current command&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);font-size:85%;" &gt;\d            Current date&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);font-size:85%;" &gt;\t            Current time&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);font-size:85%;" &gt;\s            Name of the shell&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);font-size:85%;" &gt;\n            New line&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);font-size:85%;" &gt;\\            Backslash&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);font-size:85%;" &gt;\[            Begins a sequence of nonprintable characters&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);font-size:85%;" &gt;\]            Ends a sequence of nonprintable characters&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);font-size:85%;" &gt;\nnn            The ASCII character corresponding to the octal number nnn&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);font-size:85%;" &gt;$(date)        Output from the date command(or any other command for the matter)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 0, 0);font-size:85%;" &gt;HOME&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 0, 0);font-size:85%;" &gt;La variable HOME es usada para representar el directorio personal del usuario. Este directorio es usualmente locacionado en /home/username. Asi que para el caso de mi computdora sera /home/v00w. Esta variable asi como todas las variables de entorno son uútiles con scripts. Todas las configuraciones del directorio personal para cada usuario estan contenidas en el archivo /etc/passwd.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 0, 0); font-style: italic;font-size:85%;" &gt;Administrando Procesos&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 0, 0);font-size:85%;" &gt;Cada vez que se ejecuta un comando en la shell, un proceso es creado. Cada proceso se le asigna un PID(process id number). Estos procesos se puede revisar con el comando ps, el cual realiza un reporte estatico de procesos que se estan ejecutando. El comando ps tiene varias opciones para poder mostrar las información de los procesos mas detallada.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic; color: rgb(204, 204, 204);font-size:85%;" &gt;Switches Used with ps&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic; color: rgb(204, 204, 204);font-size:85%;" &gt;Switch        Use&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);font-size:85%;" &gt;a            Displays processes for all users&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);font-size:85%;" &gt;txx            Displays processes within controlling terminal txx&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);font-size:85%;" &gt;u            Displays user information for the process&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);font-size:85%;" &gt;l            Displays in long format with detailed information&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);font-size:85%;" &gt;s            Displays information in signal format&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);font-size:85%;" &gt;m            Displays memory information&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);font-size:85%;" &gt;x            Displays processes without a controlling terminal&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);font-size:85%;" &gt;S            Displays CPU time and page faults of child processes&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 0, 0);font-size:85%;" &gt;Para ver todos los procesos corriendo sobre el sistema&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);font-size:85%;" &gt;v00w@linux-fd8r:~&gt; ps aux&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);font-size:85%;" &gt;USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);font-size:85%;" &gt;root         1      0.0      0.0   1064   408    ?          Ss   08:02   0:00 init [5]&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);font-size:85%;" &gt;root         2      0.0      0.0      0     0        ?          S&lt;&gt;top&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);font-size:85%;" &gt;Tasks: 141 total,   1 running, 140 sleeping,   0 stopped,   0 zombie&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);font-size:85%;" &gt;Cpu(s): 16.8%us,  3.9%sy,  2.1%ni, 74.5%id,  2.6%wa,  0.1%hi,  0.0%si,  0.0%st&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);font-size:85%;" &gt;Mem:   3665028k total,  1241216k used,  2423812k free,    65720k buffers&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);font-size:85%;" &gt;Swap:  2104444k total,        0k used,  2104444k free,   628272k cached&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);font-size:85%;" &gt; PID USER    PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND          &lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);font-size:85%;" &gt;4805 v00w    20   0  300m   15m  5924 S    8      0.4         3:29.52 yauap            &lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);font-size:85%;" &gt;2529 root      20   0  678m   55m  12m S    2      1.6      5:44.44 X                &lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);font-size:85%;" &gt;   1   root      20   0  1064    408    348  S    0      0.0       0:00.94 init             &lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);font-size:85%;" &gt;   2   root      15   -5     0      0       0     S    0      0.0          0:00.00 kthreadd         &lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);font-size:85%;" &gt;   3   root      RT  -5     0      0       0     S    0      0.0       0:00.00 migration/0      &lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);font-size:85%;" &gt;   4   root      15   -5     0      0       0     S    0      0.0       0:00.68 ksoftirqd/0      &lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);font-size:85%;" &gt;   5   root      RT   -5     0     0       0     S    0      0.0       0:00.00 migration/1      &lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);font-size:85%;" &gt;   6   root      15   -5     0      0       0     S    0      0.0       0:00.58 ksoftirqd/1&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 0, 0);font-size:85%;" &gt;Hay veces que los procesos se para o no responden como deberian y deben ser terminados. esto puede ser hecho usando el comando kill.&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);font-size:85%;" &gt;#kill -s [signal process]&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);font-size:85%;" &gt;Signal    Meaning&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);font-size:85%;" &gt;1        Hangup  &lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);font-size:85%;" &gt;2        Terminal Interrupt&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);font-size:85%;" &gt;3        Termina quit&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);font-size:85%;" &gt;6        Process abot&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);font-size:85%;" &gt;9        Kill(cannot be caught or ignored)&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);font-size:85%;" &gt;14        Alarm Clock&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);font-size:85%;" &gt;15        Termination&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);font-size:85%;" &gt;#kill -6 2952&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 0, 0);font-size:85%;" &gt;Una lista de todas las señales disponibles pueden ser vistas usando la opcion -l:&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);font-size:85%;" &gt;v00w@linux-fd8r:~&gt; kill -l&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);font-size:85%;" &gt;1) SIGHUP     2) SIGINT     3) SIGQUIT     4) SIGILL&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);font-size:85%;" &gt;5) SIGTRAP     6) SIGABRT     7) SIGBUS     8) SIGFPE&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);font-size:85%;" &gt;9) SIGKILL    10) SIGUSR1    11) SIGSEGV    12) SIGUSR2&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);font-size:85%;" &gt;13) SIGPIPE    14) SIGALRM    15) SIGTERM    16) SIGSTKFLT&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);font-size:85%;" &gt;17) SIGCHLD    18) SIGCONT    19) SIGSTOP    20) SIGTSTP&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);font-size:85%;" &gt;21) SIGTTIN    22) SIGTTOU    23) SIGURG    24) SIGXCPU&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);font-size:85%;" &gt;25) SIGXFSZ    26) SIGVTALRM    27) SIGPROF    28) SIGWINCH&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);font-size:85%;" &gt;29) SIGIO    30) SIGPWR    31) SIGSYS    34) SIGRTMIN&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);font-size:85%;" &gt;35) SIGRTMIN+1    36) SIGRTMIN+2    37) SIGRTMIN+3    38) SIGRTMIN+4&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);font-size:85%;" &gt;39) SIGRTMIN+5    40) SIGRTMIN+6    41) SIGRTMIN+7    42) SIGRTMIN+8&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);font-size:85%;" &gt;43) SIGRTMIN+9    44) SIGRTMIN+10    45) SIGRTMIN+11    46) SIGRTMIN+12&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);font-size:85%;" &gt;47) SIGRTMIN+13    48) SIGRTMIN+14    49) SIGRTMIN+15    50) SIGRTMAX-14&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);font-size:85%;" &gt;51) SIGRTMAX-13    52) SIGRTMAX-12    53) SIGRTMAX-11    54) SIGRTMAX-10&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);font-size:85%;" &gt;55) SIGRTMAX-9    56) SIGRTMAX-8    57) SIGRTMAX-7    58) SIGRTMAX-6&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);font-size:85%;" &gt;59) SIGRTMAX-5    60) SIGRTMAX-4    61) SIGRTMAX-3    62) SIGRTMAX-2&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);font-size:85%;" &gt;63) SIGRTMAX-1    64) SIGRTMAX  &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 0, 0);font-size:85%;" &gt;Los procesos pueden correr a diferentes niveles: foreground, background, zombies, stooped. Un proceso en foreground quiere decir que ningun otro proceso puede ser ejectuado si es que el proceso que esta corriendo no termina; al inverso de background, que menciona que varios procesos se pueden estar ejecutando mientras la shell esta libre para aceptar otros procesos.&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 0, 0);font-size:85%;" &gt;Para iniciar un proceso en background:&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);font-size:85%;" &gt;#firefox &amp;amp;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 0, 0);font-size:85%;" &gt;Si hay un proceso corriendo en foreground se puede parar usando la combinación de teclas ctrl+Z(^Z), una vez que el proceso ha sido parado se puede reiniciar con el comango bg [job number]. El job number puede ser descubierto con el comando jobs, este comando mostrara todos los procesos que estan actualmente corriendo en modo background o stopped.&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 0, 0);font-size:85%;" &gt;Tambin es posible llevar procesos del background al foreground, para esto usamos el comando fg [job number].&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);font-size:85%;" &gt;v00w@linux-fd8r:~&gt; firefox&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);font-size:85%;" &gt;*** nss-shared-helper: Shared database disabled (set NSS_USE_SHARED_DB to enable).&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);font-size:85%;" &gt;^Z&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);font-size:85%;" &gt;[1]+  Stopped                 firefox&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);font-size:85%;" &gt;v00w@linux-fd8r:~&gt; jobs&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);font-size:85%;" &gt;[1]+  Stopped                 firefox&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);font-size:85%;" &gt;v00w@linux-fd8r:~&gt; bg 1&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);font-size:85%;" &gt;[1]+ firefox &amp;amp;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);font-size:85%;" &gt;v00w@linux-fd8r:~&gt; jobs&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);font-size:85%;" &gt;[1]+  Running                 firefox &amp;amp;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);font-size:85%;" &gt;v00w@linux-fd8r:~&gt; fg 1&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);font-size:85%;" &gt;*** nss-shared-helper: Shared database disabled (set NSS_USE_SHARED_DB to enable).&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic; color: rgb(204, 0, 0);font-size:85%;" &gt;Modificando Prioridad con Procesos&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 0, 0);font-size:85%;" &gt;Cualquier proceso que se corra tiene asignado un nivel de prioridad en el sistema. La prioridad por defecto es 0(cero), las prioridades varian sobre la escala -20 a 19. Las prioridades mas altas son usadas para hacer que los procesos corrar mas despacio mientras que prioridades mas bajas hacer que corran mas rapido.&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 0, 0);font-size:85%;" &gt;Root solo puede asignar prioridades negativas, y pueden ser revisadas con el comando top.&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 0, 0);font-size:85%;" &gt;El nivel de prioridad puede ser asignado cuando un proceso is ejecutado usando el comando nice:&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);font-size:85%;" &gt;#nice [priority][command]&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);font-size:85%;" &gt;#nice 10 firefox&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 0, 0);font-size:85%;" &gt;Si se quiere cambiar el nivel de prioridad de un proceso que esta corriendo o asignar prioridades de proceso a un usario, usamos el comando renice&lt;/span&gt;&lt;span style="color: rgb(204, 0, 0);"&gt;:&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);font-size:85%;" &gt;-g                                Specifies the priority for processes executed by members of the specified group&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);font-size:85%;" &gt;-u, --user       Specifies the priority level for the processes executed by the specified user&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);font-size:85%;" &gt;-p, --pid          Specifies the priotity level for the specified process&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);font-size:85%;" &gt;-v, --version     Print version.&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);font-size:85%;" &gt;-h, --help               Print help.&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);font-size:85%;" &gt;v00w@linux-fd8r:~&gt;firefox &amp;amp;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);font-size:85%;" &gt;v00w@linux-fd8r:~&gt; ps -a |grep firefox&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);font-size:85%;" &gt;7789 pts/1    00:00:25 firefox&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);font-size:85%;" &gt;v00w@linux-fd8r:~&gt; renice 15 -p 7789&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);font-size:85%;" &gt;7789: old priority 10, new priority 15&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic; color: rgb(204, 0, 0);font-size:85%;" &gt;Resumen de capitulo&lt;/span&gt;&lt;span style="color: rgb(153, 0, 0);font-size:85%;" &gt;&lt;br /&gt;&lt;/span&gt;&lt;ol style="color: rgb(204, 204, 204);"&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;El shell usado por defecto sobre los sistemas Linux es el shell bash&lt;/span&gt;&lt;span style="font-size:85%;"&gt;Este shell puede ser cambiado por el usuario. Sin embargo, scripts especificos deben ser escritos para la shell donde se va a correr; por lo tanto, cambiar shells deberia hacerse con cuidado.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;El shell bash permite comandos usando punto y coma ";". Además, los comandos pueden realizarse en diferentes lineas usando backslah "\"&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;Los comandos se autocompletan pulsando la tecla TAB.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;El Readline Library permite editar comandos en la linea de comando usando el editor emacs.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;La substitución de comando(command sustitution) es usado para remplazar un comando con su salida.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;El historial de comando está almacenado en el archivo  ~/.bash_history. El número de entradas almacenadas esta configurado por la variable HISTSIZE. Este archivo permite ver y editar comandos previamente ingresados.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;El comando fc permite editar entradas en el historial con el editor por defecto. Múltiples entradas pueden ser editadas al mismo tiempo.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;Las variables de entorno y configuraciones en  los archivos /etc/profile y /etc/bash.bashrc configuran parámetros para el sistema entero. Si se desea configurar las variables para un usuario especifico, se editan los archivos ~/.profile y ~/.bashrc.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;La variable PATH contiene una lista de directorios para buscar comandos que son ingresados por la linea de comandos.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;La variable init path es usado por programas que se incian desde archivo /etc/initab.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;El shell prompt puede ser configurado para mostrar una variedad de información como el pwd, hostname, user name, etc.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;La variable HOME guarda el directorio personal del usuario. Esta variable es útil con scripts.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;El comando ps provee una muestra estática del estado de los procesos del sistema.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;El comando top provee información en tiempo real de los procesos.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;El comando kill es usado para finalizar procesos.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;Los procesos pueden ser ejecutado en background usando el simbolo &amp;amp; al final de la sentencia, o usando bg [jobnumber].&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;Los procesos en foreground pueden ser interrumpidos usando ^Z(CRTL+Z).&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;Los procesos pueden ser movidos al foreground usando el comando fg [jobnumber]&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;El comando nice es usado para configurar la prioridad del proceso cuando es iniciado.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;El comando renice es usado para cambiar la prioridad de un proceso que actualmente esta siendo ejecutado en el sistema.&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3727691620151235666-5648559620115088308?l=bitclux.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bitclux.blogspot.com/feeds/5648559620115088308/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3727691620151235666&amp;postID=5648559620115088308' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3727691620151235666/posts/default/5648559620115088308'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3727691620151235666/posts/default/5648559620115088308'/><link rel='alternate' type='text/html' href='http://bitclux.blogspot.com/2009/04/usando-la-shell.html' title='USANDO LA SHELL'/><author><name>Mike</name><uri>http://www.blogger.com/profile/05949782645720686226</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3727691620151235666.post-4016851689279704932</id><published>2009-03-17T12:43:00.000-07:00</published><updated>2010-02-05T09:15:55.262-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='routers died cancion'/><title type='text'>The Day The Routers Died...</title><content type='html'>excelente video&lt;br /&gt;&lt;br /&gt;&lt;object height="344" width="425"&gt;&lt;param name="movie" value="http://www.youtube.com/v/_y36fG2Oba0&amp;amp;hl=en&amp;amp;fs=1"&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;embed src="http://www.youtube.com/v/_y36fG2Oba0&amp;amp;hl=en&amp;amp;fs=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" height="344" width="425"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;&lt;span&gt;a long long time ago&lt;br /&gt;i can still remember&lt;br /&gt;when my laptop could connect elsewhere&lt;br /&gt;&lt;br /&gt;and i tell you all there was a day&lt;br /&gt;the network card i threw away&lt;br /&gt;had a purpose - and worked for you and me....&lt;br /&gt;&lt;br /&gt;But 18 years completely wasted&lt;br /&gt;with each address we've aggregated&lt;br /&gt;the tables overflowing&lt;br /&gt;the traffic just stopped flowing....&lt;br /&gt;&lt;br /&gt;And now we're bearing all the scars&lt;br /&gt;and all my traceroutes showing stars...&lt;br /&gt;the packets would travel faster in cars...&lt;br /&gt;the day....the routers died&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Chorus (ALL!!!!!)&lt;br /&gt;&lt;br /&gt;So bye bye, folks at RIPE 55&lt;br /&gt;Be persuaded to upgrade it or your network will die&lt;br /&gt;IPv6 just makes me let out a sigh&lt;br /&gt;But I spose we'd better give it a try&lt;br /&gt;I suppose we'd better give it a try&lt;br /&gt;&lt;br /&gt;Now did you write an RFC&lt;br /&gt;That dictated how we all should be&lt;br /&gt;Did we listen like we should that day&lt;br /&gt;&lt;br /&gt;Now were you back at RIPE fifty-four&lt;br /&gt;Where we heard the same things months before&lt;br /&gt;And the people knew they'd have to change their ways....&lt;br /&gt;&lt;br /&gt;And we - knew that all the ISPs&lt;br /&gt;Could be - future proof for centuries&lt;br /&gt;&lt;br /&gt;But that was then not now&lt;br /&gt;Spent too much time playing WoW&lt;br /&gt;&lt;br /&gt;ooh there was time we sat on IRC&lt;br /&gt;Making jokes on how this day would be&lt;br /&gt;Now there's no more use for TCP&lt;br /&gt;The day the routers died...&lt;br /&gt;&lt;br /&gt;Chorus (chime in now)&lt;br /&gt;&lt;br /&gt;So bye bye, folks at RIPE 55&lt;br /&gt;Be persuaded to upgrade it or your network will die&lt;br /&gt;IPv6 just makes me let out a sigh&lt;br /&gt;But I spose we'd better give it a try&lt;br /&gt;I suppose we'd better give it a try&lt;br /&gt;&lt;br /&gt;I remember those old days I mourn&lt;br /&gt;Sitting in my room, downloading porn&lt;br /&gt;Yeah that's how it used to be....&lt;br /&gt;&lt;br /&gt;When the packets flowed from A to B&lt;br /&gt;via routers that could talk IP&lt;br /&gt;There was data..that could be exchanged between you and me....&lt;br /&gt;&lt;br /&gt;Oh but - I could see you all ignore&lt;br /&gt;The fact - we'd fill up IPv4&lt;br /&gt;&lt;br /&gt;But we all lost the nerve&lt;br /&gt;And we got what we deserved!&lt;br /&gt;&lt;br /&gt;And while...we threw our network kit away&lt;br /&gt;And wished we'd heard the things they say&lt;br /&gt;Put all our lives in disarray&lt;br /&gt;&lt;br /&gt;The day...the routers died...&lt;br /&gt;&lt;br /&gt;Chorus (those silent will be shot)&lt;br /&gt;&lt;br /&gt;So bye bye, folks at RIPE 55&lt;br /&gt;Be persuaded to upgrade it or your network will die&lt;br /&gt;IPv6 just makes me let out a sigh&lt;br /&gt;But I spose we'd better give it a try&lt;br /&gt;I suppose we'd better give it a try&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Saw a man with whom I used to peer&lt;br /&gt;Asked him to rescue my career&lt;br /&gt;He just sighed and turned away..&lt;br /&gt;&lt;br /&gt;I went down to the net cafe&lt;br /&gt;that I used to visit everyday&lt;br /&gt;But the man there said I might as well just leave...&lt;br /&gt;&lt;br /&gt;And now we've all lost our purpose..&lt;br /&gt;my cisco shares completely worthless...&lt;br /&gt;&lt;br /&gt;No future meetings for me&lt;br /&gt;At the Hotel Krasnapolsky&lt;br /&gt;&lt;br /&gt;and the men that make us push and push&lt;br /&gt;Like Geoff Huston and Randy Bush&lt;br /&gt;Should've listened to what they told us....&lt;br /&gt;The day...the routers....died&lt;br /&gt;&lt;br /&gt;Chorus (time to lose your voice)&lt;br /&gt;&lt;br /&gt;So bye bye, folks at RIPE 55&lt;br /&gt;Be persuaded to upgrade it or your network will die&lt;br /&gt;IPv6 just makes me let out a sigh&lt;br /&gt;But I spose we'd better give it a try&lt;br /&gt;I suppose we'd better give it a try&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Words and performance by Gary Feldman&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3727691620151235666-4016851689279704932?l=bitclux.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bitclux.blogspot.com/feeds/4016851689279704932/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3727691620151235666&amp;postID=4016851689279704932' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3727691620151235666/posts/default/4016851689279704932'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3727691620151235666/posts/default/4016851689279704932'/><link rel='alternate' type='text/html' href='http://bitclux.blogspot.com/2009/03/day-routers-died.html' title='The Day The Routers Died...'/><author><name>Mike</name><uri>http://www.blogger.com/profile/05949782645720686226</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3727691620151235666.post-4572921272548550127</id><published>2008-12-30T08:17:00.000-08:00</published><updated>2010-02-05T09:15:06.324-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ccna'/><category scheme='http://www.blogger.com/atom/ns#' term='certificacion'/><category scheme='http://www.blogger.com/atom/ns#' term='experiencia'/><title type='text'>Año Nuevo, CCNA y proyecciones</title><content type='html'>Alegre porque logre sacar el ccna no será LA certificación pero ayuda a levantarse la moral, mas aún cuando estoy en posiciones complicadas. Después de soplarme 3 cursos en 7 meses, haber trafeado en los examenes del curso y no realizar un examen de habilidades; tengo la concha de decir que el examen 640-801NA, di la version 3.1, no estuvo dificil.. pero poniendole más énfasis al estudiar los testking se pasa tranquilo el curso. Si vas como freelance o por experiencia, espero que tengas la preparación suficiente porque tiene algunas preguntas rebuscadas. Puntos del examen:&lt;br /&gt;- Listas de acceso (7 preg)&lt;br /&gt;- Tecnologia (10 preg)&lt;br /&gt;- Troubleshotting (15 preg); especialmente RIP, OSPF, Frame-relay, VLAN's&lt;br /&gt;- Configuración e Implementación (17 preg); VLSM, subnetting y distancias administrativas&lt;br /&gt;Levantaré mi material de estudio para algún interesado, estos serán de la version exploration.&lt;br /&gt;&lt;br /&gt;Ahora a cazar el LPI, por lo menos LPI-102 para esta misma fecha del proximo año.&lt;br /&gt;Por ultimo, Feliz AÑo pasenla bien... Bytes.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3727691620151235666-4572921272548550127?l=bitclux.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bitclux.blogspot.com/feeds/4572921272548550127/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3727691620151235666&amp;postID=4572921272548550127' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3727691620151235666/posts/default/4572921272548550127'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3727691620151235666/posts/default/4572921272548550127'/><link rel='alternate' type='text/html' href='http://bitclux.blogspot.com/2008/12/ao-nuevo-ccna-y-proyecciones.html' title='Año Nuevo, CCNA y proyecciones'/><author><name>Mike</name><uri>http://www.blogger.com/profile/05949782645720686226</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3727691620151235666.post-8403069575996927312</id><published>2008-12-11T03:05:00.000-08:00</published><updated>2010-02-05T09:14:41.741-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='flash player'/><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='64 bits'/><title type='text'>Flash Player 10 64bits para linux</title><content type='html'>Bravo. Salio una version beta de flash player para 64 bits; ahora a esperar el lanzamiento de opensuse11.1 para probarlo e instalarlo, que ahora ando con un mandriva y me da pereza estar  instalado otra distro para probar el FP. Con esto se resuelve el lio de tener una 64bits/linux y ser un usuario de internet completamente normal, aunque siendo usuario de linux ya no lo eres tanto.&lt;br /&gt;&lt;br /&gt;http://labs.adobe.com/downloads/flashplayer10.html&lt;br /&gt;&lt;br /&gt;Remover cualquier otro plugin instalado anteriormente antes de realizar la instalacion&lt;br /&gt;Instalacion:&lt;br /&gt;wget http://download.macromedia.com/pub/labs/flashplayer10/libflashplayer-10.0.22.87.linux-x86_64.so.tar.gz&lt;br /&gt;tar -zxv libflashplayer-10.0.22.87.linux-x86_64.so.tar.gz&lt;br /&gt;mkdir ~/.mozilla/plugins&lt;br /&gt;mv libflashplayer-10.0.22.87.linux-x86_64.so ~/.mozilla/plugins&lt;br /&gt;Reiniciar firefox&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3727691620151235666-8403069575996927312?l=bitclux.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bitclux.blogspot.com/feeds/8403069575996927312/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3727691620151235666&amp;postID=8403069575996927312' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3727691620151235666/posts/default/8403069575996927312'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3727691620151235666/posts/default/8403069575996927312'/><link rel='alternate' type='text/html' href='http://bitclux.blogspot.com/2008/12/flash-player-10-64bits-para-linux.html' title='Flash Player 10 64bits para linux'/><author><name>Mike</name><uri>http://www.blogger.com/profile/05949782645720686226</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3727691620151235666.post-5886291881844332356</id><published>2008-03-31T11:47:00.000-07:00</published><updated>2010-02-05T09:14:02.921-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='rar'/><category scheme='http://www.blogger.com/atom/ns#' term='comprimir'/><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><title type='text'>rar</title><content type='html'>Tuve que ponerlo para no olvidarme.&lt;br /&gt;&lt;br /&gt;Comprimir archivos:&lt;br /&gt;#rar a -R ar_compr.rar ~/ejemplos1&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3727691620151235666-5886291881844332356?l=bitclux.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bitclux.blogspot.com/feeds/5886291881844332356/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3727691620151235666&amp;postID=5886291881844332356' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3727691620151235666/posts/default/5886291881844332356'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3727691620151235666/posts/default/5886291881844332356'/><link rel='alternate' type='text/html' href='http://bitclux.blogspot.com/2008/03/rar.html' title='rar'/><author><name>Mike</name><uri>http://www.blogger.com/profile/05949782645720686226</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3727691620151235666.post-2522944073497509011</id><published>2008-02-18T07:35:00.000-08:00</published><updated>2010-02-05T09:12:16.889-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='cisco'/><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='minicom'/><title type='text'>Minicom-Linux-Cisco</title><content type='html'>Retomando el blog, ahora estoy con OpenSuse 10.3 y me esta causando varios inconvenientes con mi lap gateway t-1616, entre ellos estan: la tarjeta wireless(&lt;span name="intelliTxt" id="intelliTxt"&gt;Realtek RTL8187B wireless 802.11g adapter&lt;/span&gt;) no la reconoce, al igual que mi aceleradora de video(&lt;span name="intelliTxt" id="intelliTxt"&gt;ATI X1270 graphics with up to 256MB of shared memory&lt;/span&gt;), la cam integrada de 1.3 mp. Aun estoy pensando si qdarme del todo utilizando SuSE o probar otra distro, esta ha sido con la que mejor he congeniado pero se me ha metido el bicho de probar el gentoo.&lt;br /&gt;&lt;br /&gt;Tambien, al fin logre conectarme a dispositivos activos de cisco por el minicom. Resulta que a la hora de llamar a la aplicacion, #minicom  salio un mensaje de no se encuentra el archivo o directorio /dev/modem; al revisar la configuracion del minicom, me di cuenta que viene por defecto el dispositivo serial apuntando a modem cuando deberia ser a unos de los puertos ttyS0, ttyS1, etc(puertos COM). De ahi a configurar los Bps, Par, Bits. 9600 baudios, 8 bits, paridad 0, sin control de flujo para los dispositivos Cisco. Finalmente salir y realizar #minicom&lt;br /&gt;revisar #minicom --help o #info minicom&lt;br /&gt;Lo bueno del programa es que puedes cargar scripts, hacer diferentes sesiones, permite copiar y pegar, etc.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3727691620151235666-2522944073497509011?l=bitclux.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bitclux.blogspot.com/feeds/2522944073497509011/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3727691620151235666&amp;postID=2522944073497509011' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3727691620151235666/posts/default/2522944073497509011'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3727691620151235666/posts/default/2522944073497509011'/><link rel='alternate' type='text/html' href='http://bitclux.blogspot.com/2008/02/minicom-linux-cisco.html' title='Minicom-Linux-Cisco'/><author><name>Mike</name><uri>http://www.blogger.com/profile/05949782645720686226</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3727691620151235666.post-7311118291761760360</id><published>2007-05-30T13:38:00.000-07:00</published><updated>2007-05-30T13:45:43.881-07:00</updated><title type='text'>como armar un proyecto</title><content type='html'>&lt;p style="text-align: justify;"&gt;Como estoy dentro del Proyecto de IPv6 y aun no llevo el curso de Proyectos, no va a ser dentro de poco tiempo ya estoy aprendiendo algo acerca de esta rama que es bastante interesante. Bueno dejo unas pautas de buenas practicas informales por parte de mi hermano que constantando en algunos libros tiene bastante acorde.&lt;br /&gt;&lt;/p&gt;&lt;p style="text-align: justify;"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style="text-align: justify;"&gt;De todas maneras lo mas importante es tener claro el &lt;u&gt;objetiv&lt;/u&gt;o, la &lt;u&gt;metodologia&lt;/u&gt;, y saber muy bien con que tipo de &lt;u&gt;referencias&lt;/u&gt; vas a contrastar los &lt;u&gt;resultados&lt;/u&gt; para elaborar la &lt;u&gt;conclusion&lt;/u&gt;.&lt;/p&gt;&lt;div style="text-align: justify;"&gt; &lt;/div&gt;&lt;p style="text-align: justify;"&gt;La preparacion del &lt;strong&gt;Plan de trabajo&lt;/strong&gt;, usualmente lo realiza &lt;u&gt;una sola persona&lt;/u&gt;, y en algunos casos como en las tesis, se necesita de un &lt;u&gt;Director con experiencia &lt;/u&gt;para que te ayude a llevar el tema.&lt;/p&gt;&lt;div style="text-align: justify;"&gt; &lt;/div&gt;&lt;p style="text-align: justify;"&gt;Una vez que tienes el plan de trabajo preparado, entonces defines &lt;strong&gt;Recursos&lt;/strong&gt;: &lt;u&gt;humanos&lt;/u&gt; (la cantidad de gente dependera de la magnitud del proyecto, por experiencia entre menos gente mejor), &lt;u&gt;materiales&lt;/u&gt; y &lt;u&gt;financieros;&lt;/u&gt; y ademas el &lt;strong&gt;Tiempo de ejecucion &lt;/strong&gt;del proyecto. &lt;/p&gt;&lt;div style="text-align: justify;"&gt; &lt;/div&gt;&lt;p style="text-align: justify;"&gt;Un buen consejo es que tu proyecto lo dividas en &lt;u&gt;etapas&lt;/u&gt; e &lt;u&gt;hitos&lt;/u&gt; desde el inicio. Por ejemplo, Etapa 1: preparacion del proyecto, Hito 1: Aprobacion del plan de trabajo. Etapa 2: Ejecucion de los trabajos experimentales, Hito 2: Resultados. Hito 3: Discusion de resultados con las referencias (i.e. bibliograficas), y conclusiones. Etapa 4: Preparacion del informe final, Hito 4: Presentacion del informe final.&lt;/p&gt;&lt;div style="text-align: justify;"&gt; &lt;/div&gt;&lt;p style="text-align: justify;"&gt; &lt;/p&gt;&lt;p&gt;Con estos antecedentes es facil elaborar el &lt;strong&gt;Cronograma&lt;/strong&gt;. Para ello, asignas a cada etapa &lt;strong&gt;Recursos&lt;/strong&gt; y &lt;strong&gt;Tiempo de ejecucion&lt;/strong&gt;. En teoria, los hitos no tienen asignados recursos y se les asigna un dia manera simbolica en el cronograma.&lt;/p&gt;&lt;p&gt;Un consejo: Las referencias bibliograficas las tienes que tener claras antes de iniciar el trabajo experimental. No cometas el error habitual de buscar referencias despues de haber obtenido los resultados. Un buen proyecto es 90% de lectura y 10% de ejecucion.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3727691620151235666-7311118291761760360?l=bitclux.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bitclux.blogspot.com/feeds/7311118291761760360/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3727691620151235666&amp;postID=7311118291761760360' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3727691620151235666/posts/default/7311118291761760360'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3727691620151235666/posts/default/7311118291761760360'/><link rel='alternate' type='text/html' href='http://bitclux.blogspot.com/2007/05/como-armar-un-proyecto.html' title='como armar un proyecto'/><author><name>Mike</name><uri>http://www.blogger.com/profile/05949782645720686226</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3727691620151235666.post-8988662548337560036</id><published>2007-05-19T16:37:00.000-07:00</published><updated>2007-05-19T16:39:30.981-07:00</updated><title type='text'>bienvenida</title><content type='html'>&lt;div style="text-align: center; font-family: verdana; color: rgb(0, 0, 0); font-weight: bold;"&gt;&lt;span style="font-size:180%;"&gt;HELLO WORLD&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3727691620151235666-8988662548337560036?l=bitclux.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bitclux.blogspot.com/feeds/8988662548337560036/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3727691620151235666&amp;postID=8988662548337560036' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3727691620151235666/posts/default/8988662548337560036'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3727691620151235666/posts/default/8988662548337560036'/><link rel='alternate' type='text/html' href='http://bitclux.blogspot.com/2007/05/bienvenida.html' title='bienvenida'/><author><name>Mike</name><uri>http://www.blogger.com/profile/05949782645720686226</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>
