<?xml version="1.0" encoding="UTF-8"?> <rss
version="2.0"
xmlns:content="http://purl.org/rss/1.0/modules/content/"
xmlns:wfw="http://wellformedweb.org/CommentAPI/"
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:atom="http://www.w3.org/2005/Atom"
xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
> <channel><title>Linux Hispano &#187; tip</title> <atom:link href="http://www.linuxhispano.net/etiqueta/tip/feed/" rel="self" type="application/rss+xml" /><link>http://www.linuxhispano.net</link> <description>Noticias, tira, podcast, juegos, Linux y software libre</description> <lastBuildDate>Fri, 10 Feb 2012 14:00:58 +0000</lastBuildDate> <language>en</language> <sy:updatePeriod>hourly</sy:updatePeriod> <sy:updateFrequency>1</sy:updateFrequency> <generator>http://wordpress.org/?v=3.3.1</generator> <item><title>Programar en Bash, pequeño manual de referencia [Cheat Sheet]</title><link>http://www.linuxhispano.net/2010/06/08/bash-manual-referencia-cheat-sheet-mini/</link> <comments>http://www.linuxhispano.net/2010/06/08/bash-manual-referencia-cheat-sheet-mini/#comments</comments> <pubDate>Tue, 08 Jun 2010 01:48:04 +0000</pubDate> <dc:creator>Manuel Ignacio López Quintero</dc:creator> <category><![CDATA[Tutoriales]]></category> <category><![CDATA[bash]]></category> <category><![CDATA[cheat sheet]]></category> <category><![CDATA[linux+]]></category> <category><![CDATA[manual]]></category> <category><![CDATA[mini]]></category> <category><![CDATA[referencia]]></category> <category><![CDATA[tip]]></category> <category><![CDATA[tutorial]]></category> <guid
isPermaLink="false">http://www.linuxhispano.net/?p=2580</guid> <description><![CDATA[Aquí os dejo mi cheat sheet, o pequeño manual de referencia, personal sobre Bash. Faltan cosas pero creo que he cubierto lo más básico. Espero que os guste. 1. Cómo ejecutar scripts Bash Para escribir en Bash puedes hacerlo directamente desde la &#8230; <a
href="http://www.linuxhispano.net/2010/06/08/bash-manual-referencia-cheat-sheet-mini/">Continuar leyendo <span
class="meta-nav">&#8594;</span></a>]]></description> <content:encoded><![CDATA[<p>Aquí os dejo mi <em>cheat sheet</em>, o pequeño manual de referencia, personal sobre Bash. Faltan cosas pero creo que he cubierto lo más básico. Espero que os guste. <img
src='http://www.linuxhispano.net/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /></p><h2>1. Cómo ejecutar scripts Bash</h2><p>Para escribir en Bash puedes hacerlo directamente desde la consola/terminal de GNU/Linux, sin embargo, su mayor potencia radica en poder escribir &#8216;scripts&#8217; y ejecutar piezas de código para automatizar tareas. Aquí muestro paso a paso un ejemplo.</p><h3>1.1. Escribe un &#8216;script&#8217; Bash</h3><p>Abre tu editor de textos favoritos y escribe el siguiente código.</p><pre name="code" class="php">
#!/bin/bash
echo "Hola mundo"
</pre><p>Guárdalo como <strong>holamundo.sh </strong>(la extensión no importa pero ésta es renococida por muchos editores de texto) .</p><h3>1.2. Dale permisos</h3><p>Para lanzar el &#8216;script&#8217; Bash, dále permisos de ejecución. Para ello escribe en tu terminal/consola de comandos:</p><p><strong>chmod u+x holamundo.sh</strong></p><p>Recuerda ejecutar este comando y los siguientes en la misma carpeta/directorio donde se encuentra holamundo.sh</p><h3>1.3. Ejecútalo</h3><p>Lanza el &#8216;script&#8217; ejecutando en tu terminal/consola:</p><p><strong>./holamundo.sh</strong></p><p>Si no ha habido ningún problema se ejecutará el &#8216;script&#8217; de Bash mostrando la frase &#8220;Hola mundo&#8221;.<br
/> <br/><br/></p><h2>2. Características Bash</h2><p>Aquí se mostrarán las características de dicho intérprete de comandos o <em>shell</em> de GNU. Recuerda que los <strong>comandos</strong> son las acciones a ejecutar desde la consola/terminal Linux. En la siguiente sección hay una recopilación de ellos.</p><h3>2.1. Comentarios</h3><p>Los comentarios en Bash se hacen línea a línea con el símbolo <strong>#</strong>.</p><pre name="code" class="php">
#!/bin/bash
#
# Hola Mundo comentado
#
echo "Hola mundo"
</pre><h3>2.2. Variables</h3><p>Las variables no tienen tipo, es decir, una variable puede contener una cadena, un número, etc. sin necesidad de definirlo.</p><p>La sintaxis es:</p><p><strong>nombre_variable=valor_variable</strong></p><p>Es obligatorio no dejar espacios antes o despues del simbolo &#8216;=&#8217; ya que sino Bash interpretaría la variable como un comando Linux.</p><p>Para acceder a una variable simplemente escribe como prefijo <strong>$</strong> en el nombre de la variable.</p><p><strong>echo $varname</strong></p><p>Un ejemplo sencillo:</p><pre name="code" class="php">
#!/bin/bash
# Asignación y salida de variables
mivariable="Me llamo Nacho"
echo $mivariable
</pre><h4>2.2.1. Paso de variables</h4><p>Cuando ejecutas desde tu terminal/consola tienes la posibilidad de pasarle más argumentos. Por ejemplo:</p><p><strong>./miScript.sh hola 4</strong></p><p>Para recoger estos valores escribe <strong>$</strong> y a continuación el número de posición del argumento pasado. El primer argumento tiene valor <strong>$1</strong>, que sería &#8216;hola&#8217;, y el segundo argumento sería $2, en el ejemplo sería el número 4. La variable <strong>$0</strong> es el propio nombre del archivo.</p><pre name="code" class="php">
#!/bin/bash
#
# Paso de variables
#
echo "Tu primer argumento es" $1
echo "Tu segundo argumento es" $2
</pre><p>También hay que destacar que <strong>$?</strong> guarda el valor de salida del último comando ejecutado. <strong>$*</strong> almacena todos los argumentos y <strong>$#</strong> es el número de argumentos pasados.</p><h3>2.3. Comparaciones y/o expresiones</h3><p>Los condicionales y bucles se rigen mediante la evaluación de una expresión. Por eso lo primero es saber cómo programar en Bash las evaluaciones de una expresión.</p><p>La evaluación de una expresión da como resultado <strong>verdadero</strong> o <strong>falso</strong>. Si la comparación o evaluación de la expresión es verdadera se ejecutará el bucle o la condicional, si es falsa la evaluación no se ejecutará.</p><p>En Bash, la sintaxis es la siguiente:</p><pre>
<strong>test <em>expresión</em></strong>
</pre><p>ó</p><pre>
<strong>[ <em>expresión</em> ]
</strong></pre><p>Un ejemplo de expresión sería <strong>[ 3 -eq 5 ]</strong> que comprueba si el valor 3 es igual a 5. Como es incorrecto, el valor que devuelve es falso. Los símbolos <strong>[</strong> y <strong>]</strong> tienen que estar obligatoriamente separados por un espacio.</p><h4>2.3.1. Comparaciones numéricas</h4><pre>
<strong>numero1 -eq numero2</strong>:	Devuelve verdadero si 'numero1' es igual a 'numero2'.
<strong>numero1 -ge numero2</strong>:	Devuelve verdadero si 'numero1' es igual o mayor a 'numero2'.
<strong>numero1 -gt numero2</strong>:	Devuelve verdadero si 'numero1' es mayor a 'numero2'.
<strong>numero1 -le numero2</strong>:	Devuelve verdadero si 'numero1' es igual o menor a 'numero2'.
<strong>numero1 -lt numero2</strong>:	Devuelve verdadero si 'numero1' es menor a 'numero2'.
<strong>numero1 -ne numero2</strong>:	Devuelve verdadero si 'numero1' no es igual a 'numero2'.
</pre><h4>2.3.2. Comparaciones de cadenas</h4><pre>
<strong>cadena1 = cadena2</strong>: Devuelve verdadero si 'cadena1' es idéntica a 'cadena2'.
<strong>cadena1 != cadena2</strong>: Devuelve verdadero si 'cadena1' no es idéntica a 'cadena2'.
<strong>cadena1</strong>:	Devuelve verdadero si 'cadena1' es nulo (no significa que su longitud sea cero).
<strong>-n cadena1</strong>: Devuelve verdadero si la longitud de caracteres de 'cadena1' es mayor que cero.
<strong>-z cadena1</strong>: Devuelve verdadero si la longitud de caracteres de 'cadena1' es cero.
</pre><h4>2.3.3. Comparaciones de ficheros</h4><pre>
<strong>-d nombrefichero</strong>: Devuelve verdadero si el fichero es un directorio.
<strong>-f nombrefichero</strong>: Devuelve verdadero si el fichero es un archivo.
<strong>-r nombrefichero</strong>: Devuelve verdadero si el fichero puede ser leído.
<strong>-w nombrefichero</strong>:	Devuelve verdadero si el fichero puede ser escrito.
<strong>-x nombrefichero</strong>: Devuelve verdadero si el fichero es ejecutable.
</pre><h4>2.3.4. Comparaciones de expresiones</h4><pre>
<strong>!<em>expresión</em></strong>: Devuelve verdadero si la expresión no se cumple.
<strong><em>expresión1</em> -a <em>expresión2</em></strong>: Devuelve verdadero si la expresión1 y la expresión2 se cumplen (también vale <strong>&#038;&#038;</strong>).
<strong><em>expresión1</em> -o <em>expresión2</em></strong>: Devuelve verdadero si la expresión1 o la expresión2 se cumplen (también vale <strong>||</strong>).
</pre><h3>2.4. Condicionales</h3><p>En programación, una sentencia condicional es una instrucción que se pueden ejecutar o no en función del valor de una expresión. En Bash, las condicionales más populares son los siguientes:</p><h4>2.4.1. If &#8211; Then</h4><pre>
<strong>if [ <em>expresión</em> ]
then
<em>comandos</em>
fi</strong>
</pre><h4>2.4.2. If &#8211; Then &#8211; Else</h4><pre>
<strong>if [ <em>expresión</em> ]
then
<em>comandos</em>
else
<em>comandos</em>
fi</strong>
</pre><h4>2.4.3. If &#8211; Then &#8211; Else if &#8211; Else</h4><pre>
<strong>if [ <em>expresión1</em> ]
then
<em>comandos</em>
elif [ <em>expresión2</em> ]
then
<em>comandos</em>
else
<em>comandos</em>
fi</strong>
</pre><h4>2.4.4. Case</h4><pre><strong>case <em>cadena</em> in
<em>cadena1</em>)
<em>comandos</em>
;;
<em>cadena2</em>)
<em>comandos</em>
;;
*)
<em>comandos</em>
;;
esac
</strong></pre><p>Se comprueba <strong><em>cadena</em></strong>. Si concuerda con <strong><em>cadena1</em></strong> se ejecutará los comandos correspondientes hasta llegar a <strong>;;</strong>. Lo mismo ocurre con <strong><em>cadena2</em></strong>. Si <strong><em>cadena</em></strong> no coincide con <strong><em>cadena1</em></strong> o <strong><em>cadena2</em></strong> entonces se ejecutará <strong>*</strong>. Se puede añadir tantas cadenas de verificación como uno desee.</p><h3>2.5. Bucles</h3><p>Un bucle repite los comandos que uno ha escrito tantas veces hasta que la expresión se verifique.</p><h4>2.5.1. For</h4><p>Existen muchas maneras de realizar un bucle <em>for</em> en Bash. Yo sólo uso ésta:</p><pre><strong>for (( <em>inicializador</em>; <em>condición</em>; <em>incremento</em> ))
do
	<em>comandos</em>
