M

Moskera

Usuario (España)

Primer post: 30 ago 2010Último post: 31 ago 2012
24
Posts
355
Puntos totales
33
Comentarios
C
Capturar paquetes de redes a las que pueda acceder un PC
Ciencia EducacionporAnónimo10/25/2010

Titulo: Capturar paquetes de redes a las que pueda acceder un PC PacketViewer es un programa capturador de paquetes, a este tipo de programas también se les conoce como snifers. Su función es la de guardar la información que pasa por la red para poder interpretarla después. Cuenta con un filtro de protocolos, conversor de IP a dominios y diversas herramientas para probar las conexiones TCP, UDP, Ping, etc. El programa se ofrece de forma gratuita, requiere de .NET Framework 2.0 y funciona con Win2000/XP/2003/Vista. Descargar http://patrice-zwenger.net46.net/Documents/Zip_Files/PacketViewer.zip Fuente: http://www.portalhacker.net/post/609/Capturar-paquetes-de-redes-a-las-que-pueda-acceder-un-PC.html Este programa lo he posteado solo con fines educativos, no para amargarle la vida al vecino

0
0
¿
¿Por qué vuelan los aviones?
Ciencia EducacionporAnónimo8/30/2010

¿Por qué vuelan los aviones? ¿Quién no se ha planteado alguna vez esta pregunta? ¿Quién no se ha maravillado al ver cómo verdaderos monstruos de metal se elevan por los aires? Los aviones vuelan simple y llanamente porque aparece una fuerza (llamada sustentación) que tira de ellos hacia arriba haciendo que se eleven por el aire. Vamos a ver cómo es esa fuerza y en especial, por qué aparece. La fuerza de la sustentación es proporcional a la velocidad, a la densidad del aire y a una superficie de referencia llamada superficie alar. Por lo tanto, para que un avión se mantenga en el aire, necesita ir muy rápido, para que así su sustentación sea lo suficientemente grande como para vencer al peso (a la gravedad). Por eso, cuando un avión va despacio, éste entra en pérdida y cae siendo incapaz de soportar su peso. Pero... ¿por qué aparece la sustentación? Bien, la sustentación aparece porque la presión en la cara superior del ala (extradós) es inferior a la de la cara inferior (intradós). Esa diferencia de presiones hace que aparezca dicha fuerza. Pero, ¿por qué pasa eso? Esto es debido a que la velocidad del aire que va por el extradós es mayor que la del intradós. Al ser la velocidad mayor, como Bernoulli demostró en su famosa ecuación, la presión disminuye. Esto se conoce como efecto Bernoulli. ¿Y cómo consiguen los ingenieros que el aire vaya más rápido por arriba? Muy fácil, simplemente curvando un poco el ala, de manera que una partícula fluida que vaya por el extradós tenga que recorrer más espacio que una que vaya por el intradós. Imaginaros dos partículas que están en reposo en el aire, y de repente se encuentran con el perfil de un ala como el de la figura. Una “decide” ir por arriba y otra por abajo. Debido a la forma y curvatura del ala, si las dos quieren volverse a encontrar al final de la misma, la que vaya por arriba deberá ir más rápido, para que le dé tiempo a recorrer su camino (más largo) en el mismo tiempo. Por eso, los perfiles alares tienen esa forma. Gracias a la curvatura, el aire va más deprisa en el extradós, la presión es menor y debido a esa diferencia de presiones aparece la sustentación que hace que los aviones vuelen.

0
1
Ley Sinde
Ley Sinde
OfftopicporAnónimo12/20/2010

Compañeros de Taringa, en este post trataré la Ley Sinde. Otros usuarios han hecho posts semejantes, pero ninguno de los que yo vi ha puesto la ley en cuestión. Aquí les dejo la ley: http://www.economiasostenible.gob.es/wp-content/uploads/2010/03/01_proyecto_ley_economia_sostenible.pdf Como detenerla: Recuérdales que tu voto cuenta, ayúdales a decir NO a la ley Sinde xMailer es una aplicación web de democracia directa participativa que consiste en un código HTML que puedes integrar en tu web permitiendo que cualquier ciudadana/o pueda enviar un mail a todas/os las/los diputadas/os. En esta ocasión tratamos de mostrar nuestra preocupación por la aprobación de la Disposición Final segunda de la LES (Ley de Economía Sostenible), la llamada Ley Sinde. Para ello puedes usar el siguiente formulario con el fin de enviar un mensaje automáticamente a todas/os las/os diputadas/os del Congreso o copiar el código del formulario para pegarlo directamente en el de tu web o blog. Formulario: http://xmailer.hacktivistas.net/es/message

0
0
appnr.com un synaptic en la web
appnr.com un synaptic en la web
LinuxporAnónimo12/11/2010

En esta pagina se puede encontrar aplicaciones para ubuntu e instalarlas con un click. appnr.com Fuente: http://machgeek.wordpress.com/2010/11/19/appnr-com-un-synaptic-en-la-web/

0
0
Instalar la última versión oficial de OpenOffice en Ubuntu
Instalar la última versión oficial de OpenOffice en Ubuntu
LinuxporAnónimo10/25/2010

Ubuntu 10.04 trae instalada una versión modificada de OpenOffice 3.2 para que funcione perfectamente en nuestro escritorio, por lo que no recomiendo su cambio ya que en la actualidad es la misma versión. Para aquellos que quieran la última versión "oficial" de OpenOffice 3.2 podemos descargar un paquete desde su página web o añadir los repositorios oficiales que es la mejor y más sencilla opción. En su página web nos recomienda tener instalado Java JRE (propietario) en vez de OpenJDK (libre). En este artículo os explico cómo hacerlo. Para añadir los repositorios abrimos una terminal y ejecutamos el comando: sudo add-apt-repository ppa:openoffice-pkgs/ppa Actualizamos los repositorios con el comando: sudo aptitude update Y ahora nos podemos encontrar con varias situaciones: Tenemos la versión de OpenOffice que trae Ubuntu por defecto Si tenemos openoffice instalado solo tenemos que actualizar con el comando: sudo aptitude safe-upgrade No tenemos OpenOffice instalado Si no tenemos openoffice instalado, lo instalamos con el comando: sudo aptitude install openoffice.org Si usamos Gnome, instalamos también el siguiente paquete: sudo aptitude install openoffice.org-gnome Y si usamos KDE instalamos este otro: sudo aptitude install openoffice.org-kde Para instalar el idioma español: Instalamos el idioma español y la ayuda en español con el comando: sudo apt-get install openoffice.org-l10n-es openoffice.org-help-es Hemos instalado un paquete de OpenOffice desde su página web Si ya habias instalado OpenOffice proporcionado por el sitio web de OpenOffice debemos de desinstalarlo y volver a instalarlo: Vamos a Sistema - Administración - Gestor de paquetes Synaptic, buscamos “OpenOffice” y desinstalamos todos los paquetes que tengamos instalados Y procedemos a instalarlo como si no lo tuviéramos (anterior apartado). Fuente: http://ubuntu-guia.blogspot.com/2010/06/instalar-ultima-version-openoffice.html

0
0
Comandos básicos para la terminal de Ubuntu
Comandos básicos para la terminal de Ubuntu
LinuxporAnónimo2/8/2011

