Fuentes web
Entradas
Comentarios

wordpress.com incluye la librería SyntaxHighlighter la cual permite el coloreado de sintaxis para un gran número de lenguajes (C, PHP, Java, Python, Otros), no obstante la wordpress.com define un atajo a SyntaxHighlighter

Para resaltar / colorear la sintaxis de un script determinado lo encerramos
[sourcecode language="language"]
el código aquí
[/sourcecode]
Para resaltar / colorear un script PHP tecleamos
[sourcecode language="php"]
$colors = array('red', 'blue', 'green');
foreach ($colors as $color) {
	echo $color;
}
[/sourcecode]
El resultado final sería
$colors = array('red', 'blue', 'green');
foreach ($colors as $color) {
	echo $color;
}

Lectura recomendad

SyntaxHighlighter: una librería javascript para colorear / resaltar código fuente

SyntaxHighlighter es una librería javascript desarrollada y mantenida por Alex Gorbatchev y colaboradores alrededor del mundo, distribuida bajo licencia GPL. Esta librería permite colorear / resaltar el código fuente de una gran variedad de lenguages de programación, entre ellos: C, C++, Java, PHP, PERL, Python, javascript, SQL, Ruby, XML, HTML, CSS, Otros.

Esta librería es usada por varios sitios web, uno de los más conocidos es wordpress.com

Para usar esta librería en su proyecto

Incluya los css
<link href="http://alexgorbatchev.com/pub/sh/2.1.364/styles/shCore.css" rel="stylesheet" type="text/css" />
<link href="http://alexgorbatchev.com/pub/sh/2.1.364/styles/shThemeDefault.css" rel="stylesheet" type="text/css" />
Incluya el núcleo (core) de la librería
<script type="text/javascript" src="http://alexgorbatchev.com/pub/sh/2.1.364/scripts/shCore.js"></script>
Incluya el componente que permite resaltar el luenguaje que usted desea por ejemplo PHP
<script type="text/javascript" src="http://alexgorbatchev.com/pub/sh/2.1.364/scripts/shBrushPhp.js"></script>
Incluya además
<script type="text/javascript">
// Descomente si desea usar la librería en blogger
//SyntaxHighlighter.config.bloggerMode = true;
SyntaxHighlighter.config.clipboardSwf = "http://alexgorbatchev.com/pub/sh/2.1.364/scripts/clipboard.swf";
SyntaxHighlighter.all();
</script>
Para resaltar nuestro script PHP, tecleamos
<script type="syntaxhighlighter" class="brush: php">
            $colors = array('red', 'blue', 'green');
            foreach ($colors as $color) {
                echo $color;
            }
</script>

O

<pre class="brush: php">
            $colors = array('red', 'blue', 'green');
            foreach ($colors as $color) {
                echo $color;
            }
</pre>
Entonces se vería así
    $colors = array('red', 'blue', 'green');
    foreach ($colors as $color) {
        echo $color;
    }

Lectura recomendada

Sitio oficial del proyecto SyntaxHighlighter

#!/usr/bin/env bash
# GNU shell script para renombrar a minúscula ficheros y
# directorios
# ---------------------------------------------------------------
# Copyright (c) 2009 flossblog <http://flossblog.wordpress.com/>
# Este script es liberado bajos los téminos de la GNU GPL
# version 2.0 o superior
# --------------------------------------------------------------
# Uso:
# El script recibe como parámetro el nombre un fichero o
# directorio, para un directorio la operación se hará de
# forma recursiva
#  -------------------------------------------------------------
# Última actualización: 10 de junio del 2009

find "$1" -depth -print0 | while read -d $'\0' file; do
        NEWBASENAME=$(basename "$file" | tr [:upper:] [:lower:])
        NEWFILENAME=$(dirname "$file")/$NEWBASENAME
        mv -f "$file" "$NEWFILENAME" 2> /dev/null
done

Para usar este script descarguelo aquí

Asignele permisos de ejecución
chmod a+x tolower.sh
Ejecute el script
./tolower.sh nombre-del-fichero

Lecturas recomendas

  • - man find
  • - man tr
Si al relizarle una consulta a su servidor DNS (dig @IP-Del-Servidor-DNS dominio) obtiene el mensaje de: connection timed out; no servers could be reached, es probable que:

  1. El servidor DNS no se esté ejecutando
  2. El servidor DNS no esté respondiendo a las peticiones en la dir IP especificada
  3. El muro cortafuegos esta bloqueando las peticiones que van hacia el servidor DNS

Solución

1

Comprobar que el servidor DNS se está ejecutando

CentOS/Fedora/RHEL

# service named status

Si el servidor DNS está detenido, entonces

Iniciar el servidor DNS

CentOS/Fedora/RHEL

# service named start
Comprobar
$ dig @IP-Del-Servidor-DNS dominio

2

Editar el fichero de configuración
# vim /etc/named.conf
Buscar la directiva listen-on y agregarle la IP del servidor DNS

Por ejemplo si antes el valor de listen-on era:

listen-on port 53 { 127.0.0.1; }