done</strong></pre><p>Su sintaxis es casi idéntica a C. Aquí un ejemplo:</p><pre name="code" class="php">#!/bin/bash
for (( c=1; c<=5; c++ ))
do
	echo "Bienvenido $c veces..."
done
</pre><h4>2.5.2. While</h4><pre><strong>while [ <em>expresión</em> ]
do
<em>comandos</em>
done</strong></pre><h4>2.5.3. Until</h4><pre><strong>until [ <em>expresión</em> ]
do
<em>comandos</em>
done</strong></pre><p><br/><br/></p><h2>3. Comandos Linux</h2><p>Lista de comandos más importantes según la Wikipedia.</p><h3>3.1. Ayuda</h3><pre>
<strong>man</strong>: muestra manual del comando que le indiquemos.
<strong>--help</strong>: da una ayuda de los comandos.
</pre><h3>3.2. Archivos y directorios</h3><pre><strong>ls</strong>: lista los archivos y directorios.
<strong>sort</strong>: ordena alfabéticamente una lista de archivos.
<strong>cd</strong>: cambio de directorio.
<strong>pwd</strong>: muestra la ruta al directorio actual.
<strong>tree</strong>: muestra la estructura de directorios y archivos en forma gráfica.
<strong>mkdir</strong>: crea un directorio.
<strong>rmdir</strong>: borro directorios.
<strong>rm -r</strong>: borra directorios no vacíos.
<strong>cp</strong>: copia archivos.
<strong>rm</strong>: borra archivos.
<strong>mv</strong>: mueve o renombra archivos y directorios.
<strong>cat</strong>: ve el contenido de uno o varios archivos.
<strong>more</strong>: ve el contenido de los archivos.
<strong>less</strong>: ve el contenido de los archivos.
<strong>split</strong>: dividir archivos.
<strong>find</strong>: busca archivos.
<strong>locate</strong>: localiza archivos según una lista generada.
<strong>updatedb</strong>: actualiza la lista de los archivos existentes.
<strong>whereis</strong>: muestra la ubicación de un archivo.
<strong>file</strong>: muestra el tipo de archivo.
<strong>whatis</strong>: muestra descripción del archivo.
<strong>wc</strong>: cuenta líneas palabras o caracteres en un archivo.
<strong>grep</strong>: busca un texto en archivos.
<strong>head</strong>: muestra el inicio de un archivo.
<strong>tail</strong>: muestra el final de un archivo.
<strong>tailf</strong>: muestra el final de un archivo y lo que se añada en el instante (logs).
<strong>tr</strong>: reemplaza caracteres en un fichero de texto.
<strong>sed</strong>: cambia una cadena de caracteres por otra.
<strong>join</strong>: cruza la información de dos archivos y muestra las partes que se repiten.
<strong>paste</strong>: toma la primera línea de cada archivo y las combina para formar una línea de salida.
<strong>uniq</strong>: elimina líneas repetidas adyacentes del archivo entrada cuando copia al archivo salida.
<strong>cut</strong>: sirve para seleccionar columnas de una tabla o campos de cada línea de archivo.
<strong>ln</strong>: crea enlaces a archivos o carpetas.
<strong>diff</strong>: muestra las diferencias entre dos archivos.
<strong>fuser</strong>: muestra que usuario tiene en uso o bloqueado un archivo o recurso.
<strong>tar</strong>: empaqueto archivos.
<strong>gzip</strong>: comprime archivos gz.
<strong>gunzip</strong>: descomprime archivos gz.
<strong>compress</strong>: comprime archivos Z.
<strong>uncompress</strong>: descomprime archivos Z.
<strong>chmod</strong>: cambio permisos a archivos y directorios.
<strong>chown</strong>: cambio de propietario.
<strong>chgrp</strong>: cambio de grupo.
<strong>vi</strong>: abre el editor de texto vi.
<strong>pico</strong>: edita un fichero de texto.
</pre><h3>3.3. Usuarios</h3><pre>
<strong>adduser</strong>: agregó nuevo usuario.
<strong>useradd</strong>: agregó nuevo usuario.
<strong>userdel</strong>: borra un usuario.
<strong>passwd</strong>: permite cambiar la contraseña.
<strong>su</strong>: cambio de usuario.
<strong>whoami</strong>: muestra el nombre de usuario.
<strong>logname</strong>: muestra el nombre de usuario.
<strong>id</strong>: muestra datos de identificación del usuario.
<strong>finger</strong>: da información de usuario.
<strong>chfn</strong>: cambia la información del finger.
<strong>who</strong>: muestra los usuarios del sistema.
<strong>w</strong>: muestra un detalle de los usuarios.
<strong>last</strong>: información de los últimos usuarios que han usado el sistema.
<strong>mail</strong>: programa de correo.
<strong>pine</strong>: lector de correo en modo texto.
<strong>write</strong>: manda un mensaje a la pantalla de un usuario.
<strong>mesg</strong>: activo o desactivo recibir mensajes.
<strong>wall</strong>: mensaje a todos los usuarios.
<strong>talk</strong>: establecer una charla con otro usuario.
<strong>banner</strong>: saca letrero en la pantalla.
<strong>set</strong>: da información sobre el entorno del usuario.
<strong>addgroup</strong>: agregó nuevo grupo.
<strong>groupadd</strong>: agregó nuevo grupo.
<strong>chown</strong>: cambia el propietario de un fichero.
</pre><h3>3.4. Procesos</h3><pre>
<strong>top</strong>: muestra los procesos que se están ejecutando y permite matarlos.
<strong>ps</strong>: muestra la lista de procesos del usuario.
<strong>ps aux</strong>: muestra la lista de procesos de la máquina.
<strong>kill</strong>: mata proceso por ID.
<strong>killall</strong>: mata proceso por nombre.
<strong>time</strong>: mide el tiempo que tarda un proceso en ejecutarse.
<strong>fg</strong>: trae a primer plano un proceso parado o en segundo plano.
<strong>bg</strong>: pone un proceso en segundo plano.
<strong>&#038;</strong>: colocado al final de la línea de comando ejecuta en segundo plano.
<strong>nice</strong>: ajusta la prioridad de un proceso de -20 a 19.
</pre><h3>3.5. Discos</h3><pre>
<strong>mount</strong>: monta un disco.
<strong>umount</strong>: desmonta un disco.
<strong>df</strong>: muestra el espacio libre de los discos.
<strong>du</strong>: muestra el espacio usado por el disco o un directorio.
<strong>mkfs</strong>: formateo un disco.
<strong>fsck</strong>: estado del disco.
<strong>fdisk</strong>: gestión de particiones.
</pre><h3>3.6. Red</h3><pre>
<strong>netstat</strong>: muestra estado de la red.
<strong>ifconfig</strong>: muestra la configuración del dispositivo de red.
<strong>iwconfig</strong>: muestra la configuración del dispositivo de red inalámbrico.
<strong>nmap</strong>: escanea la red y muestra los puertos que se encuentran disponibles.
<strong>ping</strong>: indica si hay respuesta por parte del servidor.
<strong>nslookup</strong>: me da la IP de nuestro servidor DNS.
<strong>telnet</strong>: me conecto a un equipo remotamente.
<strong>netconf</strong>: configuro la red.
<strong>ntop</strong>: muestra los procesos de la red.
<strong>route -n</strong>: muestra la tabla de rutas.
</pre><h3>3.7. Sistema</h3><pre>
<strong>rlogin</strong>: se conecta a otra máquina de forma remota (remote login).
<strong>rsh</strong>: se conecta a otra máquina de forma remota (remote shell).
<strong>ftp</strong>: se conecta a otra máquina por el protocolo ftp.
<strong>reboot</strong>: reinicia la máquina.
<strong>halt</strong>: apaga el sistema.
<strong>shutdown</strong>: apaga el sistema.
<strong>init0</strong>: apaga la máquina.
<strong>init6</strong>: reinicia la máquina.
<strong>uptime</strong>: muestra el tiempo transcurrido de encendida la máquina.
<strong>exit</strong>: cierro sesión actual.
<strong>logout</strong>: salgo del sistema.
<strong>nohup</strong>: proporciona inmunidad frente a rupturas de comunicación..
<strong>dmesg</strong>: muestra mensajes del arranque del ordenador.
<strong>history</strong>: muestra todos los comandos digitados por el usuario.
<strong>uname</strong>: da información del sistema operativo.
<strong>tee</strong>: copia la entrada estándar a la salida estándar y a un archivo.
<strong>host</strong>: muestra la dirección IP del servidor en una red local.
<strong>hostname</strong>: muestra el nombre del servidor.
<strong>umask</strong>: muestra y permite cambiar la máscara de usuario.
<strong>chroot</strong>: cambia la raíz para que root ejecute algo en forma particular.
<strong>chsh</strong>: cambia el login shell.
<strong>free</strong>: estado de la memoria.
<strong>date</strong>: muestra fecha y hora actual.
<strong>cal</strong>: muestra calendario.
<strong>clear</strong>: borro la pantalla.
<strong>at</strong>: ejecuta un comando más tarde.
<strong>env</strong>: ver variables de entorno.
<strong>export</strong>: permite el uso de variables por programas en todos los caminos del usuario.
<strong>modprobe</strong>: cargo modulo.
<strong>startx</strong>: arranca el servidor X.
<strong>xev</strong>: muestra los eventos de las teclas y el ratón.
<strong>lspci</strong>: muestra los periféricos conectados al puente pci.
<strong>lsmod</strong>: muestra los modulos cargados en el sistema.
<strong>echo</strong>: escribe un mensaje en la salida estándar.
<strong>alias</strong>: crear un alias. Un comando largo abreviado en pocas letras.
<strong>unalias</strong>: borrar un alias.
<strong>bc</strong>: calculadora.
<strong>mc</strong>: ejecuta Midnight Commander.
<strong>xkill</strong>: mata una ventana gráfica.
<strong>rpm</strong>: instala los paquetes rpm RedHat.
<strong>dpkg</strong>: instala los paquetes deb Debian.
<strong>kernelcfg</strong>: manejo los modulos cargados en el kernel.
<strong>insmod</strong>: inserta modulos en el kernel.
<strong>rmmod</strong>: elimina modulos del kernel.
<strong>updatedb</strong>: actualiza la base de datos interna de archivos.
<strong>sh</strong>: cambia al bash shell.
<strong>setxkbmap</strong>: por si no funcionan las teclas con AltGr en modo X.
</pre><p><br/><br/></p><h2>4. Ejemplos</h2><h5>Introducir dos números diferentes e indicar cuál es el mayor</h5><pre name="code" class="php">
#!/bin/bash
echo "Introducir dos números:"
read A
read B
if [ $A -gt $B ]
then
	echo $A "es el mayor"