1. INTRODUCCIÓN Un intérprete de comandos es un programa que toma la entrada del usuario, por ejemplo las órdenes que teclea, y la traduce a instrucciones. Podemos compararlo con el COMMAND.COM de MS-DOS. Para pasar al modo texto (intérprete de comandos) desde el modo gráfico hemos de pulsar las combinaciónes: Ctrl + Alt + F1 o bien con: F2 F3 F4 F5 F6 Esto hace que el sistema salga del modo gráfico y acceda a alguna de las seis consolas virtuales de Linux, a las cuales también se puede acceder cuando se arranca en modo de texto. Para volver al modo gráfico hay que presionar Ctrl + Alt + F7 o Ctrl + Alt + F8 (Según la sesión en modo gráfico a la que deseemos regresar). Además de ser un intérprete interactivo de los comandos que tecleamos, el Shell es también un lenguaje de programación, el cual nos permite escribir guiones que permiten juntar varias órdenes en un fichero. Similar a los ficheros batch de MS-DOS. Enlaces de interés: GNU Emacs, Manuales Online Una introducción rápida a GNU Emacs 2. NOCIONES BÁSICAS En una terminal: Las aplicaciones con nombres compuestos se escriben con guión entre las palabras (ej. compizconfig-settings-manager). Para los espacios en blanco se pone un guión inferior (ej. nombre_archivo) Cuando queremos poner varios comandos seguidos, para ejecutarlos a la vez, dejamos un espacio entre ellos, nunca una coma (ej. avidemux k3b kde-i18n-es k3b-i18n). Cuando tecleamos una orden, el intérprete de comandos sigue una serie de pasos: 1. Busca el nombre de la orden y comprueba si es una orden interna. 2. Comprueba si la orden es un alias, es decir, un nombre sustitutorio de otra orden. 3. Si no se cumple ninguno de los casos anteriores, busca el programa correspondiente y lo ejecuta. 4. Si el intérprete de comandos no puede encontrar la orden que hemos tecleado, muestra un mensaje de error. El formato general de una orden en Linux es: comando [-opciones] [argumentos] A la hora de introducir los comandos hay que tener en cuenta las siguientes características: • Los comandos hay que teclearlos exactamente. • Las letras mayúsculas y minúsculas se consideran como diferentes. • En su forma más habitual, el sistema operativo utiliza un signo de $ como prompt para indicar que está preparado para aceptar comandos, aunque este carácter puede ser fácilmente sustituido por otro u otros elegidos por el usuario. En el caso de que el usuario acceda como administrador este signo se sustituye por #. • Cuando sea necesario introducir el nombre de un fichero o directorio como argumento a un comando, Linux, permite escribir las primeras letras del mismo y realiza un autorrellenado al presionar la tecla del tabulador. Si no puede distinguir entre diversos casos rellenará hasta el punto en el que se diferencien. La Terminal guarda un HISTORIAL y podéis ver cómo funciona en: http://ubuntu-guia.blogspot.com/2010/08/historial-terminal-consola-ubuntu.html 4. COMANDOS BÁSICOS ls -> list: listar. Nos muestra el contenido de la carpeta que le indiquemos después. Es el primer comando que todo linuxero debe aprender. Por ejemplo. Si queremos que nos muestre lo que contiene /etc: $ ls /etc Si no ponemos nada interpretará que lo que queremos ver es el contenido de la carpeta donde estamos actualmente: $ ls Además acepta ciertos argumentos que pueden ser interesantes. Para mostrar todos los archivos y carpetas, incluyendo los ocultos: $ ls -a Para mostrar los archivos y carpetas junto con los derechos que tiene, lo que ocupa, etc: $ ls -l Además se pueden solapar los argumentos. Si quisiéramos mostrar los archivos de la misma forma que antes, pero que muestre también los ocultos: $ ls -la cd -> change directory: cambiar directorio. Podemos usarlo con rutas absolutas o relativas. En las absolutas le indicamos toda la ruta desde la raíz (/). Por ejemplo, estemos donde estemos, si escribimos en consola… $ cd /etc/apt …nos llevará a esa carpeta directamente. Del mismo modo si escribimos… $ cd / …nos mandará a la raíz del sistema de ficheros. Las rutas relativas son relativas a algo, y ese algo es la carpeta donde estemos actualmente. Imaginad que estamos en /home y queremos ir a una carpeta que se llama temporal dentro de vuestra carpeta personal. Con escribir… $ cd tu_carpeta/temporal …nos situará allí. Como véis hemos obviado el /home inicial ya que si no lo introducimos toma como referencia el directorio donde estamos, que es ese. ¿Y qué sucede si escribimos tan sólo… $ cd Sí, sólo “cd”. Esto lo que hace es que te lleva a tu carpeta personal directamente y estemos donde estemos. Es algo realmente muy práctico, muy simple y que no todos conocen. mkdir -> make directory: hacer directorio. Crea una carpeta con el nombre que le indiquemos. Nuevamente podemos usar rutas absolutas y relativas. Podemos indicarle toda la ruta que le precede al directorio que queremos crear, o si estamos ya en la carpeta que lo va a contener basta con poner tan sólo el nombre: $ mkdir /home/tu_cuenta/pepino Si ya estamos en /home/tu_cuenta… $ mkdir pepino rm -> remove: borrar. Borra el archivo o la carpeta que le indiquemos. Como antes se puede indicar la ruta completa o el nombre del archivo. Esto a partir de ahora lo vamos a obviar, creo que ya ha quedado claro con los dos comandos anteriores. Para borrar un archivo: $ rm nombre_archivo Para borrar una carpeta vacía: $ rm nombre_carpeta Para borrar una carpeta que contiene archivos y/o otras carpetas que pueden incluso contener más: $ rm -r nombre_carpeta Otras opciones: “-f” no te pide una confirmación para eliminar o “-v” va mostrando lo que va borrando. Para borrar un directorio: $ rmdir nombre_directorio cp -> copy: copiar. Copia el archivo indicado donde le digamos. Aquí podemos también jugar con las rutas, tanto para el fichero origen, como en el del destino. También podéis poner el nombre que le queréis poner a la copia. Por ejemplo, si estuviéramos en /etc/X11 y quisiéramos hacer una copia de seguridad de xorg.conf en nuestra carpeta personal: $ cp xorg.conf /home/tu_carpeta/xorg.conf.backup mv -> move: mover. Es igual que el anterior, sólo que en lugar de hacer una copia, mueve directamente el archivo con el nombre que le indiquemos, puede ser otro distinto al original: $ mv /etc/pepino.html /home/tu_carpeta/ese_pepino.html Otro uso muy práctico que se le puede dar es para renombrar un archivo. Basta con indicar el nuevo nombre en el segundo argumento con la misma ruta del primero. En este ejemplo suponemos que ya estamos en la carpeta que lo contiene: $ mv pepino.html ese_pepino.html find -> find: encontrar. Busca el archivo o carpeta que le indiques: $ find / -name pepino El comando anterior buscaría en todos los sitios las carpetas y archivos que se llamen pepino. Si tuviéramos la seguridad de que se encuentra en /var por ejemplo, se lo indicaríamos: $ find /var -name pepino Si no estamos muy seguros del nombre podemos indicárselo con comodines. Supongamos que el nombre de lo que buscamos contiene “pepi”, en la misma carpeta de antes: $ find /var -name *pepi* Tiene otras opciones. Por ejemplo podemos decirle que encuentre los archivos/carpetas de más de 1500 KB: $ find / -size +1500 O los archivos/carpetas contienen el nombre “pepi” y tienen menos de 1000 KB: $ find / -name *pepi* -size -1000 clear -> clear: despejar. Limpia la pantalla/consola quedándola como si acabáramos de abrirla. $ clear ps -> process status: estado de los procesos. Nos muestra lo que queramos saber de los procesos que están corriendo en nuestro sistema. Cada proceso está identificado con un número llamado PID. Si hacemos… $ ps -A …nos mostrará un listado de todos los procesos, su PID a la izquierda y su nombre a la derecha. Si queremos más información: $ ps aux kill -> kill: matar. Elimina el proceso que le indiquemos con su PID: $ kill En ocasiones el proceso no “muere” del todo, pero se le puede forzar al sistema para que lo mate con seguridad del siguiente modo: $ kill -9 sudo -> super-user do: hacer como superusuario. La cuenta de usuario en Ubuntu es relativamente normal. Tiene derechos de administrador a medias. Me explico, los tiene, pero cada vez que se haga algo importante y de riesgo para el sistema, hay que hacerlo mediante el prefijo “sudo” y escribiendo después la contraseña. Por ejemplo, algo que hemos hecho muchas veces en los tutoriales es hacer una copia de seguridad del fichero xorg.conf. Éste está localizado en la carpeta /etc/X11 y ahí ningún usuario puede hacer modificaciones o borrar nada si no es el administrador o tiene derechos como tal, gracias a sudo. Por eso hacíamos siempre: $ sudo cp /etc/X11/xorg.conf /etc/X11/xorg.conf Siempre que necesitemos hacer un apt-get/aptitude update o install y acciones de este tipo, tendremos que poner antes el “sudo” passwd -> password: contraseña. Con este comando podremos cambiar la contraseña de nuestra cuenta. Primero nos pedirá la contraseña actual como medida de seguridad. Después nos pedirá que introduzcamos dos veces seguidas la nueva contraseña. $ passwd su -> super-user: superusuario. (aunque el comando su suele relacionarse con "super user" realmente parece ser que viene de "switch user" o "substitute user" Mediante su podremos loguearnos como superusuario. Tras escribirlo nos pedirá la contraseña de root y estaremos como administrador. Podremos hacer todo lo que queramos. $ su Este comando también nos permite hacer login con otra cuenta distinta. Por ejemplo, imaginemos que tenemos otra cuenta, además de root y la nuestra, llamada “invitado”. Para hacer login como tal bastaría con poner: $ su invitado y después escribir la contraseña de esa cuenta. sudo passwd -> podréis cambiar la contraseña de root (la del super-usuario). No es un comando propiamente dicho (es la unión de 2) pero es interesante que lo conozcáis. $ sudo passwd apt -> advanced packets tool: herramienta avanzada de paquetes. Es uno de los comandos más útiles que se han desarrollado en los sistemas GNU/Linux debian o basados en esta distro. Nos permite comprobar actualizaciones, actualizar todo el sistema. También nos ofrece funcionalidad para buscar, descargar e instalar paquetes con una sola orden. Tenemos variantes, las más usadas son las siguientes: $ apt-cache search nombre_paquete Busca nombre_paquete para ver si existe literal o aproximadamente ofreciéndonos los paquetes que pudieran ser en caso de que hayamos puesto un nombre aproximado. $ apt-get update Actualiza los repositorios que son los que contienen los paquetes. Los repositorios son como las direcciones que contienen nuestros paquetes. apt-get update lo que hace es actualizar el listado de todos esos paquetes, con la dirección de dónde obtenerlos para que a la hora de hacer la búsqueda y su posterior descarga sea más rápida haciéndolo en nuestro ordenador. $ apt-get upgrade Actualiza nuestro sistema con todas las posibles actualizaciones que pudiera haber. La actualización no se realiza sólo sobre el propio sistema operativo, sino también sobre las aplicaciones que estén contenidas en los repositorios. Una útil forma de estar siempre al día. $ apt-get install nombre_paquete Localizado el nombre del paquete que queremos descargar e instalar, este comando se encargará del proceso. Buscará en nuestro índice (el que se crea con update) de dónde tiene que descargarse el paquete, lo hace y posteriormente lo instala. $ apt-get remove [--purge] nombre_paquete Elimina el paquete especificado del sistema. Damite el argumento “–purge” (corchetes = opcional) para que borre también los ficheros de configuración. $ apt-get autoremove Elimina paquetes que han quedado inservibles tras realizar algún apt-get remove, los llamados huérfanos. Normalmente tras hacer este último te avisa en un mensaje que lo realices. Todos estos comandos necesitan tener privilegios de administración, así que si no los usáis como root, debéis agregar primero el conocido “sudo”. aptitude -> aptitude: aptitud, habilidad. En el fondo juega con las siglas de apt para crear aptitude. Es una versión mejorada de apt. Si os habéis fijado en todos los manuales y entradas donde había un proceso de instalación he usado aptitude en lugar de apt. El segundo es quizá el más extendido al ser el que vio la luz primero. aptitude nació como un front-end de apt, es decir, como una especie de aplicación gráfica y en modo texto para realizar todo lo que hace apt. Pero lo cierto es que sus características son mejores. apt cuando instala algo te puede realizar una sugerencia para que instales algo más que te podría venir bien, pero no lo hace. Hay programas que a la vez usan otros para algunas de sus funciones u opciones. apt no instalaría los segundos, como mucho te avisaría. Sin embargo aptitude sí que lo instalará porque sabe que de alguna forma es indispensable para el que has pedido. De la misma forma, si con apt instalas luego ese programa que es usado por otro, cuando desinstalas el principal, no se desinstalará el secundario, aunque éste ya no tenga mucho sentido que esté instalado, y lo mismo sucede con librerías. aptitude está capacitado para desinstalar lo que él mismo ha instalado como recomendación. Te deja el sistema más limpio tras las desinstalaciones. Para abrir el interfaz gráfico de aptitude, tan sólo hay que teclearlo: $ aptitude Sin embargo, también se puede usar exactamente igual que apt, pero con las características que he comentado de aptitude: $ aptitude search nombre_paquete $ aptitude install nombre_paquete $ aptitude remove nombre_paquete $ aptitude purge nombre_paquete $ aptitude update $ aptitude upgrade Y al igual que antes, necesitaréis usarlo con el sudo delante si no estáis como administrador. dpkg -> depackage: despaquetar. Los paquetes cuando se instalan sufren un proceso de despaquetaje. En el fondo un paquete .deb contiene una serie de scripts de pre-instalación, post-instalación y los archivos en cuestión del paquete. Este comando lo usaremos para instalar un paquete .deb que ya tengamos descargados en nuestro sistema. En muchas ocasiones hay una aplicación que no está en los repositorios y nos hemos bajado el .deb para instalarlo con el interfaz gráfico que corresponda (GDebi en el caso de GNOME). En el fondo estas interfaces gráficas están basadas en dpkg. Si queremos instalar un paquete ya descargado mediante consola usaremos el argumento ‘-i’ (i=install): $ dpkg -i nombre_paquete Para desinstalarlo ‘-r’ (r=remove): $ dpkg -r nombre_paquete Para desinstalar el paquete y los ficheros de configuración “–purge” (purgar): $ dpkg -r –purge nombre_paquete Alien -> Alien: de otro país, de otro planeta. Aunque Debian -y por extensión Ubuntu- dispone de una ingente cantidad de paquetes en sus repositorios, puede que alguien tenga algún problema en encontrar una aplicación específica empaquetada como le interesa aunque ha visto el paquete que quiere para otras distros. alien es bastante práctico para estas situaciones ya que nos permite transformar un paquete de un gestor de paquetes determinado en otro. Por ejemplo podemos pasar de un .deb (Debian) a un .rpm (Red Hat) y viceversa. Las extensiones soportadas son: * deb (Debian) * rpm (Red Hat) * slm (Stampede) * tgz (Slackware) * pkg (Solaris) Su uso es sencillo. Lo que debemos saber es el argumento que transformará el paquete original en la extensión objetivo: * “–to-deb” o “-d” para transformar a .deb * “–to-rpm” o “-r” para transformar a .rpm * “–to-tgz” o “-t” para transformar a .tgz * “–to-pkg” o “-p” para transformar a .pkg * “–to-slp” para transformar a .slp Como ejemplo, pasaremos un supuesto paquete de Red Hat llamado “pepino.rpm” a “pepino.deb”: $ alien -d pepino.rpm man -> manual: manual. Es otro de los comandos de gran potencia en linux. Normalmente queda programa o comando viene con un archivo de ayuda muy completo sobre su uso y sus argumentos. Cuando desconozcáis cómo se usa y qué argumentos tiene un comando o aplicación tan sólo tenéis que escribir en consola: $ man nombre En ocasiones la información que nos ofrece man puede llegar a ser excesiva. Casi todos los comandos y aplicaicones aceptan el argumento “--help” o "-h" para que muestre cierta ayuda más resumida. Por ejemplo con aptitude: $ aptitude --help $ aptitude -h Todos los comandos que os he mostrado tienen muchos más argumentos. Os he puesto los más usados o necesarios, así que si hay alguno que os interesa particularmente conocer más de él, tenéis “man” o “--help” para obtener más detalles. Enlace: poner en español el comando "man" passwd - Podemos cambiar la contraseña empleando la orden passwd. Nos pedirá la contraseña anterior (current) y la nueva. Volverá a pedir una segunda vez la nueva para validarla. El usuario root podrá cambiar la contraseña de cualquier otro usuario. Sin embargo, los usuarios no privilegiados solamente podrán cambiar su propia clave. Sintaxis: passwd date - Muestra por pantalla el día y la hora, permitiendo, además, el cambio de la misma. Sintaxis: date [opcion][formato] cal - Muestra el calendario del mes o año actual actual. Sintaxis: cal [mes][año] Por ejemplo, • cal muestra el calendario del mes actual. • cal 1949 muestra el calendario del año 1949. • cal 05 1945 muestra el calendario de Mayo de 1949. who - Indica qué usuarios tiene el ordenador en ese momento, en qué terminal están y a qué hora iniciaron la sesión. Sintaxis who whoami - Indica el usuario que está trabajando en la terminal actual. Sintaxis: whoami finger - Presenta una información completa de los usuarios conectados a la red. Sintaxis: finger [-bfilpqsw][login1 login2] uname - Proporciona el nombre del sistema en el que se está trabajando. Sintaxis: uname [-opciones] Como opciones principales tenemos: -a indica, además, la versión, fecha y tipo de procesador. -m indica, además, el tipo de de procesador. -r indica, además, la versión. -v indica, además, la fecha. logname - Indica el nombre del usuario conectado al sistema (el que ha hecho login). Sintaxis: logname info - Proporciona ayuda resumida acerca de un comando en cuestión. Sintaxis: info [comando] clear - Este comando se utiliza para limpiar la pantalla. Sintaxis: clear echo - Muestra por pantalla los argumentos que le pasamos. Sintaxis: echo [argumento1] [argumento2] ... [argumentoN] alias - Asigna un nombre o etiqueta a la ejecución de un comando con sus opciones. Sintaxis: alias etiqueta=’orden’ La orden alias solamente, muestra todos los alias que hay creados. La orden unalias elimina el alias especificado. 5. CARACTERES COMODÍN O WILDCARDS Una característica importante de la mayoría de los intérpretes de comandos en Linux es la capacidad para referirse a más de un fichero. Una forma de hacerlo es utilizando caracteres especiales llamados comodines. Al igual que en MS-DOS, el comodín * hace referencia a cualquier carácter o cadena de caracteres en el nombre del fichero. El intérprete de comandos sustituirá el asterisco por todas las combinaciones posibles provenientes de los ficheros en el directorio al cual nos estamos refiriendo. Se dice que está realizando una expansión de comodines. El carácter ? es también comodín, aunque solamente expande un carácter. Con ambos caracteres existe una excepción. No afectarán a aquellos ficheros que comienzan por un punto, y que son ocultos para órdenes como ls. Además, podemos utilizar los corchetes para referirnos a un conjunto de caracteres o bien un rango de caracteres ASCII. Ejemplos: $ls *n* muestra todos los archivos y directorios, del directorio actual, que contienen el carácter n $ls * muestra todos los archivos y directorios del directorio actual $ls tm? muestra todos los archivos y directorios del directorio actual que comienzan por tm y contienen tres caracteres $ls tabla[123]a muestra todos los archivos y directorios del directorio actual que comienzan por tabla, seguidos del carácter 1, 2 ó 3, y terminan en a $ls ??base[A-Z][5-9]* muestra todos los archivos y directorios del directorio actual que comienzan con dos caracteres cualesquiera, seguidos de la cadena base, a continuación una letra mayúscula, seguida de un número del 5 al 9 y por último una cadena de caracteres (uno, varios o ninguno) 6. ÓRDENES RELACIONADAS CON DIRECTORIOS Directorio Personal Como se ha visto anteriormente el directorio personal es un directorio con un determinado nombre asignado a un usuario. Los directorios personales habitualmente son subdirectorios de /home (en algunos casos se utiliza mnt, u otro subdirectorio de orden inferior). Generalmente el nombre coincide con el del nombre de usuario, aunque puede no ser así, y varios usuarios pueden estar trabajando en el mismo directorio. Cada usuario de Linux puede crear una estructura en árbol de subdirectorios y archivos tan compleja como desee bajo su directorio personal pero normalmente nunca fuera de él. ls Permite mostrar el contenido de un directorio. ls Muestra los nombres de los ficheros y subdirectorios contenidos en el directorio en el que se está. Sólo se obtienen los nombres de los ficheros, sin ninguna otra información. Sintaxis: ls [-opciones][fichero] -a Muestra todos los ficheros incluyendo algunos que ordinariamente están ocultos para el usuario (aquellos que comienzan por un punto). Recordemos que el fichero punto . indica el directorio actual y el doble punto .. el directorio padre, que contiene, al actual. -l Esta es la opción de lista larga: muestra toda la información de cada fichero incluyendo: protecciones, tamaño y fecha de creación o del último ambio introducido,... -c Muestra ordenando por día y hora de creación. -t Muestra ordenando por día y hora de modificación. -r Muestra el directorio y lo ordena en orden inverso. -R Lista también subdirectorios. ls subdir Muestra el contenido del subdirectorio subdir. -l filename Muestra toda la información sobre el fichero filename. --color Muestra el contenido del directorio coloreado. Las opciones anteriores pueden combinarse. Por ejemplo: ls -cr Muestra el directorio ordenando inversamente por fechas. El comando ls admite los caracteres de sustitución o * y ?. Por ejemplo: ls *.gif Muestra todos los nombres de ficheros que acaben en .gif, por ejemplo, dib1.gif, a.gif, etc. ls file? Muestra todos los ficheros cuyos nombres empiecen por file y tengan un nombre de cinco caracteres, por ejemplo: file1, file2, filea, etc. mkdir El comando mkdir (make directory) permite a cada usuario crear un nuevo subdirectorio. Sintaxis: mkdir subdirectorio donde subdirectorio es el nombre del directorio que se va a crear. rmdir Este comando borra uno o más directorios del sistema (remove directory), siempre que estos subdirectorios estén vacíos. Sintaxis: rmdir subdirectorio Por ejemplo, rmdir subdir1, donde subdir es el nombre del directorio que se va a eliminar. cd Este comando permite cambiar de directorio a partir del directorio actual de trabajo. Sintaxis: cd [directorio] Veamos algunas opciones: cd – cambia al último directorio en el que estuvimos antes del actual. cd.. cambia al directorio padre. cd. nos deja donde estamos. cd Nos sitúa nuevamente en el directorio personal del usuario. cd / cambia al directorio raíz Nota: al contrario que en MS-DOS en Linux no existe la forma cd.. sin espacio entre cd y los dos puntos. pwd El comando pwd (print working directory) visualiza o imprime la ruta del directorio en el que nos encontramos en este momento. Este comando es uno de los pocos que no tiene opciones y se utiliza escribiendo simplemente pwd. 7. ACCESO A UNIDADES DE DISCO: MONTAJE Y DESMONTAJE Linux a diferencia de Windows no utiliza letras ("a:", "c:", "d:", ...) para acceder a las distintas unidades de disco de un ordenador. En Linux para acceder al contenido de una unidad de disco o de un CD-ROM este tiene que haber sido previamente "montado". El montado se realiza mediante el comando mount, con lo que el contenido de la unidad se pone a disposición del usuario en el directorio de Linux que se elija. La sintaxis de este comando es la siguiente: mount [-t tipo_de_sistema_ficheros] [dispositivo] directorio_de_montaje Por ejemplo para acceder al CD-ROM se teclearía el siguiente comando: mount -t iso9660 /dev/cdrom /mnt/cdrom donde -t iso9660 indica el tipo de sistema que usa la unidad de disco para guardar los ficheros (las más usuales son: iso9660 en el caso de un CD-ROM, vfat en el caso de Windows, y ext2 (3 o 4) en el caso de Linux), /dev/cdrom indica el dispositivo que se va a montar. Todos los dispositivos están representados por un fichero del directorio /dev; por ejemplo, en el caso de un disquete será seguramente /dev/fd0, por último /mnt/cdrom es el directorio en el que se pondrá a disposición del usuario el contenido del CD-ROM. Para montar disquetes se suele utilizar el directorio /mnt/floppy (aunque esto depende de la versión de Linux que utilicemos). En el caso de Ubuntu, el comando mount admite directamente los directorios /cdrom, /cdrom1, /floppy, ... para el montaje de nuestras unidades, por lo que lo único que habría que escribir, para montar por ejempo la disquetera, sería: mount /floppy Si omitimos el tipo de sistema de ficheros y/o el dispositivo, Ubuntu toma la información correspondiente del fichero /etc/fstab, el cual contiene información de los distintos sistemas de ficheros del equipo. De todas formas el usuario siempre puede crear un directorio vacío con el nombre que el elija para montar las unidades de disco que desee donde desee. Cuando el usuario haya dejado de usar ese disco deberá "desmontarlo" mediante el comando umount antes de sacar el disquete o el CD-ROM. Siguiendo con el ejemplo de la disquetera en Ubuntu, debería escribir: umount /floppy En principio, para utilizar el comando mount especificando todos los parámetros hace falta ser administrador o root. Para que un usuario común pueda utilizar disquetes, CD-ROM, etc. hay que editar el fichero /etc/fstab. Por ejemplo para que cualquier usuario pueda acceder a un disquete habrá que indicar la siguiente línea: /dev/fd0 /mnt/floppy vfat user,noauto 0 0 También habrá que asegurarse de que el directorio /mnt/floppy sea accesible por todos los usuarios. Una vez seguidos los pasos anteriores cualquier usuario podrá "montar" un disquete escribiendo el siguiente comando: mount /mnt/floppy Al igual que antes, el usuario deberá ejecutar el comando umount /mnt/floppy antes de sacar el disquete. Nota: Existen en la actualidad distribuciones (por ejemplo, SuSE Linux) que realizan este proceso de forma automática, por lo que las unidades de disquete y CD-ROM quedan accesibles a todos los usuarios de una forma sencilla, empleando los comandos: mount /mnt/floppy umount /mnt/floppy siempre que /mnt/floppy sea la ruta adecuada. Para desmontar una partición empleamos el comando "umount": sudo umount /dev/sdxX Donde "xX" es la partición que queremos desmontar. Por ej. "sda5" que es la partición "5" del disco duro "a" 8. ÓRDENES RELACIONADAS CON FICHEROS cp Copia un fichero o ficheros en otro fichero o directorio. Sintaxis: cp fichero1 [fichero2] ... [ficheroN] destino donde [ficheroX] es el fichero a copiar y [destino] es el fichero o directorio de destino. Podemos utilizar . y .. para referirnos al directorio actual y al directorio padre respectivamente. Así pues, la orden cp file1 file2, hace una copia de file1 y le llama file2. Si file2 no existía, lo crea con los mismos atributos de file1. Si file2 existía antes, su contenido queda destruido y es sustituido por el de file1. El fichero file2 estará en el mismo directorio que file1. Tanto file1 como file2 indican el nombre de un archivo, que puede incluir el la ruta al mismo si alguno de ellos no se encuentra en el directorio actual. Otra posibilidad es: cp file1 file2 namedir que hace copias de file1 y file2 en el directorio namedir. mv Se utiliza para el traslado y cambio de nombre de ficheros. Sintaxis: cp fichero1 [fichero2] ... [ficheroN] destino Como vemos, este comando tiene una forma similar al anterior. El comando mv realiza la misma función que el cp pero además destruye el fichero original. Así, si ejecutamos la orden mv file1 file2 en definitiva se traslada el contenido de file1 a file2; a efectos del usuario lo que ha hecho es cambiar el nombre a file1, llamándole file2. De igual forma, mv file1 file2 namedir traslada uno o más ficheros (file1, file2,...) al directorio namedir conservándoles el nombre. El comando, mv namedir1 namedir2 cambia el nombre del subdirectorio namedir1 por namedir2. Hay que recalcar que el comando mv sirve así mismo para cambiar el nombre de los ficheros. rm Borrado de ficheros. Este comando elimina uno o más ficheros de un directorio en el cual tengamos permiso de escritura. Sintaxis: rm file1 [file2] Con este comando resulta facilísimo borrar ficheros inútiles, y desgraciadamente, también los útiles. Por eso es conveniente y casi imprescindible emplear lo opción -i, de la forma siguiente: rm -i file1 file2 Con esta opción, Linux pedirá confirmación para borrar cada fichero de la lista, de si realmente se desea su destrucción o no. Se recomienda usar siempre este comando con esta opción para evitar el borrado de ficheros útiles. Por ejemplo, si se teclea, rm -i superfluo aparecerá en pantalla el aviso siguiente: remove superfluo? y habrá que contestar y (yes) o n (not). En este comando se pueden utilizar los caracteres comodines (* y ?), como por ejemplo, rm fich* que borraría todos los ficheros del directorio actual que comiencen por fich. El comando rm * borrará todos los ficheros del directorio actual. Otra opción es –r, que borra directorios recursivamente (borran el directorio y todo su contenido). file Este comando realiza una serie de comprobaciones en un fichero para tratar de clasificarlo, mostrando sus características. Sintaxis: file fichero Tras su ejecución este comando muestra el tipo del fichero e información al respecto del mismo. Este comando se puede aplicar también a directorios. cat Visualización sin formato de un fichero. Este comando permite visualizar el contenido de uno o más ficheros de forma no formateada. También permite copiar uno o más ficheros como apéndice de otro ya existente. Algunas formas de utilizar este comando son las siguientes: cat filename Saca por pantalla el contenido del fichero filename. cat file1 file2 Saca por pantalla, secuencialmente y según el orden especificado, el contenido de los ficheros indicados. cat >file1 Acepta lo que se introduce por el teclado y lo almacena en file1 (se crea file1). Para terminar se emplea d pr Visualización de ficheros con formato. Este comando, a diferencia de cat, imprime por consola el contenido de los ficheros de una manera formateada, por columnas, controlando el tamaño de página y poniendo cabeceras al comienzo de las mismas. Está muy en relación con el comando lp de salida por impresora. Las formas más importantes que admite son las siguientes: pr file Produce una salida estándar de 66 líneas por página, con un encabezamiento de 5 líneas (2 en blanco, una de identificación y otras 2 líneas en blanco). pr -ln file Produce una salida de n líneas por página (cuando el tamaño de papel de impresora, por ejemplo, tiene un número de líneas distinto de 66) pr -p file Hace una pausa para presentar la página, hasta que se pulsa para continuar pr -t file Suprime las 5 líneas del encabezamiento y las del final de página. pr -wn file Ajusta la anchura de la línea a n posiciones. pr -d file Lista el fichero con espaciado doble. pr -h `caracteres` file el argumento o cadena de caracteres `caracteres` se convertirán en la cabecera del listado. pr +n file Imprime el fichero a partir de la página n. Además de los ejemplos anteriores, se pueden combinar varias opciones en un mismo comando, como por ejemplo en: pr -dt file. La salida de este comando es por la consola, pero puede redireccionarse a otro fichero, por ejemplo, si ejecutamos el comando: pr file1 > file2 se crea un fichero nuevo llamado file2 que es idéntico a file1, pero con formato por páginas y columnas. Comandos more y less Estos comandos permiten visualizar un fichero pantalla a pantalla. El número de líneas por pantalla es de 23 líneas de texto y una última línea de mensajes, donde aparecerá la palabra more. Cuando se pulsa la barra espaciadora (el espacio en blanco), se visualizará la siguiente pantalla. Para salir de este comando (terminar la visualización) se pulsa d o q. El comando more muestra el contenido de los ficheros indicados, una pantalla cada vez. Sintaxis: more fichero1 [fichero2] ... [ficheroN] La teclas que nos permiten movernos por el fichero son: b va a la página anterior, barra espaciadora va a la página siguiente, flechas de cursor arriba y abajo, q finaliza la ejecución de more. El comando less es muy similar al anterior pero, además, permite el desplazamiento a lo largo del texto empleando las teclas de cursores pudiendo desplazarse, además, hacia la izquierda o la derecha. Sintaxis: less fichero1 [fichero2] ... [ficheroN] grep El comando grep localiza una palabra, clave o frase en un conjunto de directorios, indicando en cuáles de ellos la ha encontrado. Este comando rastrea fichero por fichero, por turno, imprimiendo aquellas líneas que contienen el conjunto de caracteres buscado. Si el conjunto de caracteres a buscar está compuesto por dos o más palabras separadas por un espacio, se colocará el conjunto de caracteres entre apóstrofes ('). Su sintaxis es la siguiente: grep [-opcion] 'conjuntocaracteres' file1 file2 file3 siendo 'conjuntocaracteres' la secuencia de caracteres a buscar, y file1, file2, y file3 los ficheros donde se debe buscar. Veamos un nuevo ejemplo: grep 'TRIANGULARIZACION MATRIZ' matrix.f scaling.f Este comando buscará TRIANGULARIZACION MATRIZ entre las líneas de los ficheros matrix.f y scaling.f. Las opciones principales del comando son: c lo único que se hace es escribir el número de las líneas que satisfacen la condición. i no se distinguen mayúsculas y minúsculas. l se escriben los nombres de los ficheros que contienen líneas buscadas. n cada línea es precedida por su número en el fichero. s no se vuelcan los mensajes que indican que un fichero no se puede abrir. v se muestran sólo las líneas que no satisfacen el criterio de selección. A continuación se muestra una serie de ejemplos. grep ‘ˆd’ text líneas que comienzan por d. grep ‘ˆ[ˆd]’ text líneas que no comienzan por d. grep -v ‘ˆC’ file1 > file2 quita las líneas de file1 que comienzan por C y lo copia en file2. head Muestra las primeras líneas del contenido de los archivos especificados; por defecto muestra las 10 primeras líneas. Sintaxis: head [-número] ... Por ejemplo, head -7 texto, escribe por pantalla las 7 primeras líneas del fichero texto. tail Muestra las primeras líneas del contenido de los archivos especificados; por defecto muestra las 10 primeras líneas. Sintaxis: tail [-número] ...

