31 agosto 2012

Lo mas importante de la comunicacion es escuchar lo que no se dice

"Empieza por el principio y sigue hasta llegar al final, allí te paras" (Alicia en el pais de las maravillas, Lewis Carroll)

30 agosto 2012

Manual de comandos en Freenode (irc.freenode.net)

Buenas, mas que de ayuda a otros que de casualidad vengan a parar al blog de este servilleta, creo que es una ayuda to my self porque no llego tan seguido por el irc de los linuxeros de .SV y alguno que otro comando se me olvida :P

El original de este artículo/manual lo pueden encontar en Ayuda-Internet con el nombre de "Manual de Freenode" publicado por [D]aRk.

Manual de Freenode.

En este tutorial conoceremos la red de irc Freenode, una red de ámbito internacional (con presencia hispana), basada principalmente en ofrecer canales de iRC con relación con el software libre; de hecho, muchas comunidades de software libre tienen su canal de contacto de iRC en Freenode.

Para conectar con Freenode, se puede hacer desde /server irc.freenode.net ó /server chat.freenode.net, al igual que por sus otros nodos.

Otras formas de acceder a Freenode son:

* irc.ghostscript.com
* irc.gnu.org
* irc.handhelds.org
* irc.linux.org
* irc.kde.org
* irc.redhat.com


Filosofía de Freenode:

La filosofía de esta red se basa en facilitar la creación o trabajo de comunidades virtuales mediante el uso del iRC, al igual que facilitar el acercamiento de los usuarios a la conversación a tiempo real con dueños de proyectos de software libre, colaboradores, etc; en resumen, facilitar la coordinación y comunicación.

En cambio, Freenode no se concibe como una red para conocer amistades o ligues.

Diferencias con respecto a otras redes de iRC:

Existen algunas diferencias con respecto a otras redes de iRC:

* Es necesario registrar e identificar el nick, para poder mandar un mensaje privado, salvo con aquellos usuarios que especifiquen que sí quieren hablar con usuarios que no tengan el nick registrado.
* No es posible en un primer momento ocultar la ip mediante el modo +x como en otras redes, sino que se necesita solicitarlo previamente a un Staffer de la red, algo que se explica más adelante en este tutorial.
* Existen algunos modos y comandos nuevos, que explicaremos más adelante en este tutorial.
* Al hacer un whois a un usuario, únicamente se muestran sus canales comunes, para evitar que las personas conozcan otros canales a través de los whoises, y no por otros medios. Esto puede desactivarse quitándose el modo de usuario +i, puesto por defecto al entrar en Freenode, de este modo, otros usuarios verán todos los canales de tu whois.
* La creación y registro de canales con temática que no tengan nada que ver con el software libre es posible. La creación de canales sobre una temática de la cual no es el canal oficial, han de llevar doble almohadilla ( ## ), por ejemplo ##Photoshop no es el canal oficial de Photoshop, mientras que #Photoshop sí lo sería.
* El staff de Freenode recomienda a los dueños de canales tener el modo de auto-op mediante ChanServ deshabilitado, si bien no ocurre ningún problema por habilitarlo.
* Freenode entiende que el Fundador del canal en el iRC no tiene porqué ser necesariamente el dueño del proyecto al que representa, debido a ello, realmente a quien funda el canal en el iRC no se le reconoce como un fundador, sino como una persona delegada de contacto, aunque, a todas luces, tenga los comandos y privilegios de fundador.
* Existe una férrea limitación al uso de colores en el iRC, para comodidad y beneficio de los que usan clientes alternativos al mIRC y que, al usar los colorines, distraen y molestan. Debido a ello, tanto nombres de usuario como mensajes en colorines, serán mostrados de forma filtrada en muchos canales, si bien no en todos.
* En muchos canales se usa la codificación UTF-8, la cual soporta el mIRC desde la versión 6.17 y el X-Chat entre otros clientes de iRC, mientras que determinados clientes verían algunos signos extraños, aunque se puede conversar perfectamente.


Registrar e identificar un nick en Freenode:

Para registrar nuestro nick, utilizaremos el bot NickServ.

Basta con teclear /msg NickServ register CONTRASEÑA para tener el nick registrado.

Identificarlo es también sencillo, pues basta con ponerse el nick y luego teclear /msg NickServ identify CONTRASEÑA.

Otras opciones pueden configurarse usando al bot NickServ, tales como la url, el email, recuperar un nick mediante un ghost, etc.

Registrar un canal en Freenode:

El proceso de registro de canales en Freenode es instantáneo, si bien su gestión es ligeramente diferente a las otras redes de iRC.

Para registrar un canal, basta con teclear /msg ChanServ register #Canal Contraseña

Los canales que no sean utilizados por algún registrado del mismo durante 120 días (casi 4 meses), serán eliminados.

* Otras opciones pueden configurarse en el canal, como éstas, por ejemplo:Mensaje de bienvenida -> /msg ChanServ Set #canal Entrymsg MENSAJE
* Cambiar de fundador (Contacto) -> /msg ChanServ Set #canal Contact NICK
* Cambiar de sucesor (Contacto alternativo) -> /msg ChanServ Set #canal Alternate NICK
* Desactivar el auto-op -> /msg ChanServ level #canal set autoop off
* Dar acceso en el canal -> /msg ChanServ access #canal add NICK NIVEL
Nota: Por lo general 50 es el nivel máximo, 45 da poder para otorgar registros, mientras que el nivel 30 equivale a tener derecho de en automática y 10, derecho a en manual. Todos los niveles (levels) pueden cambiarse con /msg Chanserv level #canal set atributo NIVEL.

Modos de canal y usuario:

Freenode admite una buena cantidad de nuevos modos de canal y usuario.

Modos de usuario de Freenode:

+C -> Bloquea los ctcps.
+I -> Bloquea los invites
+Q -> Evita el modo +f.
+e -> Es el modo que muestra que el nick está tanto registrado como identificado.

También existen los clásicos modos +i (invisible) y +w (wallops)

Modos de canal en Freenode:

+c -> Filtra los colores negritas subrayados etc.
+d -> Permite establecer un baneo en función del Realname del usuario.
+e -> Excepción de banes, puede establecerse que una determinada máscara no quede baneada por otra máscara en modo +b de ban.
+f -> Redirección a otro canal.
+g -> Permite invitar a usuarios al canal aún sin tener en .
+I -> En un canal en invite, permite establecer una máscara o patrón de usuarios que puedan entrar al canal, hayan sido invitados o no.
+q -> Permite silenciar al usuario, similar al modo +b.
+Q -> Para evitar el modo +f
+r -> Evita que entren nicks no registrados e identificados con el bot NickServ al canal.
+R -> Los nicks no registrados e identificados con el bot NickServ pueden entrar, pero no pueden hablar.

Existen además, los clásicos modos de +b +i +k +l +n +t etc comunes a otras redes.

Cómo requerir ayuda dentro de Freenode:

Lo primero de todo, es que el idioma oficial de ayuda de Freenode es el inglés, si bien en ocasiones se pueden utilizar terceros idiomas.

De forma oficial, se puede solicitar ayuda por privado a un Staffer, que vendría a ser un una especie de equivalencia al OPER de iRC-Hispano.
Para localizarlos, basta con teclear en status /stats p, y así aparecerán los nicks de los staffers activos, a los cuales se les puede abrir un privado ( en inglés ) para solicitar ayuda.

De forma no oficial, se puede conectar al canal de ayuda de voluntarios de freenode, hablando también en inglés. Este canal es #Freenode-social.

Cómo ocultar la ip (Cómo conseguir un Cloak en Freenode):

Éste es el equivalente al modo +x de otras redes pero en Freenode.

Para conseguir esto, debemos primero de seguir los siguientes pasos antes de hablar con un staffer de la red:

* Registrar nuestro nick (Nick primario).
* Especificar un email asociado a nuestro nick con el comando /msg nickserv set email DIRECCIONEMAIL
* Opcionalmente: Ocultar nuestra dirección de email al público, con el comando /msg nickserv set hide email on
* Registrar un nick secundario o alternativo.
* Asociar este nick secundario al nick primario con el comando /msg nickserv link NICKPRIMARIO CONTRASEÑA


Una vez hechos esos pasos, le abriremos un privado a un staffer (localizados mediante /stats p) y le solicitaremos un cloak. Es posible que nos den una respuesta automática y que tengamos que pastearle el resultado de un /msg Nickserv info TUNICK en su privado.

Una vez hecho esto, es posible que lo pongan en la cola a procesar, esto no debería de de durar más de 10 minutos generalmente.

De ahora en adelante, al identificar nuestro nick, saldrá algo parecido a unaffiliated/dark/x-000001 como host virtual.


Tomado de: http://svtuxracer.blogspot.com.ar/2009/02/manual-de-comandos-en-freenode.html

29 agosto 2012

La copa de Pitágoras

La “copa de Pitágoras” es un recipiente que posee un mecanismo que impide que la llenes más de lo debido. Lejos de poseer un sofisticado sistema de sensores dedicados a controlar el nivel del líquido, se basa en algo tan sencillo como el principio de vasos comunicantes, conocido desde hace milenios. La leyenda cuenta que esta copa fue ideada hace unos 2500 años por el matemático y filósofo griego Pitágoras de Samos, y aún hoy sigue sorprendiendo a los que la ven funcionar.
Algunos mecanismos antiguos resultan sorprendentes por la habilidad con la que fueron construidos. La denominada “copa de Pitágoras”, que algunos autores llaman "vaso de Tántalo" y otros aseguran fue inventada por Arquímedes, es uno de ellos. Se trata de una copa de vino muy especial, que se vacía sola cuando el nivel del líquido que contiene supera una cierta cota. La leyenda dice que Pitágoras de Samos (el matemático y filósofo griego más conocido por su famoso teorema que relaciona las medidas de la hipotenusa y los catetos de un triángulo rectángulo), durante las obras de abastecimiento de aguas de Samos, hace unos 2500 años, restringió la cantidad de alcohol que podían beber los trabajadores inventando lo que el llamaba “la copa justa”. Este recipiente se vaciaba por completo cuando el vino sobrepasaba una marca, castigando la codicia del bebedor. No existe un acuerdo general que determine la veracidad de esta historia, pero aún así se sabe que este invento es muy antiguo y funciona perfectamente. Pero, ¿cómo lo hace?
 
En realidad, el principio de funcionamiento hoy puede ser comprendido por cualquiera y no es otra cosa que una aplicación práctica de un principio básico de la hidrostática. Desde el punto de vista constructivo, la copa de Pitágoras consiste en un vaso en cuyo interior se encuentra una columna que posee un tubo interno. Éste tubo posee un orificio dentro del vaso, cerca del fondo, que sube por el interior de la columna hasta la parte superior, y vuelve a bajar hasta salir por la parte baja de la misma. El segundo orificio de este tubo se encuentra en el exterior de la copa y es por donde se va a escurrir el contenido de la misma cuando el nivel del líquido lo permita. Al añadir agua al vaso, ésta permanece en su interior hasta que se supera el nivel en el que el tubo interno de la columna central gira 180 grados, momento en que la copa se vacía por completo. Esto ocurre porque al llenarse la copa, también se llena el tubo, desplazando el aire que se alojaba en su interior. En el momento en que el agua del tubo empieza a caer, todo el líquido que hay en el vaso le sigue, dejándolo vacío.
Esta copa se basa en el “principio del sifón” - Copa de Pitágoras 
Esta copa se basa en el “principio del sifón”
El principio fundamental en el que está basado el vaso es el que vulgarmente conocemos como “principio del sifón”, el mismo que utilizamos en casi todos los desagües de nuestras casas. Consiste en un tubo en forma de U invertida por el cual el líquido puede subir hasta una cierta altura para luego bajar otra mayor. El sistema funciona gracias a la gravedad, fuerza que es la responsable de hacer caer el líquido y también a la presión atmosférica,  que empuja sobre la superficie libre del líquido y -gracias al Principio de Pascal- “se transmite con igual intensidad en todas las direcciones y en todos los puntos del fluido”. Hoy se ha convertido en un simple pero curioso recipiente que se vende en casas de artículos de chascos o como recuerdo para los turistas que visitan Samos. Pero es interesante saber que detrás de su desarrollo posiblemente se haya encontrado nada más ni nada menos que Pitágoras. ¿No te parece?
Tomado de: http://www.neoteo.com/la-copa-de-pitagoras

27 agosto 2012

¿Sabes por qué los gatos caen siempre de pie?

Sabemos que los gatos tienen la asombrosa capacidad de caer siempre sobre sus patas, incluso cuando inicialmente caen con la espalda hacia el suelo. Esto es gracias a su asombrosa agilidad, ya que son capaces de girar 180º alrededor de su eje horizontal, incluso si no se les ha comunicado un movimiento de rotación cuando comienzan a caer. Ahora nos planteamos una cuestión. ¿No está esta habilidad de giro felina en contradicción de la ley de conservación del momento angular? Es decir, si despreciamos el rozamiento del aire, inicialmente, el gato cae de espaldas con una velocidad angular inicial cero. Pero para efectuar un giro de 180 grados sobre su propio eje, debe existir un cierto momento angular. Con lo cual, ¡esta cantidad no se conservaría!

Recordemos un poco esta ley. Podríamos definirla como: Si el momento del par externo resultante que actúa sobre un sistema es cero, el momento total del sistema es constante.

Sabemos que el momento angular de una partícula que se mueve en una circunferencia de radio r con velocidad angular w es:

L = mrv = Iw

donde I es el momento de inercia de la partícula respecto a un eje perpendicular al plano del movimiento que pasa por el centro del círculo. Esta ecuación es válida para los objetos que giran alrededor de un eje fijo y para los objetos que giran alrededor de un eje que se mueve de tal modo que permanece paralelo a sí mismo, tal y como lo hace el eje del gato cuando éste cae hacia el suelo.

Regresemos con nuestro amigo felino. Todos conocemos la maravillosa agilidad de los gatos. Supongamos que al caer, el gato estira primero sus patas traseras, y encoge las patas delanteras y la cabeza, torciendo su espalda. El momento angular total del gato debe ser igual al cero, como al principio. Pero como la masa de sus patas traseras se encuentra lejos del eje de rotación, una pequeña velocidad angular de la parte trasera de su cuerpo provocará el mismo momento angular que una velocidad angular grande de su parte delantera, debido a lo cerca que se encuentran sus patas del eje de rotación. Estas dos rotaciones se compensarán ya que son de diferentes sentidos, y por lo tanto darán lugar a un momento angular total igual a cero. La parte delantera del gato se volteará hacia un lado mucho más que la parte trasera en sentido opuesto.

A continuación el gato estira sus patas delanteras, encoge las patas traseras y se tuerce en sentido opuesto. Ahora las patas delanteras tendrán una velocidad angular mayor que las delanteras, lo que se debe a que las patas traseras están más cerca del eje de rotación que las patas delanteras. Por lo tanto, durante este segundo giro, la parte delantera del gato se voltea mucho menos que la trasera. Cuando al final de este torcimiento el gato extiende las patas traseras y recoge las delanteras, el animal se encuentra en la misma posición que cuando comenzó a moverse, sólo que todo su cuerpo ha girado un ángulo apreciable.

Repitiendo estos movimientos rápidamente en varias sucesiones, el gato se orienta a sí mismo correctamente y aterriza sobre sus patas. Así pues, el gato elude la ley de conservación del momento angular.

En la imagen inferior se muestra cómo nuestro amigo felino va girando y modificando su ángulo de giro mientras cae, demostrando la asombrosa capacidad de los seres vivos a caer sin violar la ley de conservación del momento angular.

Tomado de: http://www.laflecha.net/canales/ciencia/sabes-por-que-los-gatos-caen-siempre-de-pie/

25 agosto 2012

Creer o reventar...

Dile a la gente que hay un hombre invisible en el cielo que creó el universo y la vasta mayoria te creerá. Diles que la pintura está fresca y tendrán que tocarla para estar seguros.
George Carlin

23 agosto 2012

El Sistema Solar expulsó en algún momento a un quinto planeta gigante

De acuerdo con el estudio reciente de un astrónomo texano, el Sistema Solar contó alguna vez con 5 planetas gigantes, uno de los cuales terminó expulsado por el bien del resto.
David Nesvorny, astrónomo del Southwest Research Institute en Texas, asegura que el sistema solar contó alguna vez con cinco planetas mayores compuestos en su mayoría de gas en vez de los cuatro que ahora subsisten (Júpiter, Saturno, Urano y Neptuno).
Nesvorny llegó a esta conclusión luego de estudiar el Cinturón de Kupier (un anillo de escombros planetarios sumamente denso que se encuentra más allá de Neptuno) y los posibles orígenes de los cráteres lunares, esperando encontrar pistas sobre las etapas de formación de nuestro entorno cósmico más inmediato.
En su investigación encontró que hace aproximadamente 600 millones de años tuvo lugar una inestabilidad dinámica en el desarrollo del sistema solar, afectado notablemente la órbita de los 4 planetas mayores y dispersando los cuerpos más pequeños, algunos hacia el Cinturón de Kupier y otros en dirección opuesta, impactándose con la Luna y otros planetas.
Sin embargo, al momento de simular este escenario en una computadora, Nesvorny advirtió que, con el número de planetas actual, la órbita de Júpiter hubiera influenciado en las de los llamados planetas terrestres, provocando que la Tierra colisionara con Marte y con Venus. Ajustando las variables, Nesvorny probó acelerando la órbita de Júpiter, pero con esto el modelo terminaba sacando a Urano y Neptuno del sistema solar.
La solución fue introducir agregar uno a los 4 planetas gigantes, con masa similar a la de Urano y Neptuno. Con esto la simulación funcionó: Júpiter conservó su lugar y los demás no sufrieron ninguna afectación.
“La posibilidad de que el sistema solar tuviera inicialmente más de 4 planetas gigantes y expulsara alguno parece concebible en vista del reciente descubrimiento de un gran número de planetas flotando libremente en el espacio interestelar, sugiriendo que el proceso de expulsión de planetas pudiera ser de una ocurrencia común”, concluyó Nesvorny.

Tomado de: http://pijamasurf.com/2011/11/el-sistema-solar-expulso-en-algun-momento-a-un-quinto-planeta-gigante/

22 agosto 2012

Cómo buscar, archivar y recuperar tweets antiguos

Twitter puede ser un muy buen sistema de alertas pero no es un archivo. Todo lo que se dice en Twitter fluye, y esto es más que nunca cierto en sus búsquedas. ¿Alguna vez intentaron buscar un tweet de hace un tiempo en su buscador? Misión imposible, o por lo menos, complicada. Los resultados de las búsquedas de Twitter no están realmente limitados por fechas, sino por cantidad de resultados. Así la búsqueda nos arrojará los últimos 1500 tweets con el término buscado, pero no más.
Sin embargo, hay algunas formas de buscar y también archivar tweets para poder acceder a ellos aunque haya pasado tiempo.

Buscar y recuperar tweets

  • Snap bird: Un buscador que busca más allá de 10 días, o entre los tweets de las personas a las que sigues, entre tus mensajes directos y/o entre los tweets favoriteados de algún usuario. Muy recomendado.
  • Topsy: Su búsqueda avanzada te permite buscar entre tus tweets e incluso suscribirte a los resultados via RSS.
  • TwimeMachine: Una herramienta muy simple para buscar entre tus tweets más antiguos. No funciona con cuentas con candado.

Archivar tweets

Feed RSS: Una de las primeras formas que hubo de archivar y consultar tweets fue mediante el feed RSS de cada autor. Dave Winner publicó RSS Cloud, una herramienta que sirve para tomar la lista de seguidos de cuaquier usuario y guardarla como un archivo OPML que luego puedes agregar en tu lector de feeds.
Antes Twitter ponía el enlace al feed RSS en la página de cada usuario, eso ya no está pero es posible agregar el feed usando esto: http://api.twitter.com/1/statuses/user_timeline.rss?screen_name=xxxxx, y reemplazando xxxxx por el nombre del usuario en cuestión. Si quieres un feed de los favoritos, esto es lo que tienes que usar: http://twitter.com/favorites/xxxxx.rss, también reemplazando xxxxx por el usuario que favoritee.
También puedes usar estas técnicas:
  • Archivar tweets usando IFTTT y otros servicios: IFTTT es una herramienta genial para automatizar este tipo de backups combinándolos con la herramienta que quieras. Puedes archivar tus tweets por fecha en Google Calendar, crear un archivo en Evernote, o enviar allí tus tweets favoritos. Para otras recetas e ideas de cómo usar IFTTT no te dejes de leer nuestras 36 recetas recomendadas.
  • Twistory: Es un servicio para guardar todos tus tweets en tu calendario favorito. Te suscribes al feed de cualquier usuario y éste se integra en Google Calendar, Outlook, Thunderbird o cualquier aplicación que soporte el formato de iCal.
  • Tweetake: Permite guardar todos tus tweets públicos, DMs, followers, seguidos y favoritos, pero está limitado a 1000 contactos.
  • TweetBackup: Hace un backup diario de tus tweets y te permite exportarlo en varios formatos.
Imagen: infekted.it

Tomado de: http://bitelia.com/2012/07/como-buscar-archivar-recuperar-tweets-antiguos

21 agosto 2012

Embarazada

Una chica va en el subte.
-Señor, me deja su sitio que estoy embarazada-
-Si, si, por supuesto, sientese- dice el hombre mientras se levanta
-Asi que esta embarazada, ¿de cuanto?-
-De hace media hora-
-¡¡¡De hace media hora!!!-
-Si, pero es que aun me tiemblan las piernas-

20 agosto 2012

Cinco cosas que el software libre me ha enseñado

Llevo ya unos cuantos años en el mundo del Software Libre donde he aprendido muchísimo. Al principio aprendí a utilizar nuevos tipos de software, a optimizar su uso y a afinar mis habilidades en la programación, pero si me hubiera quedado en ese punto, habría perdido lo más importante, ya que el Software Libre tiene mucho más que ofrecer que la mera informática y las ventajas técnicas. De hecho, la parte técnica es lo menos importante de todas mis experiencias. El Software Libre me ha aportado mucho más que el conocimiento del código fuente y me ha enseñado lecciones que durarán toda mi vida.
Max Shinn, Traducido para Rebelión por Christine Lewis Carroll
El control centralizado no sirve para nada
Cuando un único cuerpo gobernante se hace con el control absoluto de algo, sólo es cuestión de tiempo antes de que su poder aumente considerablemente. Esto se hace supuestamente para evitar la corrupción; sin embargo, el hecho es que la crea. Tomemos como ejemplo a cualquier compañía de software propietario establecida en los años 60 ó 70. Estas compañías prefirieron sacar provecho de su código fuente secreto antes que compartir su software en beneficio del aprendizaje. Con el paso del tiempo, las compañías empezaron a poner mayores obstáculos a los usuarios para frustrar sus planes de no pagar por el software. Fue en este momento cuando se inició el desarrollo de técnicas para proteger el software, tales como las licencias. A medida de que los usuarios iban superando los obstáculos, estas técnicas se endurecían, al tiempo que se castigaba severamente a los usuarios de software propietario casuales (quienes, sin embargo, lo habían usado y pagado de forma legal desde el principio).
Pero aún hay más. Las compañías de software propietario, que se preocupan exclusivamente de eliminar la competencia, no facilitan la compatibilidad entre los formatos de archivo de sus competidores (o lo que es peor, lo hacen de forma incompleta). De esta manera, disminuyen la velocidad de su software con el fin de vender al usuario una "actualización de velocidad" y lo espían para impulsar sus objetivos de marketing. Tampoco les da vergüenza esperar a que estalle la epidemia para poner a la venta las actualizaciones de seguridad. Los usuarios no son libres para corregir nada, ya que una sola compañía controla todos los aspectos del software correspondiente.
El otro día oí una conversación:
"¡Compré un nuevo iPhone el otro día!"
"¡Fantástico! ¿Vas a piratearlo?"
"No lo sé. Conozco a alguien que pirateó su iPhone y lo tuneó. Pero si lo haces, luego no puedes llevarlo a reparar."
"Yo pirateé mi iPhone. ¡Funciona perfectamente y puedo utilizar todo tipo de aplicaciones que no encuentras en el App Store [la tienda virtual de Apple]!"
Es triste que los usuarios utilicen el término "piratear" para describir el cambio de software en el móvil del que son propietarios. Los usuarios aceptan no poder utilizar una aplicación que no haya autorizado el fabricante porque esta restricción es ya muy común. En el caso del iPhone, los usuarios tienen que decidir si modifican el software del dispositivo de su propiedad ("pirateo") y se arriesgan a que Apple ejecute una actualización que estropee su aparato, o bien si utilizan un iPhone que funcione como Apple quiere. La compra de un iPhone representa la entrega del control del dispositivo a Apple, ya que esta forma de actuar está firmemente arraigada en la sociedad.
La actitud más adecuada es la filosófica
La diferencia entre el Movimiento de Software Libre y el Movimiento de Código Abierto es significativa. Al profundizar en esta idea, se vuelve más importante todavía. Nadie construiría un rascacielos sin unos cimientos sólidos. De la misma manera, un movimiento basado en el hecho de que una metodología de desarrollo determinada puede producir un software con menos errores, más seguro o con más contenido no tiene sentido. Sobre esta base sin fundamentos, ¿qué problema hay en utilizar Skype [comunicación telefónica por Internet], vinculando a ti y a tus amigos al software y protocolos de una sola compañía? Y las cosas se ponen aún más feas si hablamos del precio. Alguien que forma su opinión sobre estas bases subjetivas estaría tentado a adquirir software de alta calidad sin coste. No afirmo que Microsoft Windows sea de calidad, pero puede no tener coste alguno para los usuarios.
No todo el mundo es carterista. Por qué? No debe ser tan difícil. Si el ladrón sale corriendo, seguramente no lo cogerán, y es un modo rápido de hacerse con algo de dinero. La gran mayoría piensa que robar es malo, y por lo tanto no es carterista. La filosofía de que uno no debe robar está por encima de los beneficios que pueden derivarse de robarle la cartera a alguien. Es la misma razón por la que los veganos no llevan cuero, ni los mormones toman cafeína o alcohol, y los respetuosos con el medio ambiente conducen coches híbridos.
Pero cuando se trata de software, hay menos posicionamiento. Para aquellos "usuarios casuales" que saben algo del Movimiento de Software Libre, pocos toman en serio su filosofía, puesto que crea mucha incomodidad y molestia. ¿Estaríamos dispuestos a desmantelar nuestra propia casa si se descubriera que está asentada sobre un antiguo cementerio? Puesto que crea tanta incomodidad y dicho desmantelamiento sería escandalosamente caro, los afectados prescindirían de la vertiente ética afirmando que tampoco tenían una opinión formada sobre el tema antes de que afectara su vida. Es verdad que la casa descansa sobre zona sagrada, pero como nadie informó al inquilino antes de la compra, la responsabilidad reside en otra parte.
Si nos basamos en la filosofía y los valores al tomar nuestras decisiones diarias, es imposible tener remordimientos. Primar la ética sobre la comodidad puede ser difícil a veces, pero ayudará a crear soluciones duraderas más significativas.
Una mente abierta y creativa hace maravillas
Antes de que me sumergiera en el mundo del Software Libre, tenía opiniones, ideas y creencias distintas de las que poseo hoy. El Software Libre me abrió la mente a conceptos nuevos y desconocidos; un mundo que existía desde hace tiempo sin mi conocimiento. Si una persona como yo, bastante enterado de la tecnología existente, no conocía ni siquiera todo sobre el software, entonces la información realmente disponible tenía que ser inmensa.
Uno de los elementos más valiosos de la comunidad del Software Libre es la enorme diversidad de personas e ideas. El sitio web stallman.org de Richard Stallman es el mejor ejemplo de esta afirmación. La mayoría de sus ideas y opiniones, sobre todo políticas, son poco ortodoxas y no ampliamente aceptadas. Antes de conocerlo, me tomaba a Ralph Nader a broma. Al conocer a alguien que lo apoyara, me familiaricé con sus ideas. Y dio la casualidad de que estaba de acuerdo con algunas opiniones de Nader. Cesé en mi aversión sin fundamento del candidato del tercer partido y aumentó mi respeto por él.
También se pueden extraer lecciones de mi propia vida. Soy compositor, y uno de los mayores obstáculos con los que me he topado al cambiar al Software Libre ha sido el programa de composición tipográfica para partituras. Durante bastante tiempo, utilicé "Wine" para ejecutar un software propietario, puesto que ninguna de las demás opciones disponibles hacía lo que yo quería. O por lo menos así pensé yo. Había probado paquetes de Software Libre: Rosegarden, MuseScore, Lilypond, Canorus... Me convencí a mí mismo, ya que ninguno de ellos se comportaba exactamente de la misma manera que el software propietario, que ninguno valía. Algún tiempo después, decidí utilizar exclusivamente Software Libre. Me obligué a utilizar MuseScore para la siguiente composición. Al terminar el proyecto, ya se me había olvidado cómo utilizar esta basura de software propietario. MuseScore hacía todo lo que le pedía y más. Es verdad que se comportaba de manera distinta, pero era más eficaz y ¡estaba utilizando Software Libre! Maté dos pájaros de un tiro.
Es fundamental para los desarrolladores de software abrir la mente a ideas creativas, con el fin de desarrollar soluciones prácticas. La mayoría de las personas que desarrollan Software Libre trabajan de forma autónoma y eligen en qué quieren trabajar. (Incluso en las grandes corporaciones, muchos desarrolladores tienen bastante libertad en este sentido.) Sus superiores no los mandan implementar atributos específicos, ni los clientes incluir cierta característica. Trabajan porque quieren facilitar sus propias tareas, dar mejor asistencia a los usuarios, o mejorar sus proyectos de software. Hay mucho espacio para la experimentación. Uno de los argumentos principales para apoyar el Software Libre es no reinventar la rueda; sin embargo, en casi todos los nichos de demanda de software, hay por lo menos dos opciones igualmente eficaces: KDE y Gnome; Grub y Lilo; OpenOffice y Koffice; Emacs y Vi; y sigue. Esto es así porque los desarrolladores tuvieron ideas distintas sobre el diseño de una aplicación, qué características debían incorporarse, y las metas del proyecto. En todos los casos arriba mencionados, la sinergia creada sirvió para enriquecer ambos proyectos. Dicho de otra manera, el contraste de ideas hacía que éstas se complementasen.
El conocimiento debe compartirse
A mediados de la década de los 50 del siglo XIX, al comienzo de la Revolución Industrial en Gran Bretaña, se intentó imponer una cuarentena sobre las ideas. Al ser el primer país en implantar la revolución industrial, se intentó que los diseños de maquinaria no fueran exportados, con el objetivo de asegurar su propia prosperidad económica. Fue un fracaso. Creer que podían impedir la propagación de una idea fue el colmo de la ingenuidad. "Si los dos tenemos una manzana, y las intercambiamos, seguimos teniendo una manzana. Pero si los dos tenemos una idea, y las intercambiamos, cada uno tiene dos ideas."
Algunas compañías intentan restringir el flujo de conocimiento, confiando en que nadie se va a enterar. Creen que al colocar DRM [Digital Rights Management, Gestión Digital de Derechos, tecnologías de control de acceso a dispositivos o medios digitales] en los medios digitales impedirá el pirateo, que los procedimientos de activación de producto evitarán que estos medios se compartan o que la información puede contenerse. Incluso antes de la aparición de Internet, la información y la llamada "propiedad intelectual" podían intercambiarse y de hecho se intercambiaban. Pero las corporaciones se fueron obsesionando cada vez más con el control de la difusión de información.
Esta situación se produce también en condiciones altamente protegidas. El escándalo Watergate fue filtrado a la prensa por uno de los colaboradores más cercanos al Presidente Nixon. Se descubrió recientemente que Microsoft utilizaba un código robado a un competidor en una red social, aunque éste nunca había sido liberado. Las fotografías de las protestas en Irán en junio de este año circularon por Internet, a pesar de los esfuerzos por parte del gobierno de impedir su difusión. Hay más ejemplos, pero todos tienen el mismo elemento común: No se puede impedir el flujo de información.
Así que, en vez de trabajar para impedir la difusión de información, ¿por qué no fomentarla? ¿Por qué no extender las ideas, capacidades y operatividad de un software a la mayor cantidad posible de personas, y encender la llama? Hay muchas maneras de hacer dinero; cuesta el mismo tiempo y esfuerzo crear un software atractivo para mucha gente que impedir su uso. Es una forma de proceder que parece estúpida; sin embargo, es la más tradicional y conservadora. Los productos físicos deben tratarse de forma diferente al conocimiento. Los gobiernos pueden apoyar el proceso de vender conocimiento de la misma manera que un producto físico, aunque debido a su naturaleza, nunca será igual.
Cualquiera puede contribuir
Cuando empecé en el mundo del Software Libre, quería contribuir, pero pensé que un estudiante de 8º no tendría nada que aportar. Me equivoqué, y me uní al equipo de documentación de Joomla!, redactando y editando parte del paquete de software. En esos momentos, la documentación era lo que más faltaba en la comunidad de Software Libre. Al aprender a programar en PHP [un lenguaje de programación], desarrollé algunas modificaciones para el Sistema de Gestión de Contenidos puesto que lo conocía bien. Fueron pequeños cambios, ya que yo tenía poca experiencia, pero su difusión fue amplia. Luego abordé aplicaciones y contribuciones mayores. Los usuarios de mi software enviaban con frecuencia correos electrónicos informándome de lo valioso de mi contribución.
No importa lo que hagas, todo contribuye. Si encuentras un virus, ¡dilo! La primera vez que informas de ello, será algo más inseguro, pero ¿de qué otra manera se aprende a informar? Tus advertencias harán que el software sea mejor para todo el mundo y quizás impidan la pérdida de datos a alguien. Si se te da bien escribir, puedes escribir algún documento o mejorar tu aplicación favorita de Software Libre, y así facilitar el proceso de aprendizaje, a veces frustrante, a otros. La traducción de documentación o de una aplicación abre el alcance del software a mucha más gente. Se puede conversar sobre el Software Libre y promocionarlo más formalmente; esto da lugar a nuevas filosofías además de facilitar que el software llegue a más gente.
Dar las gracias a alguien que está trabajando en un proyecto también sirve. El Software Libre no lo escriben las máquinas; lo hace un sinfín de personas que invierte diariamente mucho tiempo a esta tarea. Mostrar agradecimiento ayuda a los desarrolladores a saber que su trabajo es importante.
Ahora, quiero que el lector se imagine cómo sería el mundo del Software Libre si nadie creyera que tuviera algo que contribuir. Se desarrollaría poco Software Libre, y podría no ser distribuido de forma pública. Un sistema operativo completamente libre sería impensable, ya que sólo existirían pequeños proyectos de investigación. Las compañías de software, sin confianza en su capacidad para tener éxito con Código Abierto, desarrollarían software propietario. El Movimiento de Software Libre no existiría y Richard Stallman no habría iniciado el proyecto GNU si creyera que no tenía nada que aportar.
Es tan fácil imaginar cuan horrible sería el mundo de Software Libre descrito así, entonces ¿por qué se permite que esta hipótesis se deslice en el mundo real? Como el mundo es mucho más grande que el del Software Libre, los usuarios tienden a pensar que sus acciones significan poco. Sin embargo, parecen olvidarse que mientras algunas acciones no incidirán directamente en todos, cualquier acción que realicemos afectará a alguien. Y quizá, cuando sumemos nuestras acciones y las de otros, estemos cambiando el mundo día a día.
Nuestras acciones significan tanto que es vital que ninguna entidad por si sola, sea corporación, gobierno u otro, nos quite la libertad para expresarnos libremente. Porque si no, no estaríamos cambiando el mundo como nosotros queremos, sino como quiere el poder en cuestión. Es esencial que mantengamos una actitud filosófica de forma que nuestros principios respalden nuestras acciones. Incluso si tomamos una decisión desacertada, lo hemos hecho racionalmente, y esto lo valorarán los demás. Es fundamental que tengamos la mente abierta para que ninguna buena idea pase inadvertida, y una mente creativa para generar buenas ideas por nosotros mismos. Lo que uno considera insignificante puede inspirar a otro. Es vital que haya un flujo ininterrumpido de conocimiento, y que la información no se retenga para el beneficio de unos a coste del de otros. El conocimiento y la información son los fundamentos del cambio. Estos conceptos son vitales no sólo para el software, sino también para la vida diaria.
Y pensar que hay quien sólo ve los beneficios técnicos.
Fuente: http://trombonechamp.wordpress.com/2009/12/20/five-things-free-software-has-taught-me/

Tomado de: http://www.laflecha.net/canales/softlibre/articulos/cinco-cosas-que-el-software-libre-me-ha-ensenado/

19 agosto 2012

Científicos españoles acoplan una grabadora de CD a un gato "NO HA SIDO FÁCIL", admiten los expertos

Un equipo de biólogos de la Universidad Rody Aragón de Zaragoza ha logrado una hazaña sin precedentes. Tras meses de planificación, el departamento de biología molecular y robótica avanzada, capitaneado por el doctor Veciana, ha conseguido colocar una grabadora de CD sobre el lomo de un gato. “No ha sido fácil”, reconoce el doctor Veciana mostrando los brazos llenos de arañazos, “pero entre todos logramos inmovilizar a Javito (el gato) y pegarle el cacharro con cinta aislante”. El problema más grave, según los biólogos, es que hay que enchufar el CD a la corriente y la longitud del cable limita el radio de acción del gato. Además, Javito no para de morder el cable, lo que podría ser letal tanto para la grabadora como para el gato.
Es un avance meritorio pero aún falta mucho para que podamos beneficiarnos de este nuevo logro científico. De momento, el departamento de tecnología aplicada de la propia Universidad está elaborando un informe donde se perfilan posibles usos futuros de un gato con grabadora de CD. Calculan que los resultados preliminares estarán listos en 2064.
El Ministerio de Defensa se ha mostrado muy interesado en el experimento y cree que en el futuro puede tener “interesantes usos militares o, en su defecto, como mascota”.
Pese al éxito, el doctor Veciana y su equipo alertan de la precariedad de la investigación científica en nuestro país: “Tenemos muy pocos medios pero los aprovechamos al máximo. A decir verdad, con este experimento hemos aprovechado todo lo que teníamos a mano en el laboratorio. Y el gato lo sacamos del aparcamiento”.
De momento no ha habido reacción a nivel internacional, ya que la investigación fue rechazada por la revista “Nature” y tuvo que publicarse en “Tele Indiscreta”.
El recorte en I+D ha dejado el presupuesto destinado a la investigación científica en 87 euros. Eso sí, el Ministerio se ha comprometido a adquirir una rata para que los investigadores españoles puedan realizar toda clase de experimentos.

Tomado de: http://www.elmundotoday.com/2010/11/cientificos-espanoles-acoplan-una-grabadora-de-cd-a-un-gato/

18 agosto 2012

Argentina crece cada dia mas (ojo, no dije inflacion)

–No tiene sentido intentarlo –dijo Alicia–. Uno no puede creer en cosas imposibles.
–Me atrevería a decir que no has practicado mucho –dijo la reina–. Cuando yo tenía tu edad lo hacía durante media hora todos los días. De hecho, en ocasiones, creía en hasta seis cosas imposibles antes del desayuno.
-
Alicia en el país de las maravillas. Lewis Carroll.

17 agosto 2012

¿Steal my Wi-Fi? No, thanks

Comentaba Enrique Dans hoy un artículo de Bruce Schneier en Wired, titulado “Steal This Wi-Fi“. Básicamente, éste (Schneier) viene a defender los argumentos por los que tiene su Wi-Fi abierta a todo aquel que quiera utilizarla, y aunque algunos de los argumentos me parecen correctos, con otros discrepo profundamente, así que no me he podido resistir a escribir algo. Aprovecho además para recomendar a nuestros lectores, habituales y esporádicos, que si han decidido no dejar abierta su Wi-Fi, cambien de WEP a WPA, sí o sí. Las molestias del cambio es mínimo, y el incremento en seguridad, muy sustancial (vean este artículo del propio Schneier si no se lo creen, como apunta un comentarista por allá). Pasando al artículo, el primer y creo que principal argumento de Schneier para dejar la Wi-Fi abierta es la cortesía con los invitados; si alguien recibe calefacción, agua y una taza de café, ¿porqué no Internet? Admito que el argumento es correcto, pero en mi caso, nunca he tenido un invitado que haya tenido la necesidad de acceder a Internet con su propio dispositivo, por lo que esa cuestión nunca se me ha planteado. Por supuesto, si de manera frecuente tuviese amigos que necesitasen acceso a Internet, me plantearía alternativas. También afirma, en referencia a la seguridad de los datos propios, que, puesto que se conecta a menudo con Wi-Fis de aeropuertos y hoteles, la seguridad debe residir en el PC, y no en la red. Estoy de acuerdo, pero no es mi caso; apenas utilizo el ordenador cuando no estoy en casa, y no acostumbro a usarlo en hoteles o aeropuertos, por lo que la exposición de los datos que conservo en éste a terceros está limitada por elementos que controlo: la red y el propio PC. Si tuviese que viajar a menudo, me abstendría de utilizar servicios como la banca electrónica u otros en los que el dispositivo es un mero transmisor; llámenme paranoico si quieren. Por último, hablando del robo de ancho de banda, estoy de acuerdo en que resulta más una molestia que otra cosa, excepto en aquellos casos en los que la otra persona decide abusar de tu generosidad; que alguien te quite ancho de banda no supone demasiado, la verdad.

Hasta aquí, los argumentos en los que puedo estar más o menos de acuerdo o no se aplican a mi caso. Sin embargo, hay otros con los que estoy mucho menos que de acuerdo, y hay uno en particular que es para mí, la principal razón para evitar tener tu Wi-Fi abierta. Éste se basa en la posibilidad de que alguien efectúe actos delictivos mediante tu equipo: pornografía infantil, estafa, intrusión en empresas, etc. Alguien puede pensar que el hecho de tener tu Wi-Fi abierta puede servir como defensa frente al juez, algo así como un “yo no he sido”. Este es un argumento más defendido por Dans que por Schneier. El caso es que a no ser que a las tres de la mañana entren en tu casa los GEOs y confisquen de repente todo tu equipamiento informático, si un buen día recibes una citación judicial, iba a ser complicado un mes después convencer al juez de que tu Wi-Fi se encontraba abierta. Es algo como decir que te habían robado el coche cuando te llega una multa dos meses después de la infracción. No conozco demasiado el sistema de registro de los Access Points, pero me juego un brazo a que no guardan en una memoria no volátil las modificaciones en la configuración (para demostrar, por ejemplo, que el proveedor te lo instaló abierto en origen), y me juego el otro a que nadie o casi nadie tiene configurado el sistema de syslog del Access Point, que por otra parte esté probablemente muy limitado en el tipo de eventos que genera. Y aún en el caso de que el juez admitiese que el Access Point estaba abierto, te tocaría demostrar que efectivamente, no has sido tú el autor de las acciones delictivas (lo más normal es que tus potenciales vecinos se desmarcasen del uso de tu Wi-Fi, si ven el panorama feo). En definitiva, que lo más posible es que acabes delante de un juez, lo que te robará tiempo, dinero, te meterá en un lio que puede ser considerable, y si el juez en cuestión decide que puesto que la conexión está a tu nombre por contrato, te toca apechugar con la culpa, te costará más dinero o cosas peores.
Por último, se hace mención a los problemas (actuales o futuros) que puede tener WPA, y en esto también incide Dans más que Schneier, que es muy consciente de las fortalezas y debilidades de WPA. Por supuesto que WPA tiene sus limitaciones de seguridad; básicamente igual que muchas tecnologías y protocolos seguros, pero eso no es suficiente para afirmar, como dice Enrique Dans, que no sirve para evitar el crimen por sus problemas de seguridad, que es lo mismo WPA que nada. No. Quizá WEP sea casi lo mismo que no tener nada (y ni aún así), pero WPA es lo suficientemente seguro para que no sea nada nada fácil romperlo si se hace uso de una clave robusta. De hecho, hay que tener mucho interés, bastante tiempo y unos no despreciables conocimientos técnicos para intentarlo; y eso no asegura que se consiga. Y si pasamos a WPA2, les puedo asegurar que pueden dormir tranquilos. Por supuesto que tiene sus limitaciones y saldrán problemas técnicos en el futuro, al igual que los tienen el ssh o el https, pero eso no evita que sigamos utilizando la banca electrónica, ¿verdad?
En mi opinión, aunque tener tu Wi-Fi abierta es un signo de generosidad hacia otras personas, y algo que algunos agradeceríamos cuando nuestro proveedor decide cortarnos la conexión un sábado por la mañana, puesto que después de todo desconocemos que hace “el otro” a través de tu AP, creo que los riesgos exceden las ventajas, aunque después de todo es una decisión personal. No es cuestión de pensar que todo el mundo es malo, pero tampoco que todo el mundo es “güeno”. Simplemente porque meterse en un proceso judicial, aunque salgas indemne, debe ser ya de por sí algo bastante traumático (y costoso). Y tampoco se fíen, en el lado contrario, y como les decía José Selvi hace unos días, de todo aquel que tiene su red abierta, porque no todo es lo que parece.
El lunes, más. Como siempre, pasen todos un buen fin de semana.

Tomado de: http://www.securityartwork.es/2008/01/11/%C2%BFsteal-my-wi-fi-no-thanks/

15 agosto 2012

Consultando el clima desde la consola

Existen pequeñas aplicaciones en Linux que nos permiten consultar el estado del clima desde nuestra consola, como asi tambien para las XWindow, pero esas ya requieren entorno grafico o al menos tener el framebuffer habilitado. Consultan normalmente a el sitio www.weather.com para presentar los datos.

Yo normalmente uso cualquiera de estas dos, ya que me resulta mas comodo que encender la tele, o buscar en el site que informa el clima y tener que soportar los estupidos banners de publicidad y toda la parafernalia que realmente no suma en nada, amen que la mayoria requiere flash o alguna cosa similar. Ya se, estoy hecho un viejo gruñon pero realmente la consola es muy comoda para hacer de todo...

Averiguar el codigo de la ciudad es muy simple, y como queremos hacerlo en castellano, ingresamos a http://espanol.weather.com y dentro del cuadro de busqueda ingresamos el nombre de la ciudad en cuestion que queremos saber.

Ejemplo:

El codigo de la ciudad de Quilmes, la cual consultamos en este caso, es ARBA1878 con lo que tenemos el dato que nos faltaba.

Solamente disponible los paquetes para Debian / Ubuntu y el PKGBUILD para Arch Linux, aunque siempre estan los fuentes disponibles para compilarlos en nuestra distribucion en particular.
No tengo capturas de pantalla simplemente porque no lo uso...

En una muy comoda presentacion en consola usando ncurses, todo basado en Python. Esta aplicacion es muy simple de instalar:
Ejecutando el siguiente comando en Slackware lo tenemos instalado:
root@scatha:~# slapt-src --install CurseTheWeather

Tambien esta en repositorios de diferentes distribuciones GNU/Linux, dependiendo de la misma usaremos yum, yast, urpmi, apt-get o el manejador de paquetes que usemos.

Sino simplemente lo instalamos desde los fuentes:
Bajamos el fuente:

Editado: El sitio original parece estar caido, pero este alternativo funciona bien: http://ftp.slackware.org.uk/salix/i486/14.0/source/ap/CurseTheWeather/CurseTheWeather-0.6.tar.gz

Descomprimimos los fuentes:
vampii@scatha:~$ tar zxvf CurseTheWeather-0.6.tar.gz

Ingresamos al directorio:
vampii@scatha:~$ cd CurseTheWeather

Instalamos:
vampii@scatha:~$ python setup.py install

Fin del juego, aplicacion instalada 
Modo de uso:
vampii@scatha:~$ ctw CODIGO_CIUDAD

Ejemplo:
vampii@scatha:~$ ctw ARBA0009 
para consultar el clima de Buenos Aires, Argentina
ctw ARBA1878 
para consultar el clima de Quilmes, Buenos Aires, Argentina
Simplezas de la vida que son muy comodas de consultar desde la comodidad de nuestra amada consola ;-)