else
	echo $B "es el mayor"
fi
</pre><h5>Pasar dos números como parámetros e indicar el menor</h5><pre name="code" class="php">
#!/bin/bash
echo $#
if [ $# -ne 2 ]
then
	echo "Falta algún parámetro"
elif [ $1 -eq $2 ]
	then
		echo "Son iguales"
	elif [ $1 -lt $2 ]
		then
			echo $1 "es menor"
		else
			echo $2 "es menor"
fi
</pre><h5>Ver los procesos que está ejecutando un usuario concreto</h5><pre name="code" class="php">
#!/bin/bash
RES=s
while [ $RES = s ]
do
	echo "Introducir nombre de usuario:"
	read USU
	ps aux|grep $USU
	echo "¿Desea continuar?"
	read RES
done
</pre><h5>Mostrar los usuarios que pasamos como parámetros y saber si están conectados</h5><pre name="code" class="php">
#!/bin/bash
for i in $*
do
	if who|grep -s $i>/dev/null
	then
		echo $i si está conectado
	else
		echo $i no está conectado
	fi
done
</pre><p><br/><br/></p><h2>Bibliografía</h2><ul><li><a
target="_blank" href="http://books.google.es/books?id=iUrJzO7CX-IC&#038;pg=PA63&#038;lpg=PA63&#038;dq="angeles+sampalo+de+la+torre"&#038;source=bl&#038;ots=jdDgMfpcYq&#038;sig=LZWGRZG32K0S6cq7WUAd_-mInXo&#038;hl=es&#038;ei=G5INTNurMaWV4gbUyIygAQ&#038;sa=X&#038;oi=book_result&#038;ct=result&#038;resnum=10&#038;ved=0CDsQ6AEwCQ#v=onepage&#038;q&#038;f=false">Informática - Ángeles Sampalo de la Torre</a></li><li>Linux-SXS</li><li><a
target="_blank" href="http://es.wikipedia.org/wiki/Bash">Wikipedia</a> (<a
target="_blank" href="http://es.wikipedia.org/wiki/Comandos_linux" class="broken_link">comandos</a>)</li></ul> ]]></content:encoded> <wfw:commentRss>http://www.linuxhispano.net/2010/06/08/bash-manual-referencia-cheat-sheet-mini/feed/</wfw:commentRss> <slash:comments>20</slash:comments> </item> <item><title>Descargar ficheros sin usar enlaces con PHP</title><link>http://www.linuxhispano.net/2010/06/07/descargar-ficheros-sin-usar-enlaces-con-php/</link> <comments>http://www.linuxhispano.net/2010/06/07/descargar-ficheros-sin-usar-enlaces-con-php/#comments</comments> <pubDate>Mon, 07 Jun 2010 15:03:54 +0000</pubDate> <dc:creator>F. Javier Carazo Gil</dc:creator> <category><![CDATA[Tutoriales]]></category> <category><![CDATA[descargar]]></category> <category><![CDATA[fichero]]></category> <category><![CDATA[php]]></category> <category><![CDATA[tip]]></category> <category><![CDATA[tutorial]]></category> <guid
isPermaLink="false">http://www.linuxhispano.net/?p=2449</guid> <description><![CDATA[Cuando me refiero a no usar enlaces, me refiero a no usar enlaces al fichero en sí, por ejemplo: http://www.linuxhispano.net/logo.jpg sino a algo así como http://www.dominio.com/obtener_fichero.php?id_fichero=100. ¿Con qué idea podemos querer utilizar esto? Además de ocultar algo más de nuestra &#8230; <a
href="http://www.linuxhispano.net/2010/06/07/descargar-ficheros-sin-usar-enlaces-con-php/">Continuar leyendo <span
class="meta-nav">&#8594;</span></a>]]></description> <content:encoded><![CDATA[<p>Cuando me refiero a no usar enlaces, me refiero a no usar enlaces al fichero en sí, por ejemplo: http://www.linuxhispano.net/logo.jpg sino a algo así como http://www.dominio.com/obtener_fichero.php?id_fichero=100.</p><p>¿Con qué idea podemos querer utilizar esto? Además de ocultar algo más de nuestra estructura interna, que siempre viene bien, es útil saber cómo descargar ficheros de este modo para tener un mayor control sobre el flujo, de forma que podamos comprobar rol de la persona que descarga, acceder a una base de datos para obtener el fichero de un campo <a
target="_blank" href="http://es.wikipedia.org/wiki/Binary_large_object" target="_blank">BLOB</a> o culaquier otro tratamiento que queramos hacer.</p><p>Para ello con PHP y suponiendo que tenemos el fichero ya accesible en disco (si está almacenado en una BBDD una solución podría ser crear un temporal mientras tanto), sólo tendremos que hacer lo siguiente:</p><pre name="code" class="php">header('Content-Description: File Transfer');
header("Content-Type: application/force-download");
header('Content-Disposition: attachment; filename='.basename($ruta));
header('Content-Transfer-Encoding: binary');
header('Content-Length: ' . obtenerTamanhoFichero($ruta));
readfile($ruta);
exit;</pre><p>Utilizo una funcion <em>obtenerTamanhoFichero </em>que ahora os presentaré porque la función equivalente de PHP en ocasiones no funciona correctamente. Por cierto, el fichero en cuestión estará en la ruta indicada por la variable correspondiente, <em>$ruta</em>.</p><pre name="code" class="php">function obtenerTamanhoFichero ($url)
{
    if (substr($url,0,4)=='http')
   {
        $x = array_change_key_case(get_headers($url, 1),CASE_LOWER);
        if ( strcasecmp($x[0], 'HTTP/1.1 200 OK') != 0 ) { $x = $x['content-length'][1]; }
        else { $x = $x['content-length']; }
    }
    else { $x = @filesize($url); }
    return $x;
}</pre><p>Si queréis hacernos referencias a soluciones similares para otras tecnologías os lo agradeceremos, pero como básicamente jugamos con <a
target="_blank" href="http://es.wikipedia.org/wiki/Hypertext_Transfer_Protocol" target="_blank">las cabeceras HTTP</a> suponemos que será algo muy similar.</p> ]]></content:encoded> <wfw:commentRss>http://www.linuxhispano.net/2010/06/07/descargar-ficheros-sin-usar-enlaces-con-php/feed/</wfw:commentRss> <slash:comments>2</slash:comments> </item> <item><title>Instalar el conector de MySQL sobre Mono</title><link>http://www.linuxhispano.net/2010/02/05/howto-instalar-el-conector-de-mysql-sobre-mono-con-ado-net/</link> <comments>http://www.linuxhispano.net/2010/02/05/howto-instalar-el-conector-de-mysql-sobre-mono-con-ado-net/#comments</comments> <pubDate>Fri, 05 Feb 2010 09:46:40 +0000</pubDate> <dc:creator>F. Javier Carazo Gil</dc:creator> <category><![CDATA[Tutoriales]]></category> <category><![CDATA[.net]]></category> <category><![CDATA[ado.net]]></category> <category><![CDATA[como]]></category> <category><![CDATA[howto]]></category> <category><![CDATA[mono]]></category> <category><![CDATA[mysql]]></category> <category><![CDATA[tip]]></category> <category><![CDATA[tutorial]]></category> <guid
isPermaLink="false">http://www.linuxhispano.net/?p=1470</guid> <description><![CDATA[Introducción Ya que no hay demasiado documentación de Mono en la red y creo que es una alternativa muy válida para muchos proyectos, voy a seguir publicando más tutoriales y tips sobre este tema. Mi intención hoy es comentar cómo &#8230; <a
href="http://www.linuxhispano.net/2010/02/05/howto-instalar-el-conector-de-mysql-sobre-mono-con-ado-net/">Continuar leyendo <span
class="meta-nav">&#8594;</span></a>]]></description> <content:encoded><![CDATA[<p><a
href="http://www.linuxhispano.net/wp-content/uploads/2010/02/MonoDevelopLogo.png"><img
class="aligncenter size-full wp-image-1602" title="MonoDevelopLogo" src="http://www.linuxhispano.net/wp-content/uploads/2010/02/MonoDevelopLogo.png" alt="" width="256" height="256" /></a></p><p><strong>Introducción</strong></p><p>Ya que no hay demasiado documentación de Mono en la red y creo que es una alternativa muy válida para muchos proyectos, voy a seguir publicando <a
href="http://www.linuxhispano.net/etiqueta/mono/" target="_blank">más tutoriales y tips sobre este tema</a>.</p><p>Mi intención hoy es <strong>comentar cómo referenciar el conector de </strong><a
target="_blank" href="http://es.wikipedia.org/wiki/MySQL" target="_blank"><strong>MySQL</strong></a><strong> dentro de un proyecto de </strong><a
target="_blank" href="http://es.wikipedia.org/wiki/Proyecto_Mono" target="_blank"><strong>Mono</strong></a><strong> con </strong><a
target="_blank" href="http://es.wikipedia.org/wiki/MonoDevelop" target="_blank"><strong>MonoDevelop</strong></a>, de forma que podamos <strong>utilizarlo </strong>con la arquitectura y las funcionalidades de <a
target="_blank" href="http://es.wikipedia.org/wiki/ADO.NET" target="_blank"><strong>ADO.NET</strong></a> para manejar datos con<strong> un servidor</strong> de base de datos <a
target="_blank" href="http://es.wikipedia.org/wiki/MySQL" target="_blank"><strong>MySQL</strong></a>. El conector os valdrá tanto para aplicaciones web como locales.</p><p>Si no conocéis <a
target="_blank" href="http://es.wikipedia.org/wiki/ADO.NET" target="_blank">ADO.NET</a> os recomiendo que os leáis el artículo al que os referencio de la Wikipedia porque realmente es una arquitectura muy útil para el manejo de datos, aunque los más puristas la rechazarán por venir de <a
target="_blank" href="http://es.wikipedia.org/wiki/Microsoft" target="_blank">Microsoft</a>.</p><p><strong>Instalación</strong></p><p>Lo primero será estar seguros de que tenemos instalados <a
target="_blank" href="http://es.wikipedia.org/wiki/Proyecto_Mono" target="_blank">Mono</a>, <a
target="_blank" href="http://es.wikipedia.org/wiki/MonoDevelop" target="_blank">MonoDevelop</a> y que tenemos a nuestro alcance un servidor de <a
target="_blank" href="http://es.wikipedia.org/wiki/MySQL" target="_blank">MySQL</a> al que conectarnos. Si no lo tenéis instalados podéis instarlo prácticamente seguro desde vuestro gestor de paquetes y en todo caso, desde la web oficial del <a
target="_blank" href="http://www.mono-project.com/Main_Page" target="_blank">Proyecto Mono</a>. Una vez hecho esto descargaremos el conector <a
target="_blank" href="http://dev.mysql.com/downloads/connector/net/." target="_blank">desde este enlace en la web de MySQL</a>. Elegimos la plataforma: &#8220;.NET &amp; Mono&#8221;. Se os descargará un fichero <em>dll </em>con los ensamblados correspondientes.</p><p><a
href="http://www.linuxhispano.net/wp-content/uploads/2010/02/monomysql-3.png"><img
class="aligncenter size-full wp-image-1608" title="monomysql-3" src="http://www.linuxhispano.net/wp-content/uploads/2010/02/monomysql-3.png" alt="" width="500" height="459" /></a></p><p><strong>Referencia dentro de un proyecto</strong></p><p>Ahora nos dirigimos a Mono Develop y creamos una solución nueva (da igual si de consola o GTK#). Al crearse la solución nos dirigimos a las <strong>Referencias</strong> del proyecto y desde allí importamos el ensamblado. Para ello seleccionáis  “Editar referencias&#8230;”. De las tres opciones que aparecen en el diálogo entramos en “Ensamblado .NET”, elegimos el fichero dll que acabamos de descargar y lo añadimos.</p><p><strong>Prueba</strong></p><p>Para terminar vamos a probar que todo está bien. En el <em>Main.cs </em>vamos a implementar el típico ¡Hola Mundo!, añadiéndole al comienzo una referencia al conector. Si compila correctamente hemos llegado a nuestro objetivo.</p><pre name="code" class="c-sharp">
using System;
using MySql.Data.MySqlClient;
namespace ejemplo_mono_ado
{
	class MainClass
	{
		public static void Main(string[] args)
		{
			Console.WriteLine("Hello World!");
		}
	}
}
</pre><p>En un futuro post explicaré más sobre el uso y la potencia de esta herramienta.</p><p><a
href="http://www.linuxhispano.net/wp-content/uploads/2010/02/mono-300x210.jpg"><img
class="aligncenter size-full wp-image-1609" title="mono-300x210" src="http://www.linuxhispano.net/wp-content/uploads/2010/02/mono-300x210.jpg" alt="" width="300" height="210" /></a></p> ]]></content:encoded> <wfw:commentRss>http://www.linuxhispano.net/2010/02/05/howto-instalar-el-conector-de-mysql-sobre-mono-con-ado-net/feed/</wfw:commentRss> <slash:comments>10</slash:comments> </item> <item><title>Resetear autoincremento en MySQL</title><link>http://www.linuxhispano.net/2010/02/03/resetear-autoincremento-en-mysql/</link> <comments>http://www.linuxhispano.net/2010/02/03/resetear-autoincremento-en-mysql/#comments</comments> <pubDate>Wed, 03 Feb 2010 14:01:19 +0000</pubDate> <dc:creator>F. Javier Carazo Gil</dc:creator> <category><![CDATA[Tutoriales]]></category> <category><![CDATA[auto incremento]]></category> <category><![CDATA[AUTO_INCREMENT]]></category> <category><![CDATA[base de datos]]></category> <category><![CDATA[mysql]]></category> <category><![CDATA[sql]]></category> <category><![CDATA[tip]]></category> <guid
isPermaLink="false">http://www.linuxhispano.net/?p=1583</guid> <description><![CDATA[La posibilidad de generar valores automáticos para nuestras claves primarias gracias a la propiedad: AUTO_INCREMENT presente en muchos sistemas gestores de bases de datos modernos, es además de cómodo, seguro para quien lo implementa. Sin embargo, en caso de borrar &#8230; <a
href="http://www.linuxhispano.net/2010/02/03/resetear-autoincremento-en-mysql/">Continuar leyendo <span
class="meta-nav">&#8594;</span></a>]]></description> <content:encoded><![CDATA[<p><a
href="http://www.linuxhispano.net/wp-content/uploads/2010/02/mysql-logo.gif"><img
class="aligncenter size-full wp-image-1585" title="mysql-logo" src="http://www.linuxhispano.net/wp-content/uploads/2010/02/mysql-logo.gif" alt="" width="218" height="151" /></a></p><p>La posibilidad de generar <strong>valores automáticos para nuestras claves primarias </strong>gracias a la propiedad: <strong>AUTO_INCREMENT</strong> presente en muchos sistemas gestores de bases de datos modernos, es además de cómodo, seguro para quien lo implementa.</p><p>Sin embargo, en caso de borrar todos los datos de una tabla y volver a introducirlos, el valor del campo con AUTO_INCREMENT activado,<strong> en lugar de empezar desde 1, seguirá con la cuenta anterior</strong>. Esto es un detalle sin mucha importancia en algunos casos, pero que en algunas implementaciones puede dar problemas. Imaginemos una tabla con 10 registros con valores para su clave primaria numérica comprendidos entre 65 y 74. Sería por lo menos raro.</p><p><strong>¿Cómo solucionarlo en MySQL?</strong> Simplemente deberemos ejecutar:</p><p><em>ALTER TABLE nombre_tabla AUTO_INCREMENT = 1</em></p><p>Y este problema habrá desaparecido. Si queréis optar por rellenar los valores &#8220;a mano&#8221; siempre os quedará la posibilidad de indicar el valor del campo de forma explícita, aunque sea un valor que se auto incremente.</p> ]]></content:encoded> <wfw:commentRss>http://www.linuxhispano.net/2010/02/03/resetear-autoincremento-en-mysql/feed/</wfw:commentRss> <slash:comments>5</slash:comments> </item> <item><title>Formatear Javascript a código legible</title><link>http://www.linuxhispano.net/2009/12/11/formateador-de-javascript/</link> <comments>http://www.linuxhispano.net/2009/12/11/formateador-de-javascript/#comments</comments> <pubDate>Fri, 11 Dec 2009 17:14:20 +0000</pubDate> <dc:creator>F. Javier Carazo Gil</dc:creator> <category><![CDATA[Noticias]]></category> <category><![CDATA[Tutoriales]]></category> <category><![CDATA[formateador]]></category> <category><![CDATA[javascript]]></category> <category><![CDATA[tip]]></category> <guid
isPermaLink="false">http://www.linuxhispano.net/?p=1028</guid> <description><![CDATA[No sé si os ha pasado en alguna ocasión, que cuando estáis utilizando algún código Javascript de un tercero, ya sea de algún plugin, framework, etc. o cualquier código que estéis utilizando, aparece en una sola línea, mal tabulado o &#8230; <a
href="http://www.linuxhispano.net/2009/12/11/formateador-de-javascript/">Continuar leyendo <span
class="meta-nav">&#8594;</span></a>]]></description> <content:encoded><![CDATA[<p><img
class="aligncenter size-full wp-image-1029" title="JAVA" src="http://www.linuxhispano.net/wp-content/uploads/2009/12/JAVA.jpg" alt="JAVA" width="325" height="159" /></p><p>No sé si os ha pasado en alguna ocasión, que cuando estáis utilizando algún código Javascript de un tercero, ya sea de algún <em>plugin</em>, <em>framework</em>, etc. o cualquier código que estéis utilizando, aparece en una sola línea, mal tabulado o con una sintaxis un tanto difusa. Si queréis tratar dicho código y manejarlo, porque queráis ampliarlo o algo por estilo y no encontráis una versión para desarrolladores que sea más legible, la mejor solución es utilizar un <a
target="_blank" href="http://www.felgall.com/jsformat.htm" target="_blank">formateador de Javascript</a>.</p><p>El formateador que os recomiendo <a
target="_blank" href="http://www.felgall.com" target="_blank">Felgall Pty Ltd</a> una compañía australiana creada por Stephen Chapman and Elaine Bell que lo pone a disposición pública a través de <a
target="_blank" href="http://www.felgall.com/jsformat.htm" target="_blank">la aplicación web que os acabo de indicar</a>. El uso es directo, copiamos el código al cuadro de texto y le damos a <strong><em>Format</em></strong>. Paso seguido ya tendremos en la parte inferior todo el código formateado y con la sintaxis resaltada.</p><p>Por cierto, antes de terminar, comentaros que no siempre enredar el código de esa manera que os cuento arriba, es para evitar ocultarlo (con aplicaciones de este tipo es inútil realizar ese trabajo), sino para ahorrar por ejemplo caracteres como &#8216;\n&#8217; o por otras razones que puedan hacer al intérprete de Javascript o a la transmisión del código hasta el cliente más rápidas.</p> ]]></content:encoded> <wfw:commentRss>http://www.linuxhispano.net/2009/12/11/formateador-de-javascript/feed/</wfw:commentRss> <slash:comments>1</slash:comments> </item> <item><title>Revertir un commit errado en Subversion</title><link>http://www.linuxhispano.net/2009/11/17/como-revertir-un-commit-errado-en-subversion/</link> <comments>http://www.linuxhispano.net/2009/11/17/como-revertir-un-commit-errado-en-subversion/#comments</comments> <pubDate>Tue, 17 Nov 2009 16:34:24 +0000</pubDate> <dc:creator>Manuel Ignacio López Quintero</dc:creator> <category><![CDATA[Tutoriales]]></category> <category><![CDATA[tip]]></category> <guid
isPermaLink="false">http://www.linuxhispano.net/?p=550</guid> <description><![CDATA[Interesante entrada de Checho explicando los pasos a seguir para solucionar el error cuando realizamos un commit indebido. Cómo revertir un commit errado en Subversion por Checho.]]></description> <content:encoded><![CDATA[<p>Interesante entrada de Checho explicando los pasos a seguir para solucionar el error cuando realizamos un <em>commit </em>indebido.</p><p><a
target="_blank" href="http://elchechoinmundo.blogspot.com/2009/11/como-revertir-un-commit-errado-en.html">Cómo revertir un commit errado en Subversion por Checho</a>.</p> ]]></content:encoded> <wfw:commentRss>http://www.linuxhispano.net/2009/11/17/como-revertir-un-commit-errado-en-subversion/feed/</wfw:commentRss> <slash:comments>1</slash:comments> </item> <item><title>Matar un proceso por su nombre en Ubuntu</title><link>http://www.linuxhispano.net/2009/11/04/mata-proceso-nombre-linuxubuntu/</link> <comments>http://www.linuxhispano.net/2009/11/04/mata-proceso-nombre-linuxubuntu/#comments</comments> <pubDate>Wed, 04 Nov 2009 11:52:58 +0000</pubDate> <dc:creator>Manuel Ignacio López Quintero</dc:creator> <category><![CDATA[Tutoriales]]></category> <category><![CDATA[linux+]]></category> <category><![CDATA[shell]]></category> <category><![CDATA[tip]]></category> <category><![CDATA[ubuntu]]></category> <guid
isPermaLink="false">http://www.linuxhispano.net/?p=411</guid> <description><![CDATA[Existen muchas maneras de matar un proceso si sólo sabes el nombre del proceso. Aquí se supone que el proceso se llama &#8216;programa&#8217;, sólo tienes que cambiarlo por el nombre del proceso que quieras eliminar. Aquí están las posibilidades: killall &#8230; <a
href="http://www.linuxhispano.net/2009/11/04/mata-proceso-nombre-linuxubuntu/">Continuar leyendo <span
class="meta-nav">&#8594;</span></a>]]></description> <content:encoded><![CDATA[<p>Existen muchas maneras de matar un proceso si sólo sabes el nombre del proceso. Aquí se supone que el proceso se llama &#8216;programa&#8217;, sólo tienes que cambiarlo por el nombre del proceso que quieras eliminar. Aquí están las posibilidades:</p><pre><strong> killall -v programa</strong></pre><pre><strong>
 pkill programa</strong></pre><pre><strong>
 kill $(pgrep programa) </strong></pre><pre><strong>
 kill `ps -ef | grep programa | grep -v grep | awk ‘{print $2}’`</strong></pre><p>Estas técnicas pueden ser útiles en los <em>scripts</em> para el <em>shell</em> en donde puedes no saber el ID del proceso y necesitas eliminarlo por su nombre.</p> ]]></content:encoded> <wfw:commentRss>http://www.linuxhispano.net/2009/11/04/mata-proceso-nombre-linuxubuntu/feed/</wfw:commentRss> <slash:comments>3</slash:comments> </item> <item><title>Rotar un texto vía CSS</title><link>http://www.linuxhispano.net/2009/11/02/rotar-texto-via-css/</link> <comments>http://www.linuxhispano.net/2009/11/02/rotar-texto-via-css/#comments</comments> <pubDate>Mon, 02 Nov 2009 11:25:53 +0000</pubDate> <dc:creator>F. Javier Carazo Gil</dc:creator> <category><![CDATA[Tutoriales]]></category> <category><![CDATA[css]]></category> <category><![CDATA[html]]></category> <category><![CDATA[rotar]]></category> <category><![CDATA[tip]]></category> <guid