0
0
Juegos de ajedrez en Linux
Juegos de ajedrez en Linux
LinuxporAnónimo2/11/2011

Juegos de ajedrez en Linux Para mucha gente la ajedrez es algo más que un juego, de hecho hay gente que dedica su vida a ella, y se han escrito libros miticos como El Ocho cuyo tema giraba en torno al ajedrez. 1. Eboard www.bergo.eng.br/eboard Eboard permite jugar con 2 jugadores, jugar partidas online a través de servidores FICS (free internet chess server), servidores personalizados o contra otro Eboard. También puedes jugar contra la maquina pudiendo elegir el motor contra el que quieres jugar (GNU Chess, Sjeng, Crafty o motor generico). Puedes jugar más de una partida a la vez, admite marcadores, puedes usar comandos, comprobación de legalidad y muchas posibilidades de configuración avanzada. 2. Dream Chess www.dreamchess.org Ajedrez en 3D con interfaz muy cuidada, podrás jugar contra otro oponente o contra el ordenador (motor Crafty, GNU Chess, ...) 3. Ajedrez glChess http://live.gnome.org/glChess Ajedrez enfocado a jugadores aficionados, puedes elegir entre una interfaz 2D o 3D. Puedes jugar contra otro jugador o contra la maquina eligiendo nivel de dificultad. Permite limitar tiempos, crear partidas en red y seguir los movimientos. 4. pouetChess http://pouetchess.sourceforge.net Juego de ajedrez en 3D. Permite jugar entre dos jugaroes o contra la inteligencia artificial que incluye el programa. 5. pyChess http://pychess.googlepages.com Admite partidas de dos jugadores, partidas online mediante servidores FICS o partidas contra el ordenador. Incluye una pantalla con estadisticas, linea temporal con las jugadas, posibilidad de elegir entre varias chess engines y muchas funciones más. 6. Chess gtkboard http://gtkboard.sourceforge.net Incluye muchos juegos, entre ellos ajedrez (chess), antichess, breackthrough, pacman, tetris, samegame, puzzles, quatro y muchos más. En ajedrez permite jugar entre dos jugadores de forma básica. 7. Gnome chess http://primates.ximian.com/~jpr/gnome-chess Permite jujar varias partidas simultaneas e incluye un historial de movimientos. 8. Xboard gnuchess www.tim-mann.org/xboard.html Puedes jugar partidas de ajedrez con dos jugadores o contra la maquina permitiendo elegir el motor que quieres usar. No es muy usado dado que está un poco desfasado. 9. Knights http://knights.sourceforge.net Ajedrez con el que podrás jugar partidas contra otro jugador o contra la maquina, incluye más de 30 temas diferentes para personalizarlo, además podrás guardar partidas empezadas e incluye alertas acusticas para los eventos importantes. http://galegolinux.blogspot.com/2011/02/juegos-de-ajedrez-en-linux.html