Después de agregar la dir IP quedaría:

listen-on port 53 { 127.0.0.1; IP-Servidor-DNS; }
Reiniciar BIND

CentOS/Fedora/RHEL

service named restart
Comprobar
$ dig @IP-Del-Servidor-DNS dominio

3

Comprobar que el muro cortafuegos está activo
$ service iptables status
Comprobar que el puerto 53 esta abierto
# iptables -L -n |grep 53
ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           tcp dpt:53
ACCEPT     udp  --  0.0.0.0/0            0.0.0.0/0           udp dpt:53
Si el iptables esta bloqueando el puerto 53, ejecutar
# iptables -A INPUT -p udp -s 0/0 -d IP-Servidor-DNS --dport 53 \
-m state --state NEW,ESTABLISHED -j ACCEPT
# iptables -A OUTPUT -p udp -s IP-Servidor-DNS --sport 53 -d 0/0 \
-m state --state ESTABLISHED -j ACCEPT
# iptables -A INPUT -p udp -s 0/0 --sport 53 -d IP-Servidor-DNS \
--dport 53 -m state --state NEW,ESTABLISHED -j ACCEPT
# iptables -A OUTPUT -p udp -s IP-Servidor-DNS --sport 53 -d 0/0 \
--dport 53 -m state --state ESTABLISHED -j ACCEPT
# iptables -A INPUT -p tcp -d IP-Servidor-DNS --dport 53 -m state \
--state NEW,ESTABLISHED -j ACCEPT
# iptables -A OUTPUT -p tcp -s IP-Servidor-DNS --sport 53 -m state \
--state ESTABLISHED -j ACCEPT
Comprobar
$ dig @IP-Del-Servidor-DNS dominio

Para deshabilitar un engine (motor de almacenamiento) en mysql debemos:

Editar el fichero my.cnf
# vim /etc/my.cnf
Agregar al fichero
skip-nombre-del-engine
Por ejemplo, para deshabilitar innodb agregamos al fichero
skip-innodb
Reiniciar el servidor mysql

CentOS / Fedora / RHEL

# service mysqld restart

Debian, Ubuntu, Otras distros

# /etc/init.d/mysqld restart
Obtener información sobre los engines
# mysql -u root -p -e 'show engines;'

El comando anterior mostraría:

Mysql engines

Para unir imágenes desde la línea de comandos usemos la herramienta convert, convert forma parte de Image Magick, una suite que permite manipular imagenes de mapa de bits

Partamos de las siguientes imágenes

Unir imagenes desde la línea de comandos - Baby GNU
Baby GNU
Unir imagenes desde la linea de comandos usando convert - Baby Tux
Baby Tux
Para ponerla una al lado de la otra ejecutemos
$ convert +append baby_gnu.png baby_tux.png baby_gnu_baby_tux.png

Quedaría asi:

Unir imagenes desde la línea de comando - Baby GNU y Baby Tux

Para ponerla una encima de la otra ejecutemos
$ convert -append baby_gnu.png baby_tux.png baby_gnu_baby_tux.png

Quedaría asi:

Unir imágenes desde la línea de comandos - Baby GNU y Baby Tux

Lecturas recomendadas

Nano, versión mejorada de Pico, es un editor amistoso, ligero y flexible ideal para realizar ediciones sencillas. Nano es un editor no modal (no se necesita ejecutar ningún comando o combinación de teclas para comenzar a editar el fichero seleccionado). Una vez iniciado muestra en la primeria línea: la versión actual, el nombre del fichero que se está editando y si ha sido modificado o no; a continuación el fichero en cuestión, en la tercera línea de abajo hacia arriba los mensajes importantes y en las 2 últimas líneas atajos más comunes, ver figura. Nano usa como teclas fundamentales Ctrl(^) y Esc(M), es decir con Ctrl o Esc y otra combinación de tecla se ejecuta una accción, dentro de sus características fundamentales podemos mencionar:

  • - Interfaz intuitiva
  • - Ligera curva de aprendizaje
  • - Internacionalización
  • - Coloreado de sintaxis para C, C++, Python, Perl, Ruby, HTML, TeX otros
  • - Búsquedas / Reemplazo por palabras claves o expresiones regulares
  • - Avanzar/ Retroceder una pantalla
  • - Explorador de ficheros
  • - Edición de múltiples ficheros
  • - Soporte para el ratón
  • - Ayuda integrada al editor

Editando un script escrito en PHP

Edición

Sintaxis general
nano [OPCIONES] [+LÍNEA,COLUMNA] fichero
Abrir el fichero apache2.conf e ir la la línea 20, columna 23
nano +20,23 /etc/apache2/apache2.conf 
Editar fichero1.txt
nano fichero1.txt

Realice las modificaciones pertinentes

Guardar cambios
Ctrl o

Nano solicitará confirmación sobre el fichero que se desea modificar, presione:

Enter
Copiar la línea actual y guardarla en el buffer
Esc 6
Cortar la línea actual y guardarla en el buffer
Ctrl k
Pegar lo que está en el buffer
Ctrl u
Para seleccionar varia líneas use el mouse o
Esc a