Lo demandan por graduarse demasiado rápido

Un joven alemán de 22 años tardó 20 meses en terminar una licenciatura y una maestría. La universidad le reclama ahora que pague las cuotas de once semestres

La Essen School of Economics and Management (FOM) ahora le reclama a su ex alumno que abone todas las cuotas de los cinco años y medio de cursada, lo que suma 3.000 euros, lo que equivale a casi US$ 4.700, algo a lo cual Marcel Pohl se niega.
El alumno germano aprobó las 60 cátedras de la carrera en apenas 20 meses logrando graduarse en agosto de 2011, cuando la mayoría de los estudiantes tardan un promedio de 11 semestres para concluir.
Ya trabajando para un banco en Frankfurt, Pohl le aseguró a un diario alemán, reseñado por el portal lainformación.com, que "cuando llegó la demanda no lo podía creer, y ahí me pregunté si ése era el premio por mi excelente rendimiento académico".
Un brillante desempeño al que hay que agregarle que durante ese lapso también realizó una pasantía en un banco.
Pero del otro lado del mostrador el argumento de la FOM es que sus valores son por la cursada total de sus carreras, sin importar cuánto se tarde en terminarlas. Tal es la controversia que el tema ya está en un tribunal alemán, el cual deberá decidir quién tiene la razón.