0
0
M
Mathematica 8 para Linux
LinuxporAnónimo12/17/2010

DESCRIPCIÓN Mathematica 8 de Wolfram Research representa una nueva apuesta para facilitar el cálculo y el desarrollo de aplicaciones científicas o técnicas. CARACTERÍSTICAS DE LA VERSIÓN Descubra las 8 mejores razones para actualizar a Mathematica 8. Éstas figuran en el listado de las principales novedades y mejoras: Entradas lingüísticas de forma libre: Entradas en inglés plano, en lugar de con comandos, utilizando un nuevo control lingüístico incluido en Wolfram|Alpha que facilita en gran medida el uso. Fuentes de datos: Acceso a más de 10 trillones de conjuntos de datos filtrados y actualizados y listos para ser utilizados Importación: Importación de datos utilizando un conjunto de formatos de importación/exportación ampliado. Estadística: Uso de las mayores capacidades de estadística y visualización de datos del mercado. Ingeniería/Investigación y Desarrollo: Selección desde una amplia colección de herramientas para ingeniería, como wavelets y sistemas de control. Procesado de Imágenes: Uso de capacidades de análisis y procesado de imágen más potentes, como detección de rasgos. Finanzas: resolvedores incorporados de precios de opciones, indicadores financieros y gráficos. Aplicaciones: Creación de herramientas interactivas para rápida exploración de las ideas del usuario. Desarrollo: Desarrollo más rápido y más potente de aplicaciones (con soporte a CUDA y cálculo Open CL GPU). COMPATIBILIDAD CON VERSIONES ANTERIORES Mathematica 8 es completamente compatible con documentos de versiones creadas en Mathematica 6 y Mathematica 7. Los documentos de versiones anteriores a la 6 pueden leerse en Mathematica 8, pero para su correcto y completo funcionamiento puede ser necesaria su modificación y adaptación. PLATAFORMAS SOPORTADAS Y REQUISITOS TÉCNICOS Mathematica 8 está disponible y optimizado para las versiones más recientes de hardware y sistemas operativos. Las especificaciones técnicas de hardware son las siguientes: PROCESADOR: Intel Pentium III 650 MHz (o equivalente). MEMORIA RAM: 512 MB. Se recomienda 1 GB o más. MEMORIA DISCO DURO: 4 GB. TARJETA GRÁFICA: Para utilizar las prestaciones integradas de cálculo GPU se requiere una tarjeta gráfica que soporte OpenCL o CUDA (presente en muchas tarjetas de NVIDIA, AMD...). CONECTIVIDAD: Se requiere acceso a Internet para poder hacer uso de las entradas lingüísticas de forma libre y para descargar datos computables. En cuanto a requisitos de software, será necesaria la presencia de un compilador C para poder utilizar las nuevas prestaciones de compilación de código C. Mathematica 8 se encuentra soportado en los siguientes sistemas operativos: Microsoft Windows 32-bits: Windows 7, Vista, XP (SP2 o posterior), Server 2008 y Server 2003; Microsoft Windows 64-bits: Windows 7, Vista, XP (SP2 o posterior), HPC Server 2008, Server 2008, Server 2003 y Compute Cluster Server 2003. Apple Macintosh 32-bits y 64-bits: Mac OS X 10.6 Intel y Mac OS X 10.5 Intel. Linux x86 32-bits y 64-bits: Ubuntu 7-10, Red Hat Enterprise Linux 4, CentOS 5, Debian 5 (requiere la librería de compatibilidad 32-bit: lib32stdc++6) y openSUSE 11. Mathematica 8 ha sido completamente verificado en las distribuciones Linux anteriormente listadas. En las distribuciones más recientes puede que sea necesario instalar librerías de compatibilidad adicionales. Es altamente probable que Mathematica 8 funcione correctamente en otras distribuciones no incluidas en la lista anterior basadas en Linux 2.6 o posterior. Mathematica 8 soporta un front end X-Windows y utiliza el entorno de aplicación Qt para la interfaz de usuario, el mismo que se utiliza en la mayoría de los entornos de escritorio KDE de Linux. Verificaciones periódicas son ejecutadas en distribuiciones Linux comerciales y de libre distribución. Como los enlaces no son míos pongo la página(blog) donde están http://phisycsandgnulinux.site11.com/?cat=13