Para copiar/cortar/pegar las líneas seleccionadas use

Esc 6/Ctrl k/Ctrl u

respectivamente

Desplazamientos

Ir a la primera línea del fichero
Esc \
Ir a la última línea del fichero
Esc /
Ir a la línea 10, columna 20
Esc g

Nano soliticitará la línea y columna a la que desea ir, teclee:

10,20
Ir al principio de la línea actual
Ctrl a
Ir al final de la línea actual
Ctrl e
Ir al paréntesis, llave o corchete que casa
Esc ]
Avanzar una pantalla
Ctrl v
Retroceder una pantalla
Ctrl y

Opciones avanzadas

Búscar por palabras claves
Ctrl w
Buscar usando expresiones regulares
Ctrl w Esc r

Repetir última búsqueda

Esc w
Habilitar/Deshabilitar soporte para el raton
Esc m
Ayuda integrada
Ctrl g

Lecturas recomendadas

Gestores de escritorios como GNOME, KDE, XFCE, LXDE tienen incorporado un administrador de tareas que permite terminar un proceso usando la interfáz gráfica, pero no siempre disponemos de gestores de escritorios como estos o simplemente estamos trabajando sin interfaz gráfica (servidor) y necesitamos forzar la salida de un proceso determinado pues no responde a las acciones comunes, y es ahi cuando hay que echarle manos a la consola

Para terminar un proceso podemos usar los comandos kill y pkill, kill requiere el identificador del proceso mientras que pkill requiere un nombre o patrón

Ejemplos
$ kill -9 25252
$ pkill firefox

Lecturas recomendadas

  • - man kill
  • - pkill

Si está presentando problemas al conectarse a un sitio ftp debido a restricciones en el muro cortafuegos o proxy de su área de trabajo o proveedor de internet, entonces es recomendable usar un cliente ftp que implemente el protocolo hftp

Dos de los clientes más robustos y flexibles que implementan este protocolo son: lftp y gFTP

Para conectarse al servidor ftp usando

lftp ver: lftp un sofisticado cliente ftp – opciones avanzadas

gFTP

  1. Installar gFTP (El método de instalación depende de la distribución que esté usando)
  2. Iniciar gFTP
  3. Ir al menú FTP->Options (Ctrl o)
  4. En la ventana de Opciones, ir a HTTP
  5. Especificar

    • configuración gftp detrás de un proxy
    • - Proxy hostname: IP o nombre del servidor proxy
    • - Proxy port: Puerto del servidor proxy, por el que sale la conexión http, por lo general 3128
    • - Proxy username: Usuario del servidor proxy
    • - Proxy password: Clave del usuario del servidor proxy
    • - Marcar Use HTTP/1
  6. Aceptar
  7. En la pantalla principal especificar
    • conectarse a un sitio ftp detrás de un proxy o muro cortafuegos (firewall)
    • - Host: IP o nombre del servidor ftp
    • - User: Usuario ftp
    • - Pass: Clave del usuario del servidor proxy
  8. Presionar Enter

Lecturas recomendadas

Antes de continuar con este post recomiendo leer
lftp un sofisticado cliente ftp – explorando el sitio
lftp un sofisticado cliente ftp manipulación de ficheros
lftp un sofisticado cliente ftp – manipulación de directorios

lftp es muy versátil, presenta un gran número de opciones que nos facilita el trabajo a la hora de realizar operaciones ftp. Una de las más interesantes permite conectarnos a un sisio ftp a través de un proxy http, haciendo uso del protocolo hftp, de hecho lftp es pionero en la implementación de este protocolo.

Conectarse a un sitio ftp, a través de un proxy http
$ vim .bashrc

Ir al final del fichero con Shift-g y agregar

export ftp_proxy=http://usuario:clave@servidor-proxy:puerto

O

export http_proxy=http://usuario:clave@servidor-proxy:puerto

Salir de vim con

Esc :wq!

Luego

$ source .bashrc
$ lftp usuario:clave@sitio-ftp
Definir alias
vim .lftp/lftprc

Agregar (ls muestra todos los ficheros, incluyendo los ocultos, puede definir tanto alias como desee)

> alias ls 'ls -a'
Ejecutar un comando a una hora determinada, opción muy útil para descargar ficheros grandes en el horario de menos tráfico

Inicia a las 8:00 p.m la descarga del live cd de ubuntu

> at 20:00 -- get ubuntu-9.04-desktop-amd64.iso
Ejecutar un comando en background

Cuando se ejecuta el comando anterior, no podemos seguir realizando operaciones sobre el servidor ftp hasta no haberse realizado la descarga programada, de ahí la conveniencia de ejecutarlo en background

> at 20:00 -- get ubuntu-9.04-desktop-amd64.iso&
Ejecutar comandos de forma secuencial

Primero descarga el fichero mi-dvd.iso y luego lo elimina del sitio ftp

> queue get mi-dvd.iso
> queue rm mi-dvd.iso
Ver las operaciones lanzadas en background o que están en cola
> jobs

Lecturas recomendadas

Entradas antiguas »