14 agosto 2012

Más de 400 comandos para GNU/Linux que deberías conocer

Me he encontrado en la Wiki de GUTL este completo listado con más de 400 comandos para GNU/Linux con su respectiva explicación, y los quiero compartir con ustedes para complementar este excelente artículo que escribió mi colega para aprender a vivir con la consola.

Información del sistema
  1. arch: mostrar la arquitectura de la máquina (1).
  2. uname -m: mostrar la arquitectura de la máquina (2).
  3. uname -r: mostrar la versión del kernel usado.
  4. dmidecode -q: mostrar los componentes (hardware) del sistema.
  5. hdparm -i /dev/hda: mostrar las características de un disco duro. 
  6. hdparm -tT /dev/sda: realizar prueba de lectura en un disco duro. 
  7. cat /proc/cpuinfo: mostrar información de la CPU. 
  8. cat /proc/interrupts: mostrar las interrupciones. 
  9. cat /proc/meminfo: verificar el uso de memoria.
  10. cat /proc/swaps: mostrar ficheros swap. 
  11. cat /proc/version: mostrar la versión del kernel. 
  12. cat /proc/net/dev: mostrar adaptadores de red y estadísticas. 
  13. cat /proc/mounts: mostrar el sistema de ficheros montado. 
  14. lspci -tv: mostrar los dispositivos PCI. 
  15. lsusb -tv: mostrar los dispositivos USB. 
  16. date: mostrar la fecha del sistema. 
  17. cal 2011: mostrar el almanaque de 2011.
  18. cal 07 2011: mostrar el almanaque para el mes julio de 2011. 
  19. date 041217002011.00: colocar (declarar, ajustar) fecha y hora. 
  20. clock -w: guardar los cambios de fecha en la BIOS.