isPermaLink="false">http://www.linuxhispano.net/?p=402</guid> <description><![CDATA[Probablemente en alguna ocasión hayáis necesitado rotar texto en algún sitio web. La opción que os traigo hoy para este problema, utiliza CSS, por lo que se integra a la perfección en cualquier tipo de sitio y es perfectamente compatible &#8230; <a
href="http://www.linuxhispano.net/2009/11/02/rotar-texto-via-css/">Continuar leyendo <span
class="meta-nav">&#8594;</span></a>]]></description> <content:encoded><![CDATA[<p>Probablemente en alguna ocasión hayáis necesitado rotar texto en algún sitio web. La opción que os traigo hoy para este problema, utiliza CSS, por lo que se integra a la perfección en cualquier tipo de sitio y es perfectamente compatible con los navegadores más populares de la actualidad: Mozilla Firefox (y familia Gecko), Google Chrome/Chromium (y familia WebKit) e incluso Internet Explorer (aunque de una manera menos directa).</p><p>Las reglas CSS a incluir son las siguientes (rotación de -90º o 270º):<br
/> <code>-webkit-transform: rotate(-90deg);<br
/> -moz-transform: rotate(-90deg);<br
/> filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=3);</code></p><p>El tip original ha aparecido en unos de mi blog favoritos de diseño web, <a
target="_blank" href="http://gloobs.wordpress.com/2009/11/02/rotar-texto-html-con-css/" target="_blank">Gloobs</a>.</p> ]]></content:encoded> <wfw:commentRss>http://www.linuxhispano.net/2009/11/02/rotar-texto-via-css/feed/</wfw:commentRss> <slash:comments>1</slash:comments> </item> <item><title>Usar una imagen ISO en Ubuntu</title><link>http://www.linuxhispano.net/2009/11/02/como-usar-imagen-iso-ubuntu-linux/</link> <comments>http://www.linuxhispano.net/2009/11/02/como-usar-imagen-iso-ubuntu-linux/#comments</comments> <pubDate>Mon, 02 Nov 2009 09:00:22 +0000</pubDate> <dc:creator>Manuel Ignacio López Quintero</dc:creator> <category><![CDATA[Tutoriales]]></category> <category><![CDATA[imagen]]></category> <category><![CDATA[iso]]></category> <category><![CDATA[tip]]></category> <category><![CDATA[ubuntu]]></category> <category><![CDATA[usar]]></category> <guid
isPermaLink="false">http://www.linuxhispano.net/?p=382</guid> <description><![CDATA[Abre una ventana de terminal de consola y escribe los siguientes comandos: sudo mkdir /media/iso sudo modprobe loop sudo mount filename.iso /media/iso -t iso9660 -o loop Ahora deberías ser capaz de ver en la carpeta /media/iso los contenidos de la &#8230; <a
href="http://www.linuxhispano.net/2009/11/02/como-usar-imagen-iso-ubuntu-linux/">Continuar leyendo <span
class="meta-nav">&#8594;</span></a>]]></description> <content:encoded><![CDATA[<p>Abre una ventana de terminal de consola y escribe los siguientes comandos:</p><pre><strong>sudo mkdir /media/iso
sudo modprobe loop
</strong></pre><pre><strong>sudo mount filename.iso /media/iso -t iso9660 -o loop</strong></pre><p>Ahora deberías ser capaz de ver en la carpeta /media/iso los contenidos de la imagen ISO. Si quieres desmontar la imagen ISO ejecuta lo siguiente:</p><pre><strong>sudo umount /media/iso</strong></pre>]]></content:encoded> <wfw:commentRss>http://www.linuxhispano.net/2009/11/02/como-usar-imagen-iso-ubuntu-linux/feed/</wfw:commentRss> <slash:comments>2</slash:comments> </item> <item><title>Instalar Apache 2 en Ubuntu</title><link>http://www.linuxhispano.net/2009/11/01/instalar-apache-ubuntu/</link> <comments>http://www.linuxhispano.net/2009/11/01/instalar-apache-ubuntu/#comments</comments> <pubDate>Sun, 01 Nov 2009 08:45:46 +0000</pubDate> <dc:creator>Manuel Ignacio López Quintero</dc:creator> <category><![CDATA[Tutoriales]]></category> <category><![CDATA[apache]]></category> <category><![CDATA[instalar]]></category> <category><![CDATA[tip]]></category> <category><![CDATA[ubuntu]]></category> <guid
isPermaLink="false">http://www.linuxhispano.net/?p=328</guid> <description><![CDATA[Para instalar Apache 2, ejecuta en el terminal de tu consola: sudo apt-get install apache2 Para comprobar que funciona perfectamente ejecuta: sudo /etc/init.d/apache2 restart Ubuntu a veces no define el nombre del servidor para Apache así que es bueno que &#8230; <a
href="http://www.linuxhispano.net/2009/11/01/instalar-apache-ubuntu/">Continuar leyendo <span
class="meta-nav">&#8594;</span></a>]]></description> <content:encoded><![CDATA[<div><p>Para instalar Apache 2, ejecuta en el terminal de tu consola:</p><pre><strong>sudo apt-get install apache2</strong></pre><p>Para comprobar que funciona perfectamente ejecuta:</p><pre><strong>sudo /etc/init.d/apache2 restart</strong></pre><p>Ubuntu a veces no define el nombre del servidor para Apache así que es bueno que lo hagamos. Edita apache2.conf:</p><pre><strong>sudo gedit /etc/apache2/apache2.conf</strong></pre><p>y añade esta línea:</p><pre><strong>ServerName "your-server-name"</strong></pre><p>que debería ir cerca a esta línea:</p><pre><strong>ServerRoot "/etc/apache2"</strong></pre><p>En realidad no necesitaremos este nombre del servidor pero vale la pena para evitar que Apache escupa advertencias en cada reinicio.</p><p>Para comprobar que todo está en orden entra desde un navegador a:</p><pre><strong>http://localhost</strong></pre></div> ]]></content:encoded> <wfw:commentRss>http://www.linuxhispano.net/2009/11/01/instalar-apache-ubuntu/feed/</wfw:commentRss> <slash:comments>7</slash:comments> </item> <item><title>Hacer copia de seguridad e importar una Base de Datos MySQL</title><link>http://www.linuxhispano.net/2009/10/30/copia-seguridad-importarbackup-base-datos-mysql/</link> <comments>http://www.linuxhispano.net/2009/10/30/copia-seguridad-importarbackup-base-datos-mysql/#comments</comments> <pubDate>Fri, 30 Oct 2009 13:14:34 +0000</pubDate> <dc:creator>Manuel Ignacio López Quintero</dc:creator> <category><![CDATA[Tutoriales]]></category> <category><![CDATA[backup]]></category> <category><![CDATA[copia seguridad]]></category> <category><![CDATA[mysql]]></category> <category><![CDATA[tip]]></category> <guid
isPermaLink="false">http://www.linuxhispano.net/?p=374</guid> <description><![CDATA[Hacer una copia de seguridad a tu Base de Datos es una tarea de administración obligatoria para mantener tu información resguardada. MySQL te permite realizar esta sencilla tarea con el comando mysqldump. Instalado MySQL y teniendo tu base de datos, &#8230; <a
href="http://www.linuxhispano.net/2009/10/30/copia-seguridad-importarbackup-base-datos-mysql/">Continuar leyendo <span
class="meta-nav">&#8594;</span></a>]]></description> <content:encoded><![CDATA[<p>Hacer una copia de seguridad a tu Base de Datos es una tarea de administración obligatoria para mantener tu información resguardada. MySQL te permite realizar esta sencilla tarea con el comando <strong>mysqldump</strong>. <a
href="http://www.linuxhispano.net/2009/10/28/instalar-mysql-server-ubuntu/">Instalado MySQL</a> y teniendo tu base de datos, entra en la terminal de consola, y ejecuta lo siguiente:</p><p>Sintaxis:</p><pre><strong>mysqldump --add-drop-table -h servidor -u usuario -p basededatos &gt; nombreCopia.sql</strong><strong> </strong></pre><p>Ejemplo:</p><pre><strong><strong>mysqldump --add-drop-table -h localhost -u root -p empleados &gt; backup.sql</strong></strong></pre><p>A continuación te pedirá la contraseña, la introduces, esperas un poco y ¡listo!</p><p>Para <strong>importar</strong> una base de datos es muy sencillo:</p><p>Sintaxis:</p><pre><strong>mysql -h servidor -u usuario -p basededatos &lt; nombreCopia.sql</strong><strong>
</strong></pre><p>Ejemplo:</p><pre><strong>mysql -h localhost -u root -p empleados &lt; backup.sql</strong></pre><pre><strong>
</strong></pre>]]></content:encoded> <wfw:commentRss>http://www.linuxhispano.net/2009/10/30/copia-seguridad-importarbackup-base-datos-mysql/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>Cambiar el editor de texto por defecto en Ubuntu Linux</title><link>http://www.linuxhispano.net/2009/10/29/cambia-el-editor-de-texto-por-defecto-en-ubuntu-linux/</link> <comments>http://www.linuxhispano.net/2009/10/29/cambia-el-editor-de-texto-por-defecto-en-ubuntu-linux/#comments</comments> <pubDate>Thu, 29 Oct 2009 15:34:45 +0000</pubDate> <dc:creator>Manuel Ignacio López Quintero</dc:creator> <category><![CDATA[Tutoriales]]></category> <category><![CDATA[tip]]></category> <guid
isPermaLink="false">http://www.linuxhispano.net/?p=351</guid> <description><![CDATA[Es muy fácil establecer tu editor por defecto si usas el comando: update-alternatives. Abre el terminal de consola y escribe el siguiente comando: sudo update-alternatives –config editor Aquí tienes un ejemplo de lo que verás más o menos: 5 alternatives &#8230; <a
href="http://www.linuxhispano.net/2009/10/29/cambia-el-editor-de-texto-por-defecto-en-ubuntu-linux/">Continuar leyendo <span
class="meta-nav">&#8594;</span></a>]]></description> <content:encoded><![CDATA[<p>Es muy fácil establecer tu editor por defecto si usas el comando: <strong>update-alternatives</strong>.</p><p>Abre el terminal de consola y escribe el siguiente comando:</p><pre><strong>sudo update-alternatives –config editor</strong></pre><p>Aquí tienes un ejemplo de lo que verás más o menos:</p><pre><strong> 5 alternatives para `editor’.
 Selecciona Alternativa
 ———————————————–
 1 /usr/bin/vim
 2 /bin/ed
 *+ 3 /bin/nano
 4 /usr/bin/vim.basic
 5 /usr/bin/vim.tiny
 Pulsa Intro para mantener la aplicación por defecto[*], o escribe un número:</strong></pre><p>Puedes seleccionar el editor que quieras simplemente escribiendo el número. Por ejemplo, si yo quisiese cambiar el editor por defecto a <em>ed</em>, debería escribir el 2.</p> ]]></content:encoded> <wfw:commentRss>http://www.linuxhispano.net/2009/10/29/cambia-el-editor-de-texto-por-defecto-en-ubuntu-linux/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>Archivos ocultos con FileZilla</title><link>http://www.linuxhispano.net/2009/10/27/archivos-ocultos-con-filezilla/</link> <comments>http://www.linuxhispano.net/2009/10/27/archivos-ocultos-con-filezilla/#comments</comments> <pubDate>Tue, 27 Oct 2009 16:41:31 +0000</pubDate> <dc:creator>F. Javier Carazo Gil</dc:creator> <category><![CDATA[Noticias]]></category> <category><![CDATA[filezilla]]></category> <category><![CDATA[ftp]]></category> <category><![CDATA[tip]]></category> <guid
isPermaLink="false">http://www.linuxhispano.net/?p=292</guid> <description><![CDATA[Hace un momento, modificando el .htaccess principal de Linux Hispano utilizando FileZilla, me he dado cuenta que desde mi casa, en Ubuntu no puedo ver los ficheros ocultos tipo Unix presentes en el servidor (desde el trabajo con XP sí &#8230; <a
href="http://www.linuxhispano.net/2009/10/27/archivos-ocultos-con-filezilla/">Continuar leyendo <span
class="meta-nav">&#8594;</span></a>]]></description> <content:encoded><![CDATA[<p>Hace un momento, modificando el .htaccess principal de Linux Hispano utilizando <a
target="_blank" href="http://es.wikipedia.org/wiki/FileZilla" target="_blank">FileZilla</a>, me he dado cuenta que desde mi casa, en Ubuntu no puedo ver los ficheros ocultos tipo Unix presentes en el servidor (desde el trabajo con XP sí podía, de ahí que crea interesante editar este post).</p><p>La solución, activar en <em>Servidor -&gt; Forzar mostrar archivos ocultos</em>.</p> ]]></content:encoded> <wfw:commentRss>http://www.linuxhispano.net/2009/10/27/archivos-ocultos-con-filezilla/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> </channel> </rss>