0
0
C
Clonación de discos duros
LinuxporAnónimo3/9/2011

Un problema bastante frecuente en sistemas que integran varios equipos, ya sea en red o no, es la clonación de discos duros. Pensemos, por ejemplo, en un cibercafé. En este tipo de negocio es bastante común la existencia de cierto número de equipos con idéntico hardware (placa base, procesador, memoria y disco duro, entre otros). El panorama de tener que instalar y configurar la misma distribución en cada uno de estos equipos puede echar para atrás a más de uno. Lo ideal sería instalar y configurar nuestra distribución de GNU/Linux favorita en un único equipo, y luego clonar su disco duro en el resto de equipos. Otro ejemplo típico es el usuario que desea ampliar su equipo sustituyendo su disco duro por otro de mayor capacidad (o el usuario que necesita sustituir un disco duro defectuoso por otro nuevo). Tanto en uno como en otro caso, existen varios programas que nos pueden resultar útiles a la hora de realizar la duplicación del contenido de un disco duro, aunque aquí nos centraremos en las soluciones que proporciona de forma nativa nuestra distribución favorita, Chakra, se puede aplicar perfectamente al resto de distribuciones. Antes de comenzar El primer paso a realizar antes de comenzar el proceso de clonación del disco duro consiste en abrir la caja de nuestro equipo (¡siempre apagado y desconectado de la red eléctrica!) e instalar físicamente el nuevo disco duro, conectándolo a un cable SATA (o al que corresponda, según el sistema de conexión que use nuestro equipo) y al cable de alimentación. Por supuesto, también podríamos haber optado por conectarlo mediante USB o FireWire (si el nuevo disco duro está dentro de una caja externa con este tipo de conexión). El proceso de duplicación Una vez conectado el nuevo disco duro a nuestro equipo, nos aseguraremos en primer lugar de que no está montado. En caso contrario, los resultados serían imprevisibles. Otra cosa que deberíamos tener muy en cuenta es que el nuevo disco tiene que ser de igual o superior capacidad que el que pretendemos clonar (pues, de lo contrario, los datos no cabrían en él). Aunque no es estrictamente necesario, sería conveniente que el disco que pretendemos clonar tampoco esté montado, o, al menos, que no esté en uso. En algunas ocasiones esto no es posible (por ejemplo, porque pretendemos clonar el disco de arranque de nuestro sistema, en el que está instalada nuestra distribución), aunque siempre nos queda la posibilidad de arrancar con una distribución live y desmontar ambos discos duros. A lo largo de este ejemplo supondremos que el disco que vamos a clonar es /dev/sda, y que el nuevo disco es /dev/sdb. Cuando estemos preparados para llevar a cabo la duplicación, abrimos una ventana de terminal (por ejemplo, Konsole) y tecleamos en ella la siguiente orden: dd if=/dev/sda of=/dev/sdb bS=256M Los parámetros significan lo siguiente: if es el archivo de origen; es decir, nuestro disco duro a clonar. of es el archivo de destino; es decir, nuestro nuevo disco duro. bS es el tamaño del bloque que se copiará de una pasada. Este parámetro es opcional, pero puede ser recomendable para optimizar la clonación, cuanto mayor sea, menos operaciones de lectura serán necesarias. En nuestro caso hemos especificado un tamaño de 256 MB. Y nada más. Al cabo de un rato (que dependerá del tamaño del disco a clonar), el proceso habrá finalizado. Probando el nuevo disco duro Tras la copia, apagaremos ordenadamente nuestro equipo y procederemos a extraer físicamente el antiguo disco duro (que acabamos de clonar). A continuación cambiaremos el nuevo disco duro de conector. Como hemos supuesto que estaba en el segundo conector SATA (/dev/sdb), lo cambiaremos al conector en el que estaba el disco duro que acabamos de extraer (en nuestro ejemplo, el primero, es decir, /dev/sda). Tras esta sencilla operación, podemos volver a cerrar la caja de nuestro equipo y arrancar. Comprobaremos que el proceso de arranque funciona con total normalidad, exactamente del mismo modo que ocurría con el viejo disco duro. Posibles problemas Aunque no se trata realmente de un problema, si el disco duro nuevo es de mayor capacidad que el que hemos clonado, nos encontraremos con que no hemos aprovechado toda su capacidad. Es decir, si hemos clonado un disco duro de 250 GB en otro de 500 GB, veremos que no se está utilizando aproximadamente la mitad del espacio del nuevo disco duro. Esto es así porque el proceso de copia que realiza la orden dd es binario, y también afecta a la tabla de particiones del disco duro. Para solucionar este pequeño inconveniente, podemos crear una partición en el nuevo disco duro para que aproveche este espacio sin asignar, o bien aumentar el tamaño de la última partición existente (que normalmente suele ser la que contiene la carpeta /home de los usuarios) para que llene todo el espacio que quedaba sin asignar. http://galegolinux.blogspot.com