Apagar (Reiniciar Sistema o Cerrar Sesión)
  1. shutdown -h now: apagar el sistema (1). 
  2. init 0: apagar el sistema (2). 
  3. telinit 0: apagar el sistema (3). 
  4. halt: apagar el sistema (4). 
  5. shutdown -h hours:minutes &: apagado planificado del sistema. 
  6. shutdown -c: cancelar un apagado planificado del sistema. 
  7. shutdown -r now: reiniciar (1). 
  8. reboot: reiniciar (2). 
  9. logout: cerrar sesión.

Archivos y Directorios


  1. cd /home: entrar en el directorio “home”. 
  2. cd ..: retroceder un nivel. 
  3. cd ../..: retroceder 2 niveles. 
  4. cd: ir al directorio raíz. 
  5. cd ~user1: ir al directorio user1.
  6. cd -: ir (regresar) al directorio anterior. 
  7. pwd: mostrar el camino del directorio de trabajo. 
  8. ls: ver los ficheros de un directorio. 
  9. ls -F: ver los ficheros de un directorio. 
  10. ls -l: mostrar los detalles de ficheros y carpetas de un directorio.
  11. ls -a: mostrar los ficheros ocultos. 
  12. ls *[0-9]*: mostrar los ficheros y carpetas que contienen números. 
  13. tree: mostrar los ficheros y carpetas en forma de árbol comenzando por la raíz.(1)
  14. lstree: mostrar los ficheros y carpetas en forma de árbol comenzando por la raíz.(2)
  15. mkdir dir1: crear una carpeta o directorio con nombre ‘dir1′.
  16. mkdir dir1 dir2: crear dos carpetas o directorios simultáneamente (Crear dos directorios a la vez). 
  17. mkdir -p /tmp/dir1/dir2: crear un árbol de directorios. 
  18. rm -f file1: borrar el fichero llamado ‘file1′. 
  19. rmdir dir1: borrar la carpeta llamada ‘dir1′. 
  20. rm -rf dir1: eliminar una carpeta llamada ‘dir1′ con su contenido de forma recursiva. (Si lo borro recursivo estoy diciendo que es con su contenido). 
  21. rm -rf dir1 dir2: borrar dos carpetas (directorios) con su contenido de forma recursiva. 
  22. mv dir1 new_dir: renombrar o mover un fichero o carpeta (directorio).
  23. cp file1: copiar un fichero. 
  24. cp file1 file2: copiar dos ficheros al unísono. 
  25. cp dir /* .: copiar todos los ficheros de un directorio dentro del directorio de trabajo actual. 
  26. cp -a /tmp/dir1 .: copiar un directorio dentro del directorio actual de trabajo. 
  27. cp -a dir1: copiar un directorio. 
  28. cp -a dir1 dir2: copiar dos directorio al unísono. 
  29. ln -s file1 lnk1: crear un enlace simbólico al fichero o directorio. 
  30. ln file1 lnk1: crear un enlace físico al fichero o directorio. 
  31. touch -t 0712250000 file1: modificar el tiempo real (tiempo de creación) de un fichero o directorio. 
  32. file file1: salida (volcado en pantalla) del tipo mime de un fichero texto.iconv -l: listas de cifrados conocidos.
  33. iconv -f fromEncoding -t toEncoding inputFile > outputFile: crea una nueva forma del fichero de entrada asumiendo que está codificado en fromEncoding y convirtiéndolo a ToEncoding. 
  34. find . -maxdepth 1 -name *.jpg -print -exec convert ”{}” -resize 80×60 “thumbs/{}” \;: agrupar ficheros redimensionados en el directorio actual y enviarlos a directorios en vistas de miniaturas (requiere convertir desde ImagemagicK).

Encontrar archivos

  1. find / -name file1: buscar fichero y directorio a partir de la raíz del sistema. 
  2. find / -user user1: buscar ficheros y directorios pertenecientes al usuario ‘user1′.
  3. find /home/user1 -name \*.bin: buscar ficheros con extensión ‘. bin’ dentro del directorio ‘/ home/user1′. 
  4. find /usr/bin -type f -atime +100: buscar ficheros binarios no usados en los últimos 100 días. 
  5. find /usr/bin -type f -mtime -10: buscar ficheros creados o cambiados dentro de los últimos 10 días. 
  6. find / -name \*.rpm -exec chmod 755 ‘{}’ \;: buscar ficheros con extensión ‘.rpm’ y modificar permisos. 
  7. find / -xdev -name \*.rpm: Buscar ficheros con extensión ‘.rpm’ ignorando los dispositivos removibles como cdrom, pen-drive, etc... locate \*.ps: encuentra ficheros con extensión ‘.ps’ ejecutados primeramente con el command ‘updatedb’. 
  8. whereis halt: mostrar la ubicación de un fichero binario, de ayuda o fuente. En este caso pregunta dónde está el comando ‘halt’. 
  9. which halt: mostrar la senda completa (el camino completo) a un binario / ejecutable.

Montando un sistema de ficheros

  1. mount /dev/hda2 /mnt/hda2: montar un disco llamado hda2. Verifique primero la existencia del directorio ‘/ mnt/hda2′; si no está, debe crearlo. 
  2. umount /dev/hda2: desmontar un disco llamado hda2. Salir primero desde el punto ‘/ mnt/hda2. 
  3. fuser -km /mnt/hda2: forzar el desmontaje cuando el dispositivo está ocupado. 
  4. umount -n /mnt/hda2: correr el desmontaje sin leer el fichero /etc/mtab. Útil cuando el fichero es de solo lectura o el disco duro está lleno. 
  5. mount /dev/fd0 /mnt/floppy: montar un disco flexible (floppy). 
  6. mount /dev/cdrom /mnt/cdrom: montar un cdrom / dvdrom. 
  7. mount /dev/hdc /mnt/cdrecorder: montar un cd regrabable o un dvdrom. 
  8. mount /dev/hdb /mnt/cdrecorder: montar un cd regrabable / dvdrom (un dvd). 
  9. mount -o loop file.iso /mnt/cdrom: montar un fichero o una imagen iso. 
  10. mount -t vfat /dev/hda5 /mnt/hda5: montar un sistema de ficheros FAT32. 
  11. mount /dev/sda1 /mnt/usbdisk: montar un usb pen-drive o una memoria (sin especificar el tipo de sistema de ficheros).

Espacio de Disco

  1. df -h: mostrar una lista de las particiones montadas. 
  2. ls -lSr |more: mostrar el tamaño de los ficheros y directorios ordenados por tamaño. 
  3. du -sh dir1: Estimar el espacio usado por el directorio ‘dir1′. 
  4. du -sk * | sort -rn: mostrar el tamaño de los ficheros y directorios ordenados por tamaño. 
  5. rpm -q -a –qf ‘%10{SIZE}t%{NAME}n’ | sort -k1,1n: mostrar el espacio usado por los paquetes rpm instalados organizados por tamaño (Fedora, Redhat y otros). 
  6. dpkg-query -W -f=’${Installed-Size;10}t${Package}n’ | sort -k1,1n: mostrar el espacio usado por los paquetes instalados, organizados por tamaño (Ubuntu, Debian y otros).

Usuarios y Grupos

  1. groupadd nombre_del_grupo: crear un nuevo grupo. 
  2. groupdel nombre_del_grupo: borrar un grupo. 
  3. groupmod -n nuevo_nombre_del_grupo viejo_nombre_del_grupo: renombrar un grupo. 
  4. useradd -c “Name Surname ” -g admin -d /home/user1 -s /bin/bash user1: Crear un nuevo usuario perteneciente al grupo “admin”. 
  5. useradd user1: crear un nuevo usuario. 
  6. userdel -r user1: borrar un usuario (‘-r’ elimina el directorio Home). 
  7. usermod -c “User FTP” -g system -d /ftp/user1 -s /bin/nologin user1: cambiar los atributos del usuario.
  8. passwd: cambiar contraseña. 
  9. passwd user1: cambiar la contraseña de un usuario (solamente por root). 
  10. chage -E 2011-12-31 user1: colocar un plazo para la contraseña del usuario. En este caso dice que la clave expira el 31 de diciembre de 2011. 
  11. pwck: chequear la sintaxis correcta el formato de fichero de ‘/etc/passwd’ y la existencia de usuarios. 
  12. grpck: chequear la sintaxis correcta y el formato del fichero ‘/etc/group’ y la existencia de grupos. 
  13. newgrp group_name: registra a un nuevo grupo para cambiar el grupo predeterminado de los ficheros creados recientemente.

Permisos en Ficheros (Usa ”+” para colocar permisos y ”-” para eliminar)

  1. ls -lh: Mostrar permisos.
  2. ls /tmp | pr -T5 -W$COLUMNS: dividir la terminal en 5 columnas. 
  3. chmod ugo+rwx directory1: colocar permisos de lectura ®, escritura (w) y ejecución(x) al propietario (u), al grupo (g) y a otros (o) sobre el directorio ‘directory1′. 
  4. chmod go-rwx directory1: quitar permiso de lectura ®, escritura (w) y (x) ejecución al grupo (g) y otros (o) sobre el directorio ‘directory1′.
  5. chown user1 file1: cambiar el dueño de un fichero. 
  6. chown -R user1 directory1: cambiar el propietario de un directorio y de todos los ficheros y directorios contenidos dentro.
  7. chgrp group1 file1: cambiar grupo de ficheros. 
  8. chown user1:group1 file1: cambiar usuario y el grupo propietario de un fichero.find / -perm -u+s: visualizar todos los ficheros del sistema con SUID configurado.
  9. chmod u+s /bin/file1: colocar el bit SUID en un fichero binario. El usuario que corriendo ese fichero adquiere los mismos privilegios como dueño. 
  10. chmod u-s /bin/file1: deshabilitar el bit SUID en un fichero binario. 
  11. chmod g+s /home/public: colocar un bit SGID en un directorio –similar al SUID pero por directorio.
  12. chmod g-s /home/public: desabilitar un bit SGID en un directorio. 
  13. chmod o+t /home/public: colocar un bit STIKY en un directorio. Permite el borrado de ficheros solamente a los dueños legítimos. 
  14. chmod o-t /home/public: desabilitar un bit STIKY en un directorio.

Atributos especiales en ficheros (Usa ”+” para colocar permisos y ”-” para eliminar)

  1. chattr +a file1: permite escribir abriendo un fichero solamente modo append.
  2. chattr +c file1: permite que un fichero sea comprimido / descomprimido automaticamente. 
  3. chattr +d file1: asegura que el programa ignore borrar los ficheros durante la copia de seguridad. 
  4. chattr +i file1: convierte el fichero en invariable, por lo que no puede ser eliminado, alterado, renombrado, ni enlazado.
  5. chattr +s file1: permite que un fichero sea borrado de forma segura.
  6. chattr +S file1: asegura que un fichero sea modificado, los cambios son escritos en modo synchronous como con sync. 
  7. chattr +u file1: te permite recuperar el contenido de un fichero aún si este está cancelado. 
  8. lsattr: mostrar atributos especiales.

Archivos y Ficheros comprimidos

  1. bunzip2 file1.bz2: descomprime in fichero llamado ‘file1.bz2′. 
  2. bzip2 file1: comprime un fichero llamado ‘file1′.
  3. gunzip file1.gz: descomprime un fichero llamado ‘file1.gz’.
  4. gzip file1: comprime un fichero llamado ‘file1′. 
  5. gzip -9 file1: comprime con compresión máxima. 
  6. rar a file1.rar test_file: crear un fichero rar llamado ‘file1.rar’. 
  7. rar a file1.rar file1 file2 dir1: comprimir ‘file1′, ‘file2′ y ‘dir1′ simultáneamente. 
  8. rar x file1.rar: descomprimir archivo rar. 
  9. unrar x file1.rar: descomprimir archivo rar.
  10. tar -cvf archive.tar file1: crear un tarball descomprimido. 
  11. tar -cvf archive.tar file1 file2 dir1: crear un archivo conteniendo ‘file1′, ‘file2′ y’dir1′. 
  12. tar -tf archive.tar: mostrar los contenidos de un archivo. 
  13. tar -xvf archive.tar: extraer un tarball. 
  14. tar -xvf archive.tar -C /tmp: extraer un tarball en / tmp. 
  15. tar -cvfj archive.tar.bz2 dir1: crear un tarball comprimido dentro de bzip2.tar -xvfj archive.tar.bz2: descomprimir un archivo tar comprimido en bzip2
  16. tar -cvfz archive.tar.gz dir1: crear un tarball comprimido en gzip. 
  17. tar -xvfz archive.tar.gz: descomprimir un archive tar comprimido en gzip. 
  18. zip file1.zip file1: crear un archivo comprimido en zip. 
  19. zip -r file1.zip file1 file2 dir1: comprimir, en zip, varios archivos y directorios de forma simultánea. 
  20. unzip file1.zip: descomprimir un archivo zip.

Paquetes RPM (Red Hat, Fedora y similares)

  1. rpm -ivh package.rpm: instalar un paquete rpm. 
  2. rpm -ivh –nodeeps package.rpm: instalar un paquete rpm ignorando las peticiones de dependencias.
  3. rpm -U package.rpm: actualizar un paquete rpm sin cambiar la configuración de los ficheros.
  4. rpm -F package.rpm: actualizar un paquete rpm solamente si este está instalado. 
  5. rpm -e package_name.rpm: eliminar un paquete rpm. 
  6. rpm -qa: mostrar todos los paquetes rpm instalados en el sistema. 
  7. rpm -qa | grep httpd: mostrar todos los paquetes rpm con el nombre “httpd”. 
  8. rpm -qi package_name: obtener información en un paquete específico instalado. 
  9. rpm -qg “System Environment/Daemons”: mostar los paquetes rpm de un grupo software. 
  10. rpm -ql package_name: mostrar lista de ficheros dados por un paquete rpm instalado. 
  11. rpm -qc package_name: mostrar lista de configuración de ficheros dados por un paquete rpm instalado.
  12. rpm -q package_name –whatrequires: mostrar lista de dependencias solicitada para un paquete rpm. 
  13. rpm -q package_name –whatprovides: mostar la capacidad dada por un paquete rpm.
  14. rpm -q package_name –scripts: mostrar los scripts comenzados durante la instalación /eliminación. 
  15. rpm -q package_name –changelog: mostar el historial de revisions de un paquete rpm. 
  16. rpm -qf /etc/httpd/conf/httpd.conf: verificar cuál paquete rpm pertenece a un fichero dado. 
  17. rpm -qp package.rpm -l: mostrar lista de ficheros dados por un paquete rpm que aún no ha sido instalado. 
  18. rpm –import /media/cdrom/RPM-GPG-KEY: importar la firma digital de la llave pública.
  19. rpm –checksig package.rpm: verificar la integridad de un paquete rpm. 
  20. rpm -qa gpg-pubkey: verificar la integridad de todos los paquetes rpm instalados. 
  21. rpm -V package_name: chequear el tamaño del fichero, licencias, tipos, dueño, grupo, chequeo de resumen de MD5 y última modificación. 
  22. rpm -Va: chequear todos los paquetes rpm instalados en el sistema. Usar con cuidado. 
  23. rpm -Vp package.rpm: verificar un paquete rpm no instalado todavía.
  24. rpm2cpio package.rpm | cpio –extract –make-directories *bin*: extraer fichero ejecutable desde un paquete rpm. 
  25. rpm -ivh /usr/src/redhat/RPMS/`arch`/package.rpm: instalar un paquete construido desde una fuente rpm. 
  26. rpmbuild –rebuild package_name.src.rpm: construir un paquete rpm desde una fuente rpm.

Actualizador de paquetes YUM (Red Hat, Fedora y similares)

  1. yum install package_name: descargar e instalar un paquete rpm. 
  2. yum localinstall package_name.rpm: este instalará un RPM y tratará de resolver todas las dependencies para ti, usando tus repositorios. 
  3. yum update package_name.rpm: actualizar todos los paquetes rpm instalados en el sistema.
  4. yum update package_name: modernizar / actualizar un paquete rpm. 
  5. yum remove package_name: eliminar un paquete rpm. 
  6. yum list: listar todos los paquetes instalados en el sistema.
  7. yum search package_name: Encontrar un paquete en repositorio rpm. 
  8. yum clean packages: limpiar un caché rpm borrando los paquetes descargados. 
  9. yum clean headers: eliminar todos los ficheros de encabezamiento que el sistema usa para resolver la dependencia. 
  10. yum clean all: eliminar desde los paquetes caché y ficheros de encabezado.

Paquetes Deb (Debian, Ubuntu y derivados)

  1. dpkg -i package.deb: instalar / actualizar un paquete deb. 
  2. dpkg -r package_name: eliminar un paquete deb del sistema. 
  3. dpkg -l: mostrar todos los paquetes deb instalados en el sistema. 
  4. dpkg -l | grep httpd: mostrar todos los paquetes deb con el nombre “httpd”
  5. dpkg -s package_name: obtener información en un paquete específico instalado en el sistema. 
  6. dpkg -L package_name: mostar lista de ficheros dados por un paquete instalado en el sistema. 
  7. dpkg –contents package.deb: mostrar lista de ficheros dados por un paquete no instalado todavía. 
  8. dpkg -S /bin/ping: verificar cuál paquete pertenece a un fichero dado.

Actualizador de paquetes APT (Debian, Ubuntu y derivados)

  1. apt-get install package_name: instalar / actualizar un paquete deb. 
  2. apt-cdrom install package_name: instalar / actualizar un paquete deb desde un cdrom. 
  3. apt-get update: actualizar la lista de paquetes. 
  4. apt-get upgrade: actualizar todos los paquetes instalados. 
  5. apt-get remove package_name: eliminar un paquete deb del sistema. 
  6. apt-get check: verificar la correcta resolución de las dependencias. 
  7. apt-get clean: limpiar cache desde los paquetes descargados. 
  8. apt-cache search searched-package: retorna lista de paquetes que corresponde a la serie «paquetes buscados».

Ver el contenido de un fichero

  1. cat file1: ver los contenidos de un fichero comenzando desde la primera hilera. 
  2. tac file1: ver los contenidos de un fichero comenzando desde la última línea. 
  3. more file1: ver el contenido a lo largo de un fichero. 
  4. less file1: parecido al commando ‘more’ pero permite salvar el movimiento en el fichero así como el movimiento hacia atrás. 
  5. head -2 file1: ver las dos primeras líneas de un fichero.
  6. tail -2 file1: ver las dos últimas líneas de un fichero.
  7. tail -f /var/log/messages: ver en tiempo real qué ha sido añadido al fichero.

Manipulación de texto

  1. cat file1 file2 .. | command <> file1_in.txt_or_file1_out.txt: sintaxis general para la manipulación de texto utilizando PIPE, STDIN y STDOUT. 
  2. cat file1 | command( sed, grep, awk, grep, etc…) > result.txt: sintaxis general para manipular un texto de un fichero y escribir el resultado en un fichero nuevo. 
  3. cat file1 | command( sed, grep, awk, grep, etc…) » result.txt: sintaxis general para manipular un texto de un fichero y añadir resultado en un fichero existente. 
  4. grep Aug /var/log/messages: buscar palabras “Aug” en el fichero ‘/var/log/messages’. 
  5. grep ^Aug /var/log/messages: buscar palabras que comienzan con “Aug” en fichero ‘/var/log/messages’ 
  6. grep [0-9] /var/log/messages: seleccionar todas las líneas del fichero ‘/var/log/messages’ que contienen números. 
  7. grep Aug -R /var/log/*: buscar la cadena “Aug” en el directorio ‘/var/log’ y debajo. 
  8. sed ‘s/stringa1/stringa2/g’ example.txt: reubicar “string1” con “string2” en ejemplo.txt
  9. sed ‘/^$/d’ example.txt: eliminar todas las líneas en blanco desde el ejemplo.txt 
  10. sed ‘/ *#/d; /^$/d’ example.txt: eliminar comentarios y líneas en blanco de ejemplo.txt 
  11. echo ‘esempio’ | tr ‘[:lower:]‘ ‘[:upper:]‘: convertir minúsculas en mayúsculas. 
  12. sed -e ’1d’ result.txt: elimina la primera línea del fichero ejemplo.txt 
  13. sed -n ‘/stringa1/p’: visualizar solamente las líneas que contienen la palabra “string1”.

Establecer caracter y conversión de ficheros

  1. dos2unix filedos.txt fileunix.txt: convertir un formato de fichero texto desde MSDOS a UNIX. 
  2. unix2dos fileunix.txt filedos.txt: convertir un formato de fichero de texto desde UNIX a MSDOS. 
  3. recode ..HTML < page.txt > page.html: convertir un fichero de texto en html. 
  4. recode -l | more: mostrar todas las conversiones de formato disponibles.

Análisis del sistema de ficheros

  1. badblocks -v /dev/hda1: Chequear los bloques defectuosos en el disco hda1. 
  2. fsck /dev/hda1: reparar / chequear la integridad del fichero del sistema Linux en el disco hda1. 
  3. fsck.ext2 /dev/hda1: reparar / chequear la integridad del fichero del sistema ext 2 en el disco hda1. 
  4. e2fsck /dev/hda1: reparar / chequear la integridad del fichero del sistema ext 2 en el disco hda1. 
  5. e2fsck -j /dev/hda1: reparar / chequear la integridad del fichero del sistema ext 3 en el disco hda1.
  6. fsck.ext3 /dev/hda1: reparar / chequear la integridad del fichero del sistema ext 3 en el disco hda1. 
  7. fsck.vfat /dev/hda1: reparar / chequear la integridad del fichero sistema fat en el disco hda1.
  8. fsck.msdos /dev/hda1: reparar / chequear la integridad de un fichero del sistema dos en el disco hda1. 
  9. dosfsck /dev/hda1: reparar / chequear la integridad de un fichero del sistema dos en el disco hda1.

Formatear un sistema de ficheros

  1. mkfs /dev/hda1: crear un fichero de sistema tipo Linux en la partición hda1. 
  2. mke2fs /dev/hda1: crear un fichero de sistema tipo Linux ext 2 en hda1. 
  3. mke2fs -j /dev/hda1: crear un fichero de sistema tipo Linux ext3 (periódico) en la partición hda1. 
  4. mkfs -t vfat 32 -F /dev/hda1: crear un fichero de sistema FAT32 en hda1. 
  5. fdformat -n /dev/fd0: formatear un disco flooply. 
  6. mkswap /dev/hda3: crear un fichero de sistema swap.

Trabajo con la SWAP

  1. mkswap /dev/hda3: crear fichero de sistema swap. 
  2. swapon /dev/hda3: activando una nueva partición swap. 
  3. swapon /dev/hda2 /dev/hdb3: activar dos particiones swap.

Salvas (Backup)

  1. dump -0aj -f /tmp/home0.bak /home: hacer una salva completa del directorio ‘/home’. 
  2. dump -1aj -f /tmp/home0.bak /home: hacer una salva incremental del directorio ‘/home’. 
  3. restore -if /tmp/home0.bak: restaurando una salva interactivamente. 
  4. rsync -rogpav –delete /home /tmp: sincronización entre directorios. 
  5. rsync -rogpav -e ssh –delete /home ip_address:/tmp: rsync a través del túnel SSH. 
  6. rsync -az -e ssh –delete ip_addr:/home/public /home/local: sincronizar un directorio local con un directorio remoto a través de ssh y de compresión. 
  7. rsync -az -e ssh –delete /home/local ip_addr:/home/public: sincronizar un directorio remoto con un directorio local a través de ssh y de compresión. 
  8. dd bs=1M if=/dev/hda | gzip | ssh user@ip_addr ‘dd of=hda.gz’: hacer una salva de un disco duro en un host remoto a través de ssh. 
  9. dd if=/dev/sda of=/tmp/file1: salvar el contenido de un disco duro a un fichero. (En este caso el disco duro es “sda” y el fichero “file1”).tar -Puf backup.tar /home/user: hacer una salva incremental del directorio ‘/home/user’.
  10. ( cd /tmp/local/ && tar c . ) | ssh -C user@ip_addr ‘cd /home/share/ && tar x -p’: copiar el contenido de un directorio en un directorio remoto a través de ssh.
  11. ( tar c /home ) | ssh -C user@ip_addr ‘cd /home/backup-home && tar x -p’: copiar un directorio local en un directorio remoto a través de ssh. 
  12. tar cf – . | (cd /tmp/backup ; tar xf – ): copia local conservando las licencias y enlaces desde un directorio a otro. 
  13. find /home/user1 -name ‘*.txt’ | xargs cp -av –target-directory=/home/backup/ –parents: encontrar y copiar todos los ficheros con extensión ‘.txt’ de un directorio a otro.
  14. find /var/log -name ‘*.log’ | tar cv –files-from=- | bzip2 > log.tar.bz2: encontrar todos los ficheros con extensión ‘.log’ y hacer un archivo bzip. 
  15. dd if=/dev/hda of=/dev/fd0 bs=512 count=1: hacer una copia del MRB (Master Boot Record) a un disco floppy. 
  16. dd if=/dev/fd0 of=/dev/hda bs=512 count=1: restaurar la copia del MBR (Master Boot Record) salvada en un floppy.

CD-ROM

  1. cdrecord -v gracetime=2 dev=/dev/cdrom -eject blank=fast -force: limpiar o borrar un cd regrabable. 
  2. mkisofs /dev/cdrom > cd.iso: crear una imagen iso de cdrom en disco. 
  3. mkisofs /dev/cdrom | gzip > cd_iso.gz: crear una imagen comprimida iso de cdrom en disco. 
  4. mkisofs -J -allow-leading-dots -R -V “Label CD” -iso-level 4 -o ./cd.iso data_cd: crear una imagen iso de un directorio.
  5. cdrecord -v dev=/dev/cdrom cd.iso: quemar una imagen iso. 
  6. gzip -dc cd_iso.gz | cdrecord dev=/dev/cdrom -: quemar una imagen iso comprimida. 
  7. mount -o loop cd.iso /mnt/iso: montar una imagen iso. 
  8. cd-paranoia -B: llevar canciones de un cd a ficheros wav. 
  9. cd-paranoia – ”-3”: llevar las 3 primeras canciones de un cd a ficheros wav. 
  10. cdrecord –scanbus: escanear bus para identificar el canal scsi. 
  11. dd if=/dev/hdc | md5sum: hacer funcionar un md5sum en un dispositivo, como un CD.

Trabajo con la RED ( LAN y Wi-Fi)

  1. ifconfig eth0: mostrar la configuración de una tarjeta de red Ethernet. 
  2. ifup eth0: activar una interface ‘eth0′. 
  3. ifdown eth0: deshabilitar una interface ‘eth0′. 
  4. ifconfig eth0 192.168.1.1 netmask 255.255.255.0: configurar una dirección IP. 
  5. ifconfig eth0 promisc: configurar ‘eth0′en modo común para obtener los paquetes (sniffing). 
  6. dhclient eth0: activar la interface ‘eth0′ en modo dhcp. 
  7. route -n: mostrar mesa de recorrido.
  8. route add -net 0/0 gw IP_Gateway: configurar entrada predeterminada. 
  9. route add -net 192.168.0.0 netmask 255.255.0.0 gw 192.168.1.1: configurar ruta estática para buscar la red ’192.168.0.0/16′. 
  10. route del 0/0 gw IP_gateway: eliminar la ruta estática. 
  11. echo “1” > /proc/sys/net/ipv4/ip_forward: activar el recorrido ip. 
  12. hostname: mostrar el nombre del host del sistema. 
  13. host www.example.com: buscar el nombre del host para resolver el nombre a una dirección ip(1). 
  14. nslookup www.example.com: buscar el nombre del host para resolver el nombre a una direccióm ip y viceversa(2).
  15. ip link show: mostar el estado de enlace de todas las interfaces.
  16. mii-tool eth0: mostar el estado de enlace de ‘eth0′. 
  17. ethtool eth0: mostrar las estadísticas de tarjeta de red ‘eth0′. 
  18. netstat -tup: mostrar todas las conexiones de red activas y sus PID. 
  19. netstat -tupl: mostrar todos los servicios de escucha de red en el sistema y sus PID. 
  20. tcpdump tcp port 80: mostrar todo el tráfico HTTP. 
  21. iwlist scan: mostrar las redes inalámbricas. 
  22. iwconfig eth1: mostrar la configuración de una tarjeta de red inalámbrica. 
  23. whois www.example.com: buscar en base de datos Whois.

Redes de Microsoft Windows (SAMBA)

    nbtscan ip_addr: resolución de nombre de red bios.
    nmblookup -A ip_addr: resolución de nombre de red bios.
    smbclient -L ip_addr/hostname: mostrar acciones remotas de un host en windows.

Tablas IP (CORTAFUEGOS)
 
  1. iptables -t filter -L: mostrar todas las cadenas de la tabla de filtro. iptables -t nat -L: mostrar todas las cadenas de la tabla nat.
  2. iptables -t filter -F: limpiar todas las reglas de la tabla de filtro.
  3. iptables -t nat -F: limpiar todas las reglas de la tabla nat. 
  4. iptables -t filter -X: borrar cualquier cadena creada por el usuario. 
  5. iptables -t filter -A INPUT -p tcp –dport telnet -j ACCEPT: permitir las conexiones telnet para entrar. 
  6. iptables -t filter -A OUTPUT -p tcp –dport http -j DROP: bloquear las conexiones HTTP para salir.
  7. iptables -t filter -A FORWARD -p tcp –dport pop3 -j ACCEPT: permitir las conexiones POP a una cadena delantera. 
  8. iptables -t filter -A INPUT -j LOG –log-prefix “DROP INPUT”: registrando una cadena de entrada. 
  9. iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE: configurar un PAT (Puerto de traducción de dirección) en eth0, ocultando los paquetes de salida forzada. 
  10. iptables -t nat -A PREROUTING -d 192.168.0.1 -p tcp -m tcp –dport 22 -j DNAT –to-destination 10.0.0.2:22: redireccionar los paquetes diriguidos de un host a otro.

Monitoreando y depurando

  1. top: mostrar las tareas de linux usando la mayoría cpu. 
  2. ps -eafw: muestra las tareas Linux. 
  3. ps -e -o pid,args –forest: muestra las tareas Linux en un modo jerárquico. 
  4. pstree: mostrar un árbol sistema de procesos. 
  5. kill -9 ID_Processo: forzar el cierre de un proceso y terminarlo. 
  6. kill -1 ID_Processo: forzar un proceso para recargar la configuración. 
  7. lsof -p $$: mostrar una lista de ficheros abiertos por procesos. 
  8. lsof /home/user1: muestra una lista de ficheros abiertos en un camino dado del sistema. 
  9. strace -c ls >/dev/null: mostrar las llamadas del sistema hechas y recibidas por un proceso.
  10. strace -f -e open ls >/dev/null: mostrar las llamadas a la biblioteca. 
  11. watch -n1 ‘cat /proc/interrupts’: mostrar interrupciones en tiempo real. 
  12. last reboot: mostrar historial de reinicio. 
  13. lsmod: mostrar el kernel cargado. 
  14. free -m: muestra el estado de la RAM en megabytes. 
  15. smartctl -A /dev/hda: monitorear la fiabilidad de un disco duro a través de SMART. 
  16. smartctl -i /dev/hda: chequear si SMART está activado en un disco duro.
  17. tail /var/log/dmesg: mostrar eventos inherentes al proceso de carga del kernel. 
  18. tail /var/log/messages: mostrar los eventos del sistema.

Otros comandos útiles

  1. apropos …keyword: mostrar una lista de comandos que pertenecen a las palabras claves de un programa; son útiles cuando tú sabes qué hace tu programa, pero de sconoces el nombre del comando. 
  2. man ping: mostrar las páginas del manual on-line; por ejemplo, en un comando ping, usar la opción ‘-k’ para encontrar cualquier comando relacionado. 
  3. whatis …keyword: muestra la descripción de lo que hace el programa. 
  4. mkbootdisk –device /dev/fd0 `uname -r`: crear un floppy boteable. 
  5. gpg -c file1: codificar un fichero con guardia de seguridad GNU. 
  6. gpg file1.gpg: decodificar un fichero con Guardia de seguridad GNU. 
  7. wget -r www.example.com: descargar un sitio web completo. 
  8. wget -c www.example.com/file.iso: descargar un fichero con la posibilidad de parar la descargar y reanudar más tarde. 
  9. echo ‘wget -c www.example.com/files.iso‘ | at 09:00: Comenzar una descarga a cualquier hora. En este caso empezaría a las 9 horas. 
  10. ldd /usr/bin/ssh: mostrar las bibliotecas compartidas requeridas por el programa ssh.
  11. alias hh=’history’: colocar un alias para un commando –hh= Historial. 
  12. chsh: cambiar el comando Shell. 
  13. chsh –list-shells: es un comando adecuado para saber si tienes que hacer remoto en otra terminal. 
  14. who -a: mostrar quien está registrado, e imprimir hora del último sistema de importación, procesos muertos, procesos de registro de sistema, procesos activos producidos por init, funcionamiento actual y últimos cambios del reloj del sistema.


Tomado de: http://blog.desdelinux.net/mas-de-400-comandos-para-gnulinux-que-deberias-conocer/