10
0
Un poco de Python
Un poco de Python
LinuxporAnónimo3/4/2011

Vi esto en un sitio abandonado, y, aunque es escueto, me parece que puede resultarle útil a alguien, así que, ahí va: Como usar python Desde la linea de comando. Para arrancar el intérprete (Python interactivo) ejecutar: Escribimos en la consola python $ python Python 2.3.3 (#1, Dec 30 2003, 08:29:25) [GCC 3.3.1 (cygwing special)] on cygwin Type “help”, “copyright”, “credits” or “license” for more information. >>> >>> A este simbolo se le llama el prompt de python y sera el encargado de decir donde empieza una linea de código. Para salir del intérprete CtrlD (en Linux) >>> import sys >>> sys.exit() Ejemplo:Un comando simple: >>> print “Hola Mundo” Hola Mundo —————————————————————————————————————————————————————– Editores de Python Spe, idle, Komodo. Pero se puede usar cualquier editor de texto plano conocido como el vim, nano, gedit, kate, quanta entre otros. —————————————————————————————————————————————————————– ¿Cómo debes guardar los Archivos? Debemos guardar el archivo con extension .py Luego se ejecuta colocando en consola python archivo.py Es importante localizar la dirección donde se encuentra el interprete esto se hace tecleando en consola. which python El resultado de esto es la primera linea que colocamos en nuestro script como se verá a continuación: #!/usr/bin/python print “Hola mundo!” —————————————————————————————————————————————————————– Comentarios en python Comentarios de una sola linea Se coloca con el carácter # Ejemplo: # comentarios de una línea se indican con carácter ‘#’ Comentarios de varias lineas Se debe usar tiple comillas al inicio y al final del comentario. Ejemplo: “”" Este es un comentario de varias lineas Este es un comentario de varias lineas Este es un comentario de varias lineas “”" —————————————————————————————————————————————————————– Mostrar datos por pantalla Con print le decimos a python que muestre datos por pantalla. Realmente lo que hace print es llamar a un módulo del espacio de nombre sys: sys.stdout.write(“cadena”). El cual le pasa como parámetro de entrada lo que pongas a continuación del print Import sys sys.stdout.write(“Hola mundo!”) Equivalente a print “Hola mundo!” —————————————————————————————————————————————————————– Tomar datos desde el teclado raw_input(“Mensaje por pantalla”) Es muy parecido a la filosofía usada para el print, ya que en este caso haremos uso del módulo sys.stdin.read() Import sys variabledeSalida=sys.stdin.read(entero) entero es el largo de la cadena a leer Equvalente a variabledeSalida=raw_input(“Mensaje por pantalla”) —————————————————————————————————————————————————————– Operadores Operadores Relacionales > mayor que < menor que >= mayor o igual que <= menor o igual que != distinto == igual Operadores Arítmeticos + suma (usado para números y para concatenar cadenas) - resta * multiplicación / división % modulo o resto Operadores Lógicos and y lógico or o lógico not no lógico —————————————————————————————————————————————————————– Sentencias y bloques Las sentencias acaban en nueva línea, NO en ( ; ). Los bloques son indicados por tabulación que sigue a una sentencia acabada en ‘:’. E.j. (bloque.py): #!/usr/bin/python name = “Luis1″ # asignación de valor a variable if name == “Luis”: print “Hola Luis” else: print “¿Quién eres?” print “¡No eres Luis!” $ python bloque.py Salida del terminal: ¿Quién eres? ¡No eres Luis! —————————————————————————————————————————————————————– Estructuras de decisiones y bucles: La condición puede ir o no en paréntesis. Nota: en python no existe el switch Sentencia if: (simple) if condicion: sentencia1 sentencian else: sentencia11 sentencia nn Sentencia if: (Doble) if condicion: sentencia1 sentencian else: sentencia11 sentencia nn Sentencia if: (múltiple) if condicion: sentencia1 sentencian elif condicion: sentencia11 sentencia nn —————————————————————————————————————————————————————– Control de Bucles o sentencias iterativas for: se utiliza para iterar sobre los miembros de una secuencia. Se puede usar sobre cualquier tipo de datos que sea una secuencia (lista, tupla, diccionario). La función range crea una secuencia descrita por ([start,] end [,step]), donde los campos start y step son opcionales. Start es 0 y step es 1 por defecto. Ej. bucle.py for x in range(1,5): print x $ python bucle.py 1 2 3 4 while: es otra sentencia de repetición. Ejecuta un bloque de código hasta que una condición es falsa. while condicion: sentencia1 sentencian Por ejemplo: reply = ‘repite’ >>> while reply == ‘repite’: print ‘Hola’ reply = raw_input(‘Introduce “repite” para hacerlo de nuevo’) break: nos sirve para salir de un bucle, sirve para pasar a la próxima iteracion dejando sin ejecutar lo que se encuentra por debajo de el. —————————————————————————————————————————————————————– Identificadores Sirven para nombrar variables, funciones y módulos . Deben empezar con un carácter no numérico y contener letras seguido de números y ‘_’ . No se debe usar una plabara reservada del lenguaje para los identificadores. En python no hace falta delcarar variables. Simplemente se colocan a medida que se vayan usando. El solo entiende de expresiones numericas y alfanumericas, (estas últimas se colocan entre comillas dobles o simples.) Python es case sensitive Palabras Reservadas: and elif global or assert else if pass break except import print class exec in raise continue finally is return def for lambda try del from not while —————————————————————————————————————————————————————– Tipos de Datos Numéricos (integer, long integer, floatingpoint, and complex) Strings Listas Tuplas Diccionarios Numéricos (integer, long integer, floatingpoint, and complex). Consiste en usar expresiones númericas sin delimitarlos entre comillas dobles o simples. La función int, long, float lo que me hace es una conversión si es posible al tipo de datos en caso contario me lanzara una excepción. >>> x = 4 >>> int (x) 4 >>> long(x) 4L >>> float(x) 4.0 >>> complex (4, .2) (4+0.2j) Strings, delimitados por un par de (‘, ” ). Dos string juntos sin delimitador se unen >>> print “Hi” “there” Hithere Algunos de los métodos que se pueden aplicar a un string son: >>> len(‘La vida es mucho mejor con Python.’) >>> 34 >>> ‘La vida es mucho mejor con Python.’.upper() ‘LA VIDA ES MUCHO MEJOR CON PYTHON’ >>> “La vida es mucho mejor con Python”.find(“Python”) 27 >>> “La vida es mucho mejor con Python”.find(‘Perl’) 1 >>> ‘La vida es mucho mejor con Python’.replace(‘Python’, ‘Jython’) ‘La vida es mucho mejor con Jython’ —————————————————————————————————————————————————————– El módulo string de Python library Se definen métodos para manipulación de strings: >>> import string >>> s1 = ‘La vida es mejor con Python’ >>> string.find(s1, ‘Python’) 21 ‘%’ es el operador de formateo de cadenas: >>> variable = ‘muchachos’ >>> “Hola %s %s” % (variable, “Como estan”) ‘La capital de Araba es Gasteiz’ —————————————————————————————————————————————————————– Listas Es un conjunto ordenado de valores, en el cual cada valor va identificado por un índice. Los valores que constituyen una lista son sus elementos. Las listas son similares a las cadenas de texto (strings), que son conjuntos ordenados de caracteres, excepto en que los elementos de una lista pueden ser de cualquier tipo. Las listas y las cadenas, y otras cosas que se comportan como conjuntos ordenados, se llaman secuencias. Para terminar, hay una lista especial que no contiene elementos. Se la llama lista vacía y se representa []. La sintaxis para acceder a los elementos de una lista es la misma que para acceder a los caracteres de una cadena: el operador corchetes []. La expresión dentro de los corchetes especifica el índice. Recuerde que los índices siempre comienzan en cero: Indexadas por un entero comienzan en 0: ejemplo: >>> meses = ["Enero", "Febrero"] >>> print meses[0] Enero —————————————————————————————————————————————————————– Matrices Es común usar listas anidadas para representar matrices. Por ejemplo, la matriz: 1 2 3 7 8 9 4 5 6 Puede ser representada como: >>> matriz = [[1, 2, 3], [4, 5, 6], [7, 8, 9]] Matriz es una lista con tres elementos, siendo cada elemento una fila de la matriz.Podemos elegir una fila entera de la matriz de la forma normal: >>> matriz[1] [4, 5, 6] Añadir un elemento a la lista: append añade un elemento al final de la lista >>>meses=["enero","Febrero"] >>> meses.append(“Marzo”) >>> print meses ['Enero', 'Febrero', 'Marzo'] Dos puntos ( es el operador de rodajas, permite trabajar con una porción de la lista, el elemento indicado por el segundo parámetro no se incluye: >>> print meses[1:2] ['Febrero'] Para usar una lista como una pila, se pueden usar append y pop: >>> items.append(555) >>> items [1, 4, 6, 555] >>> items.pop( ) Nota: Para mayor documentación sobre las metodos que se le pueden aplicar a una lista pydoc list —————————————————————————————————————————————————————– Listas pydoc list L es el nombre de la lista append(…) | L.append(object) append object to end | count(…) | L.count(value) > integer return number of occurrences of value | extend(…) | L.extend(iterable) extend list by appending elements from the iterable | index(…) | L.index(value, [start, ]) > integer return first index of value | insert(…) | L.insert(index, object) insert object before index | pop(…) | L.pop() > item remove and return item at index (default last) | remove(…) | L.remove(value) remove first occurrence of value | | reverse(…) | L.reverse() reverse *IN PLACE* | Las listas pueden contener cualquier tipo de objetos Python: >>> meses=["Enero","Febrero"] >>> meses1=["Marzo","Abril"] >>> meses.append(meses1) >>> print meses ['Enero', 'Febrero', ['Marzo', 'Abril']] meses.append(1) >>> print meses ['Enero', 'Febrero', ['Marzo', 'Abril'], 1] —————————————————————————————————————————————————————– Para añadir un elemento a una lista en una determinada posición: >>> items = [4, 6] >>> items.insert(0, 1) >>> print items [1, 4, 6] —————————————————————————————————————————————————————– Más (+) es el operador de concatenación: >>> print meses+meses ['Enero', 'Febrero', 'Marzo', 'Enero', 'Febrero', 'Marzo'] lst=[1,”cad”,[1,2],12] print lst #imprime la lista completa print lst[1] #imprime cad print lst[1][2] se imprime la d de cad print lst[2][1] imprime el segundo componente del segundo componente de la lista es decir el 2 —————————————————————————————————————————————————————– Acceder a un trozo de la lista sin incluir los extremos >>>print lst[1:3]#imprime [1,2] no incluye los extremos con respecto al índice >>>print lst[2# imprime la posicion 2 incluyendo el ultimo elemento de la lista >>>print lst[:2]# imprime desde el primero hasta el de la posición 21 no incluye el extremo —————————————————————————————————————————————————————– Funcion range st=range(20) #Esta funcion lo que me crea es una lista que va desde el 0 al 19. no incluye el 20 >>> lst=range(20) >>> print lst sintáxis de la función range range([start,] stop[, step]) #nota no incluye el extremo final es decir stop Ayudas en consola pydoc range me da documentacion sobre esta funcion. Ejemplo: range(0,20,4) [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19] >>>print lst[5:15:2] #imprime comenzando en la posición 5 hasta el 15 sin incuirlo con un paso de 2 [5, 7, 9, 11, 13] >>> —————————————————————————————————————————————————————– Cadenas y listas Dos de las funciones más útiles del módulo string tienen que ver con listas de cadenas. La función split divide una cadena en una lista de palabras. Por defecto, cualquier número de caracteres de espacio en blanco se considera un límite de palabra: >>> import string >>> cancion = “La lluvia en Mérida…” >>> string.split(cancion) [’La’, ’lluvia’, ’en’, Mérida...’] Se puede usar un argumento opcional llamado delimitador para especificar qué caracteres se usarán como límites de palabra. El siguiente ejemplo usa la cadena ll como delimitador: >>> string.split(cancion, ’ll’) [’La ’, ’uvia en Mérida’] Observe que el delimitador no aparece en la lista. La función join es la inversa de split. Toma una lista de cadenas y concatena los elementos con un espacio entre cada par: >>> lista = [’La’, ’lluvia’, ’en’, Mérida...’] >>> string.join(lista) La lluvia en Mérida…’ Como split, join acepta un delimitador opcional que se inserta entre los elementos. El delimitador por defecto es el espacio. >>> string.join(lista, ’_’) La_lluvia_en_Sevilla…’ —————————————————————————————————————————————————————– Tuplas Son tipo de datos iguales que la listas pero con la salvedad que no se pueden modificar. Se usan paréntesis para delimitar sus valores. Hasta ahora, ha visto dos tipos compuestos: cadenas, que están hechas de caracteres, y listas, que están hechas de elementos de cualquier tipo. Una de las diferencias que señalamos es que los elementos de una lista se pueden modificar, pero los caracteres de una cadena no. En otras palabras, las cadenas son inmutables y las listas son mutables. En Python hay otro tipo llamado tupla que es similar a una lista salvo en que es inmutable. Sintácticamente, una tupla es una lista de valores separados por comas: >>> tupla = ’a’, ’b’, ’c’, ’d’, ’e’ Aunque no es necesario, la convención dice que hay que encerrar las tuplas entre paréntesis: >>> tupla = (’a’, ’b’, ’c’, ’d’, ’e’) Para crear una tupla con un solo elemento, debemos incluir una coma final: >>> t1 = (’a’,) >>> type(t1) <type ’tuple’> Sin la coma, Python trata (’a’) como una cadena entre paréntesis: >>> t2 = (’a’) >>> type(t2) <type ’string’> El operador índice selecciona un elemento de la tupla. >>> tupla=(“a”,”b”,”c”,”d”,”e”) >>> tupla[0] ‘a’ Y el operador de porción elementos. >>> tupla[1:3] (‘b’, ‘c’) Asignaciones multiples i,j=10,20 #ene ste caso i=10 y j=20 —————————————————————————————————————————————————————– Diccionarios Diccionarios {} arrays asociativos o mapas, indexados por una clave, el valor puede ser cualquier objeto Python, la clave normalmente es un objeto inmutables: >>> mydict = {“altura” : “media”, “habilidad” : “intermedia”, “salario” : 1000 } >>> print mydict {altura’: ‘media’, ‘habilidad’: ‘intermedia’, ‘salario’: 1000 Forma de Acceder a un elemento del diccionario se hace a través de las claves >>> print mydict["habilidad"] intermedia Puedes comprobar la existencia de una clave en un diccionario usando has_key: if mydict.has_key(‘altura’): print ‘Nodo encontrado’ Lo mismo se podría hacer: if ‘altura’ in mydict: print ‘Nodo encontrado’ Las claves deben ser tipos inmutables (Es decir que los valores se pueden modificar), no hay forma de saber como esta ordenado dc={“lclave”:”valor”,”lista”:[1,2,3,4],”tupla”[1,2,3],4),4:”entero”} Algunos metodos aplicados a este tipo de datos (ayuda en consola pydoc dict) clear(…) | D.clear() > None. Remove all items from D. | copy(…) | D.copy() > a shallow copy of D | get(…) | D.get(k[,d]) > D if k in D, else d. d defaults to None. | | has_key(…) | D.has_key(k) > True if D has a key k, else False | | items(…) | D.items() > list of D’s (key, value) pairs, as 2tuples iteritems(…) | D.iteritems() > an iterator over the (key, value) items of D ¡ iterkeys(…) | D.iterkeys() > an iterator over the keys of D | Algunos metodos aplicados a este tipo de datos (ayuda en consola pydoc dict) itervalues(…) | D.itervalues() > an iterator over the values of D | keys(…) | D.keys() > list of D’s keys | pop(…) | D.pop(k[,d]) > v, remove specified key and return the corresponding value | If key is not found, d is returned if given, otherwise KeyError is raised | popitem(…) | D.popitem() > (k, v), remove and return some (key, value) pair as a | 2tuple; but raise KeyError if D is empty | setdefault(…) | D.setdefault(k[,d]) > D.get(k,d), also set D=d if k not in D | update(…) | D.update(E, **F) > None. Update D from E and F: for k in E: D = E | (if E has keys else: for (k, v) in E: D = v) then: for k in F: D = F | | values(…) | D.values() > list of D’s values —————————————————————————————————————————————————————– Funciones en Python Se usa la palabra reservada def seguido del identificador de la funcióny entre paréntesis los parametro; o sin parametros en caso de que no los tenga.(ojo se aplican las mismas reglas a este identificador como si fuese una variable)def nombre_funcion(par1, par2,.., parn,): cuerpo return valor_retorno # en caso de que la función me retorne o no un parámetro Forma de invocar a la función nombre_funcion(arg1, arg2,.., argn,) def myfunc(a,b): sum = a + b return sum print myfunc (5,6) En python tambien se le pueden colocar a los parametros de la función valores por defectos. En caso de que se llame la función y se le pase el argumento correspondiente en la función el parametro será reemplazado por el argumento. # # funcionvaloresdefecto.py # def myfunc(a=4,b=6): sum = a + b return sum print myfunc() print myfunc(b=8) # a es 4, sobreescribir b a 8 Pasando una tupla como parámetro. A las funciones tambien se les puede pasar una tupla como argumento. Pero entonces el el parametro dentro de la función debe ir precedido por un asterisco (*) # #Pasando una tupla a una función en el momento en que se invoca # funcionvaloresdefecto.py # def var_param(*parametros):#le estamos pasando una tupla print “parametros es %s” %type(parametros) for i in parametros: print i,#la , lo que hace es que se imprima uno al lado del otro var_param(2,3,([1,2,3],7)) Pasando una lista como argumento: Se debe preceder los argumentos de la función por un asterisco (aunque no en este caso es opcional) al igual que sus parametros. # #Pasando una a una lista a una función en el momento en que se invoca # funcionvaloresdefecto2.py # def var_param(parametros):#le estamos pasando una tupla print “parametros es %s” %type(parametros) for item in parametros: print item#la , lo que hace es que se imprima uno al lado del otro lista=[2,3,([1,2,3],7)] var_param(lista) #Nota: La lista se transfoma en una tupla Pasando una diccionario como argumento: Se debe preceder los argumentos de la función por un asterisco al igual que sus parametros. # #Pasando una un diccionario a una función en el momento en que se invoca # def mas_param(**dc): print “dc es un:%s”%type(dc) for item in dc.keys(): print “%s : %s : %s “%(item,dc,type(dc)) dc={“nombre”:”Richard Garcia”,”correo”:”[email protected]”} mas_param(**{“nombre”:”Richard Garcia”,”correo”:”[email protected]”}) mas_param(**dc) #nota: Tanto el argumento como los parametros deben estar precedidos por dos asteriscos —————————————————————————————————————————————————————– Módulos en Python Módulos: es una colección de métodos en un fichero que acaba en .py. El nombre del fichero determina el nombre del módulo en la mayoría de los casos. Uso de un módulo: En otro escript aparte invoco al modulo. Donde modulo es el nombre que se le dio al fichero. Invocando a un modulo se puede hacer de dos maneras: import nombre_modulo from nombre_modulo import metodo1, metodo2, …, metodo n E.j. modulo.py: def one(a): print “in one”,a def two (c): print “in two” ,c Ejemplo 1 Ejemplo2 import modulo from modulo import one modulo.one(2) one(2) Listando los procedimientos de un modulo en la consola interactiva >>> import modulo >>> dir(modulo) ['__builtins__', '__doc__', '__file__', '__name__', 'one', 'two'] Donde los que aparecen sin los guiones de pisos son los procedimientos que tiene ese modulo . Tambien se pueden saber los modulos que tiene un archivo.(En un script de la siguiente manera) import modulo dir(modulo) Forma de incluir un modulo en la ruta donde python coloca los módulosimport sys sys.path.insert(0,’ruta absoluta donde se encuentra el módulo’) sys.path son los sitios donde python va a buscar donde se encuentran los módulos nota para saber los procedimientos de un modulo hago un dir(modulo) —————————————————————————————————————————————————————– Manejo de ficheros en Python Abriendo un fichero en modo de lectura f=open(”nombrefichero”,”r”) Abriendo un fichero en modo de ecritura . f=open(”nombrefichero”,”w”) Abriendo un fichero en modo de escritura conservando el contenido del mismo f=open(”nombrefichero”,”a”) Cerrando un fichero f.close() —————————————————————————————————————————————————————– Leer un fichero (leer_fichero.py) #!/usr/bin/python fh = open(“archivo.py”) # open crea un objeto de tipo fichero fh = open(“archivo.py”,”r”) for line in fh.readlines() : # lee todas las líneas en un fichero lo convierte en una lista print line, fh.close() #cerrando en el fichero #!/usr/bin/python fh = open(“ejemplo.txt”) # open crea un objeto de tipo fichero linea=fh.readline(); leo la primera linea como una cadena devuelve false en caso de estar vacío while(linea) : # lee todas las líneas en un fichero print line linea=fh.readline() fh.close() Nota: OJO CON ESTA MANERA DE LEER FICHEROS CUANDO LA PRIMERA LINEA ESTA EN BLANCO DEL FICHERO O HAY UNA LINEA INTERCALADA VACIA —————————————————————————————————————————————————————– Escribir un fichero (escribirfichero.py) #si el fichero en el cual deseo escribir no existe automáticamente se crea el fichero, siempre y cuando tenga permisos de escritura en el directotio donde lo estoy creando #!/usr/bin/python fh = open(“out.txt”, “w”) #abrir un fichero para escritura fh.write (“estamos escribiendo …n”) #Escribiendo en el fichero fh.close() #cerrando en el fichero luego ejecuto en consola el script $ python escribirfichero.py $ cat out.txt estamos escribiendo … —————————————————————————————————————————————————————– Encurtidos. Para poner valores en un archivo, debe convertirlos en cadenas. Ya ha visto cómo hacerlo con str: >>> f.write (str(12.3)) >>> f.write (str([1,2,3])) El problema es que cuando vuelve usted a leer el valor, obtiene una cadena. Ha perdido la información del tipo de dato original. En realidad, no puede distinguir dónde termina un valor y comienza el siguiente: >>> f.readline() 12.3[1, 2, 3]’ La solución es un encurtido, llamado así porque “conserva” estructuras de datos. El módulo pickle contiene las órdenes necesarias. Para usarlo, importe pickle y luego abra el archivo de la forma habitual: >>> import pickle >>> f = open(“test.pck”,”w”) Manejo de ficheros en Python. Encurtidos Para almacenar una estructura de datos, use el método dump y luego cierre el archivo de la forma habitual: >>> pickle.dump(12.3, f) >>> pickle.dump([1,2,3], f) >>> f.close() Ahora podemos abrir el archivo para leer y cargar las estructuras de datos que volcamos ahí: >>> f = open(“test.pck”,”r”) >>> x = pickle.load(f) >>> x 12.3 >>> type(x) <type ’float’> >>> y = pickle.load(f) >>> y [1, 2, 3] >>> type(y) <type ’list’> Cada vez que invocamos load obtenemos un valor del archivo, completo con su tipo original. —————————————————————————————————————————————————————– Excepciones en python Las excepciones es el método usado por Python para controlar los errores de compilación de nuestros programas y tener control sobre ellos, para que de este modo podamos evitar que termine la ejecución de un programa de forma fortuita.Para tener este control Python nos proporciona 3 sentencias: try: Esta palabra le indica al compilador que las siguientes sentencias pueden lanzar excepciones. # exp.py # a=”Hola” b=10 a=a+b $ python exp.py Traceback (most recent call last): File “exp.py”, line 3, in ? a=a+b TypeError: cannot concatenate ‘str’ and ‘int’ objects except: Es la palabra reservada que nos ofrece python para saber que a partir de allí sera el tratamiento de errores para las excepciones que encontremos dentro del try Ejemplo: try: a=”Hola” b=10 a=a+b except: print “Error” finally: Es la encargada de seguir el programa despues de controlar las excepciones print “Error” finally: Es la encargada de seguir el programa despues de controlar las excepciones —————————————————————————————————————————————————————– Programación orientada a objetos en python La programación orientada a objetos representa una gran ventaja respecto al método tradicional. Ene ste sentido la orientación a objetos puede considerarse como una manera de ampliar las posibilidades de los tipos de datos de estructuras. Sintaxis para crear clases: Clase simple class nombreClase: Clase que hereda de otras clases class nombreClase(ClaseHereda1,ClaseHereda2): ejemplo: Class Persona: Sintáxis general de una clase: class nombre_clase: métodos_especiales otros_métodos Sintáxis general de una clase sin métodos: class nombre_clase: pass Importar a)Importar clases sintaxis: import nombreClase b)Importar funciones de un fichero Sintaxis: from nombreClase import nombreMétodo1,.., nombreMétodon Funciones o métodos de las clases Sintaxis (Métodos especiales): def __nombreMetodo__ (Parametros de Entrada): Sintaxis (Otros métodos): def nombre_metodo((Parametros de Entrada): Ejemplo: def __init__ (self): self:Es la palabra reservada que usa python para referirse al objeto que estemos tratando en otros lenguajes se usa la palabra reservada this Constructor Es un tipo especial de método que se encarga de crear un objeto o instancia de un tipo en concreto de la clase. En python tiene el siguiente formato Sintaxis: def__init__(párametrosDE entrada1,..,párametrosDE entradan): Ejemplo:def__init__(self): Para llamar ese constructor desde fuera de la clase se utiliza el nombre de la clase que quiere instanciar a un objeto Sintaxis nuevoObjeto=nombreClase(parámetrosDe Entrada1,…,Parametros de EntradaN) Ejemplo: persona1=Persona(‘Ana’,'Ramirez’,programador) Class Persona: def __init__(self):#self es una variable; el primer parametro es la clase misma —————————————————————————————————————————————————————– Conexion con base de datos.Sqlite Para la base de dtos sqlite En versiones como la 2.4 instalar: python2.4sqlite En versiones de 2.5 en adelante el módulo ya viene por defecto import sqlte3 esta incorporadas a partir de python 2.5. Es decir ya la trae incorporadad el lenguaje Conexion con base de datos.Sqlite import sqlite3 as bd #en caso de ser otra base de datos debemos importar el modulo conn=bd.connect(“/home/richard/curso_Francisco_python/prueba36.test”) cur=conn.cursor() def crearTabla(): cur.execute(“create table personas(nombre text,” “apellidos text);”) conn.commit() def insertarDatosEjemplo(): personas=[['Erny','Revilla'],['Lorenzo','Gil'],['Dani','Molina']] for persona in personas: cur.execute(“insert into personas (nombre,apellidos) values (‘%s’,'%s’)” % tuple(persona)) conn.commit() **********************continua************************** Conexion con base de datos.Sqlite def consultarDatos(): cur.execute(“select * from personas”) for persona in cur: print “%20s %20s” %(persona[0],persona[1]) “”"nota no se puede manejar la salida de una consulta dandole formato debido a que las tuplas se devuelven en las cadenas con un caracter que precede a las cadenas”"” crearTabla() insertarDatosEjemplo() consultarDatos() Primero debemos instalar: El servidor mysql (mysqlserver) Instalar el API de la bas de datos (pythonmysqldb) Estableciendo una conexión import MySQLdb as bd #importamos el API conn=db.connect(db=”nombre_bd” , user=”nombre_usuario”,passwd=”pasword_user”, host=”nombre_host”) ejemplo: conn=db.connect(db=”mysql” , user=”root”,passwd=”", host=”localhost”) Conexión con base de datos. Postgrest Primero debemos instalar: El servidor mysql (mysqlserver) Instalar módulo de python para postgres (python2.5psycopg2) en este caso si estamos trabajando con la versión de python2.5 sino instalar la correspondiente a la versión de python que estemos utilizando. Estableciendo una conexión import psycoppg2 as bd #importamos el modulo conn = db.connect (database=”nombre_bd” , user=”nombre_usuario”, password=”password”, host=”localhost”, port=”5432”) ejemplo: conn=db.connect(database=”asl” , user=”usuario”, password=”123″, host=”localhost”, port=”5432″) asl es una base de datos que ya esxiste y se creo en postgres. Usuario es un usuario de postgres y password es la contraseña de ese usuario http://galegolinux.blogspot.com

35
8
PosteameloArchivo Histórico de Taringa! (2004-2017). Preservando la inteligencia colectiva de la internet hispanohablante.

CONTACTO

18 de Septiembre 455, Casilla 52

Chillán, Región de Ñuble, Chile

Solo correo postal

© 2026 Posteamelo.com. No afiliado con Taringa! ni sus sucesores.

Contenido preservado con fines históricos y culturales.