Manipulación de patrones Linux

El presente artículo se da porque en el tiempo que llevo trabajando en TI he dado con un par de entrevistas de trabajo que han preguntado exactamente esto… Como hago yo para encontrar o filtrar entre tanto fichero o carpeta, los elementos que pertenezcan a un determinado día o que comiencen con determinado número o determinada letra dentro de la terminal Linux?
Esta solo pretende ser una guía práctica que busca puntualmente este propósito, ¿Cómo realizar estos filtrados entre bastantes y determinados archivos?
En primer lugar la manipulación se puede dar con operaciones como copiar (cp), mover (mv), eliminar (rm), listar archivos (ls), etc… Para este caso práctico me limitare a hacer estos ejercicios listando (ls). 

Entonces y en primer lugar, tenemos el listado para hacer la manipulación de patrones, como ejemplo he escogido la carpeta de configuraciones “etc”, esto porque tiene bastantes elementos con los cuales se podrá realizar el ejercicio (sobra decir que este proceso se puede realizar desde cualquier punto del sistema de ficheros).
Ahora las opciones que tenemos para hacer los filtrados.
EJEMPLOS PRACTICOS
1.       Punto (*.) y extensión de formato (*.txt, *.biz, *.conf, *.xls, etc, etc, etc…). Entre el listado dispuesto en la imagen, se desea filtrar todo lo que tenga extensión “.conf”. El carácter (*) significa que nos traerá cualquier cadena que pueda ser (esto incluso se aplica en Windows cuando se busca un archivo), lo que quiere decir que nos traerá cualquier cosa que tenga esa extensión que deseamos filtrar. Ejemplo práctico:
Si deseáramos eliminar todos estos archivos discriminando únicamente la extensión, su forma seria (rm –rf *.conf), obviamente es un ejemplo, estos archivos son necesarios para el funcionamiento del sistema.
1.       Si dentro del gran listado inicial, queremos traer los archivos que tengan dentro de su nombre las letras “gal”, como “legal”, tendríamos que poner las letras de búsquedas entre asteriscos, como en el siguiente ejemplo:
Dentro de todos los archivos en la carpeta “/etc” nos trajo únicamente la palabra “legal”.
¿Para qué sirve esto?
Imagínese en una empresa que genera automáticamente archivos con registros diarios en uno de sus servidores UNIX en su centro de cómputo. Y le piden a usted que encuentre todos los archivos que se generaron el 20 de febrero del 2013 (ejemplo) y se encuentra usted perdido entre miles o hasta millones de ficheros. Aplicando este filtro podría ganar una aproximación, esto dependerá obviamente en la forma que se genera el nombre de dichos archivos en el sistema.
1.       Ahora se requieren encontrar archivos con cadenas de texto inconclusas, en las que por ejemplo se requiera filtrar cadenas de caracteres con uno de estos caracteres faltantes al principio, medio, final o cualquier posición. Este filtro se logra con el comodín “?”, el cual podría remplazar cualquier carácter dentro de la cadena. La mejor forma de explicarlo es con un sencillo ejemplo:
En este ejemplo se hace prueba con un comodín, luego con dos, generando los mismos resultados. De momento no he tenido un caso práctico de uso para este tipo de filtrado.

Ahora tendremos que realizar un filtrado por patrón. Es decir, que todos los archivos cuya cadena de caracteres comience con “up” deberán ser filtrados y mostrados con el procedimiento. Esto se logra con el paréntesis cuadrado y asterisco “[]*”. Ejemplo: Dada una carpeta de repositorios de imágenes de equipos de cómputo, se deberá buscar solo aquellas imágenes que sean para los equipos de la marca HP. 


Filtrando:
Si por ejemplo queremos ver las imágenes para los equipos Compaq:
Y si por ejemplo queremos filtrar todas las imágenes de equipos, menos que de las imágenes que sean para los equipos HP:
En este caso, la sintaxis del filtro indica que, mostrar filtro de todas las imágenes, menos de las imágenes que comiencen con HP, por medio del símbolo “!”, el cual denota un diferenciador al resto de los demás archivos o carpetas.
Estos procesos, información y conocimiento no son nuevos y es la forma en la que se ha venido trabajando siempre, en especial en lugares que manejan grandes cantidades datos sobre servidores o sistemas operativos que tengan como base UNIX, aunque perfectamente se puede practicar sobre Linux. Esto como tal fue una práctica, se le recomienda al lector indagar más en el tema y sobre todo practicar.
Referencias:
Lopez Sanches, M.J & Belle, S., & Auli, F. (2008). Sistema operativo GNU/Linux básico, ES: Universitat Oberta de Catalunya, Recuperado de http://hdl.handle.net/10609/189





CARGA DE MÓDULOS EN ARCHLINUX 2013

CARGA DE MÓDULOS EN ARCHLINUX 2013
Hago la especificación respecto al año, ya que el sistema en este sentido a cambiado en las ultimas distribuciones y entregas de discos e imágenes, adicional por que me centrare en el entendimiento del aprendizaje y su puesta en practica (con 2013 me refiero a distribuciones que son recién instalada con una imagen actualizada del 2013 o en su defecto aquellos que ya manejaban Arch y tomaron la determinación de actualizar a systemd), si se requiere informacion de origen mas detallada se pueden validar los siguiente enlaces:
Seré muy puntual con lo que he aprendido de momento, a medida que mi conocimiento sea mas profundo , tratare de ampliar la información en el presente apartado.
Tenemos de que nuestro sistema operativo Arch carga por módulos durante el booteo, necesarios para el respectivo funcionamiento. Los módulos que el sistema necesita son cargados automáticamente por udev. Este es el gestor del kernel de Linux para control de ficheros de dispositivo.
Ahora bien, necesitamos cargar módulos extras a los que carga por defecto el núcleo para el funcionamiento adecuado de un programa, (por que pueda que el programa se ejecute, pero si el modulo no es cargado, no podrá cumplir su funcionalidad, como le pasa a VirtualBox). Por tal motivo se requiere cargar el modulo en paralelo a los módulos que carga el núcleo del sistema. Para este caso devemos cargalos en una carpeta que ya se encuentra en la ruta /etc/modprobe.d/. Donde crearemos un archivo (puede ser con nano) que puede ser llamado “mi archivo.conf”. Es importante que este sea copiado con la respectiva extencion .conf.
Por ejemplo 
nano /etc/modprobe.d/virtualbox.conf
#Se escribe el nombre del modulo
vboxdrv
Guardar y listo, ya debe cargar automaticamente el modulo cuando se reinicie el sistema. Es como el remplazo que se tenia del rc.conf. Dedusco que aplica de igual manera para la mayoria de procesos, pero se debe tener el nombre del modulo para cargarlo de igual manera.
Para algún otro lector, esta es una “mini-guia” que no tiene intención alguna de competir con la wiki de arch o con el muy buen Blog de Gespadas (quien es una autoridad para quienes le seguimos), la guiá pretende dar una solución rápida a un problema sencillo pero frecuente entre quienes comenzamos a usar Arch. Para una información mas detallada (Que si hay y bastante) remitirse por favor a los apartados mencionados anteriormente. De expandirla un poco mas lo haré por que se me presento algún otro problema o simplemente quise terminar de entender el tema.

Recuperar a Windows dentro del Grub

Volver a incluir Windows en Grub
Me encontré con el problema de realizar procesos y experimentos con el archivo de grub2, por lo que al reiniciar mi equipo me encuentro con el problema de que ya no hay dual-boot y que por ende el Windows (muy bueno para jugar) ya no se encontraba incluido en el listado de elección.
Me he puesto a investigar y encontré un completa y detallada información de que hacer en estos casos, pero para resumir voy a escribir lo que justamente me salvo el juego en este día….
Primero que todo caer en cuenta de tener instalado el programa “os-prober”. Me acorde que ya lo había instalado, por lo que procedí a ejecutarlo en mi terminal. Finalmente me indico los sistemas operativos incluidos en el resto de particiones, por lo que basto con correr el comando “# grub-mkconfig -o /boot/grub/grub.cfg”.
En la pagina se da toda la documentación del caso, incluso la manera de hacerlo manual, sin embargo esta fue la forma en la quemas economice tiempo.

Comprimir y descomprimir por terminal Linux

Comprimir y descomprimir en Linux

Y aqui los comandos para comprimir y descomprimir en cualquier distribucion Linux. Algo muy basico, que siempre se me olvida.
Suele ocurrir entre quienes somos usuarios de Linux. Nos llega un paquete cualquiera y no tenemos la opcion por el entorno grafico. Motivo por el cual accedemos a nuestro buen amigo el terminal y realizamos el proceso. Algo tan sencillo como “tar -xvf”. Pero el encarte esta en que muchas veces debemos descomprimir algo que nunca hemos visto. 

Bien, esta es una guia muy breve que no requiere de mucha actualización, pero seguramente me hara falta uno que otro comando para descomprimir.  Bien puedan…. 


.tar (tar)

Empaquetar                                tar cvf archivo.tar /archivo/mayo/*
Desempaquetar                          tar xvf archivo.tar
Ver el contenido (sin extraer)    tar tvf archivo.tar

.gz (gzip)
Comprimir         gzip -q archivo
(El archivo lo comprime y lo renombra como “archivo.gz”)
Descomprimir    gzip -d archivo.gz
(El archivo lo descomprime y lo deja como “archivo”
Nota: gzip solo comprime archivos, no directorios

.bz2 (bzip2)
Comprimir    bzip2 archivo
bunzip2 archivo
(El archivo lo comprime y lo renombra como “archivo.bz2”)
Descomprimir    bzip2 -d archivo.bz2
bunzip2 archivo.bz2
(El archivo lo descomprime y lo deja como “archivo”)
(Por lo general, siempre se encontraran programas precompilados con este tipo de compresion)

.tar.bz2 (tar con bzip2)
Comprimir          tar -c archivos | bzip2 > archivo.tar.bz2

Descomprimir    bzip2 -dc archivo.tar.bz2 | tar -xv
tar jvxf archivo.tar.bz2 (versiones recientes de tar)

Ver contenido    bzip2 -dc archivo.tar.bz2 | tar -tv

.zip (zip)
Comprimir          zip archivo.zip /mayo/archivos
Descomprimir    unzip archivo.zip
Ver contenido    unzip -v archivo.zip

.lha (lha)
Comprimir          lha archivo.lha /mayo/archivos
Descomprimir    lha -x archivo.lha
Ver contenido    lha -v archivo.lha
lha -l archivo.lha


.zoo (zoo)

Comprimir          zoo -a archivo.zoo /mayo/archivos
Descomprimir    zoo -x archivo.zoo
Ver contenido    zoo -v archivo.zoo
zoo -L archivo.zoo

.rar (rar)
Comprimir          rar -a archivo.rar /mayo/archivos
Descomprimir    rar -x archivo.rar
Ver contenido   
rar -v archivo.rar
rar -l archivo.rar

zip

Archivo comprimido con zip. Se descomprime usando el comando unzip:
unzip archivo.zip
rar

Formato propietario de RarLab, creadores del famoso Winrar. Normalmente el comando rar no está instalado en el sistema

sudo aptitude install rar
sudo pacman -S rar
slapt-get –install rar

Se descomprime con el flag -x (eXtract, extraer)

rar -x archivo.rar

Montar servidor NFS en linux para sistemas operativos como ubuntu o suse

Montar servidor NFS en linux para sistemas operativos como ubuntu o suse
Network File System (NFS)
Para mayor informacion acerca del sistema de archivos en red, consultar:
/*————————————————————————————–*/

Para compartir archivos atravez de nfs. En este caso el servidor linux funcionara como servidor. En este caso el cliente sera ubuntu.
Siguiendo los siguientes pasos:
1. Debe descargarse desde el slapt-get el paquete nfs-utils.
2. Se deben poner los servicios que se van a iniciar, Deben ser los siguientes, sin excepcion para poder compartir archivos.
chmod +x /etc/rc.d/rc.rpc
chmod +X /etc/rc.d/rc.nfsd
/etc/rc.d/rc.rpc start
rpc.mountd
rpc.nfsd 8
/etc/rc.d/rc.nfsd start
Se deben poner uno por uno en terminal, tecleando enter por cada fila.
3. Posteriormente se deben modificar los servicios y que redes van a entar en el servidor.
emacs /etc/exports
Quedando configurado de la siguente manera
#####################################################################
# See exports(5) for a description.
# This file contains a list of all directories exported to other computers.
# It is used by rpc.nfsd and rpc.mountd.
/var/log 201.124.1.3/255.255.255.0(rw,sync,no_root_squash,subtree_check)
  • ————————//——————————–
Ejemplo actual
# See exports(5) for a description.
# This file contains a list of all directories exported to other computers.
# It is used by rpc.nfsd and rpc.mountd.
/root/Biblioteca/ 201.124.1.3/255.255.255.0(rw,no_root_squash,async,subtree_check)
/root/Compartida/ 201.124.1.3/255.255.255.0(rw,no_root_squash,async,subtree_check)
/media/hd/Musica/ 201.124.1.3/255.255.255.0(rw,no_root_squash,async,subtree_check)
/root/Videos/ 201.124.1.3/255.255.255.0(rw,no_root_squash,async,subtree_check)
#####################################################################
Los permisos son los que se encuentran en parentesis despues de la mascara de subred,
ro: Permiso de lectura
rw: Permiso de lectura y escritura
async: Determina las necesidades, se sincroniza con el servidor en espera de una señal para ser puesto en libertad haciendo la transferencia de archivos mas rapida.
sync: Mantiene la sincronizacion en tiempo real (mas segura)
no_root_squash: Permite que el usuario root del cliente tenga derecho en el directorio raiz del director.
root_squash: cuenta de usuario root que se trata como cuenta normal.
no_subtree_check: Deshabilita la verificacion del estado de los archivos dentro de un sistema de archivos.
subtree_check: permite la exploracion a costa de un menor rendimiento.
Posterior a editar en emacs, guardamos salimos.
4. Exportamos todo lo que escribimos con emacs mediante el comando
exportfs -a
Seguido de enter.
Se recomienda reiniciar el server, aca estan algunos comandos del shell
shell# /etc/rc.d/rc.nfsd restart
shell# /etc/rc.d/rc.nfsd start
shell# /etc/rc.d/rc.nfsd stop
5. Para eso montamos el directorio, en este caso cramos el directorio en el cliente.
mkdir log_nfs
Y montamos con la ip del server en el cliente.
verificamos desde el cliente
$ showmount -e server-Ip-address
$ showmount -e
201.124.1.3
Luego montamos en la carpeta creada:
mount 201.124.1.3:/var/log log_nfs
verificamos en el cliente la carpeta:
ls log_nfs/
Debe mostrar todos los archivos de la carpeta que se monto.
  • —————————————————————————————————————————————————–*
Fuentes
Video
http://www.youtube.com/watch?v=UWMu8SIwtiE
http://www.youtube.com/watch?v=N4BgNsQORU0
Lectura
http://nfs.sourceforge.net/nfs-howto/ar01s01.html (en ingles)
http://www.cyberciti.biz/tips/ubuntu-linux-nfs-client-configuration-to-mount-nfs-share.html (en ingles)
http://www.linuxparatodos.net/portal/staticpages/index.php?page=12-como-nfs (en castellano)
############################################################################
Observaciones
Para reinicar, iniciar y parar el server.
shell# /etc/rc.d/rc.nfsd restart
shell# /etc/rc.d/rc.nfsd start
shell# /etc/rc.d/rc.nfsd stop
En el cliente se intenta el montaje segun fuente
Primero verificando punto remoto
showmount -e 201.124.1.3
1. Sirve en el portatil.
2. No sirve en la MV (pendiente por verificar).
###########################################################################
Configuracion de seguridad
Sobre el servidor, en este caso slackware se procede de la siguiente manera.
La configuracion de seguridad se basa sobre dos archivos editables:
/etc/hosts.allow y /etc/hosts.deny.
Para permitir direcciones ip editamos el archivo /etc/hosts.allow, de la siguiente manera: portmap:192.168.1.0/255.255.255.0
Donde podrian tambien ingresar mas direcciones ip para compartir con otros equipos en internet:
portmap:192.168.1.0/255.255.255.0
Se habilitan los demas servicios con entradas adicionales
lockd: 192.168.0.1 , 192.168.0.2
rquotad: 192.168.0.1 , 192.168.0.2
mountd: 192.168.0.1 , 192.168.0.2
statd: 192.168.0.1 , 192.168.0.2
Para negar el permiso se edita el archivo /etc/hosts.deny. al negar todos quedaria como:
portmap:ALL
Se niengan los demas servicios con entradas adicionales
lockd:ALL
mountd:ALL
rquotad:ALL
statd:ALL

Scripts útiles

Scripts útiles

Hace mucho no publicaba nada en mi Bitacora.. pues bien, el presente trabajo fue realizado originalmente como un post en Taringa.

El contenido del presente post es a su vez un recopilatorio de trabajos realizados, al final del mismo agregare las respectivas fuentes disponibles.

Antes de empezar aclaro que estos scripts trabajan sobre BASH, interprete de ordenes basado en Unix. En este caso se trabaja con wget, mplayer y mpg123. Para aquellos que no estén muy empapados en el tema, wget es una herramienta libre que permite descargar contenido de la web, mplayer y mpg123 son reproductores con singulares características, de las cuales encontraran mayor información en la web.

Básicamente podrían usarse en una terminal como:
* Para escuchar canciones de una carpeta “mpg123 -C -Z *.mp3” ( toca todas las canciones de una carpeta, de manera aleatorea y con los controles respectivos de mpg123, para mayor información digitar en terminal “man mpg123” (ogg123 puede usarse de manera similar)
* Escuchar una emisora “mplayer http://stream01.noisefm.pl:8000” (Igual que para ver canales de video, toca tener la url)
* Descargar de una pagina web ” wget urldescarga” (no tengo una url de descarga de momento, pero de hecho con esto pueden descargar toda una secuencia de imágenes de una pagina, por ejemplo con el comando “wget -r -l1 -H -t1 -nd -N -np -A.jpg -erobots=off “, para mayor información consultar aca mismo en Taringa sobre este comando)

Recordemos que para hacer scripts, utilizarlos y demas, debemos abrir nuestro editor de texto favorito, darle los permisos adecuados (puede ser simplemente con chmod 755) y para ejecutarlo se debe anteponer “./”. Para mayor información aca mismo en Taringa se encuentran los tutoriales.

Photobucket

El primer script, hago la aclaración, lo saque de aca mismo en Taringa en el siguiente post, otros también lo tienen:
http://www.taringa.net/posts/linux/1009809/_Linux_-Algunos-_4_-scripts-de-bash.html
El script es lo mismo, lo unico es que les explicare como agregarle emisoras, para hacerlo mas personalizado.

En primer lugar tenemos el script, al cual de hecho no le he quitado el nombre del autor

http://www.taringa.net/posts/linux/1009809/_Linux_-Algunos-_4_-scripts-de-bash.html

###############################################################################

!/bin/bash
# Modificada
# llama a mplayer, segun la radio indicada
#
# Fixes en etapa de ejecucion por Arturo ‘Buanzo’ Busleiman
# – 20070104

case “$1” in
#
# Radios
#

mb) # Music box de videos
URII=”mms://81.89.49.210/musicbox?MSWMExt=.asf”
;;
mega) # Mega 98.3 Puro Rock Nacional
URII=’http://mega.telecomdatacenter.com.ar/mega’
;;
977) # .977 The 80s Channel
URII=”http://scfire-ntc-aa01.stream.aol.com:80/stream/1040″
;;
tly) # CRIK FM – The Lynx is your link to the 60s, 70s, 80s, 90s and today!
URII=”http://91.121.6.109:8016″
;;
Noise) # Rock Niezalzne
URII=”http://stream01.noisefm.pl:8000″
;;
R98) # Rock 98.8 emisora yanki
URII=”http://188.165.37.109:9699″
;;
525) # 525 power tracks rock
URII=”http://fastcast4u.com:9256″
;;
nr) # netrock 101
URII=”http://netrock101.servebeer.com:8418″
;;
classic) # Musica barroco
URII=”http://baroque.kizugawa.coop:8004″
;;
unad) # Radio unad virtual
URII=”http://190.66.14.209:80/”
;;
Rr1) # Rock Radio 1
URII=”http://94.23.16.167:8000/”
;;
jav) # Universidad Javeriana
URII=”mms://streaming.javeriana.edu.co/emisora?MSWMExt=.asf”
;;
jazz) # Sky fm musica jazz
URII=”http://u14b.sky.fm:80/sky_smoothjazz_aacplus”
;;
#
# television
#
une) # Tellevision une
URII=”mms://streaming1.vcb.com.co/unemedellin”
;;
tn24) # TN 24 Horas
URII=”mms://wmedia01.uigc.net/TN”
;;
Rr1) # Rock Radio 1
URII=”http://94.23.16.167:8000/”
;;
jav) # Universidad Javeriana
URII=”mms://streaming.javeriana.edu.co/emisora?MSWMExt=.asf”
;;
#
# Webcams
#

tl) # Trafico luxenburgo
URII=”http://streaming.newmedia.lu/cita”
;;

*)
echo “
Uso: radio.sh opci

**Emisoras**

Rr1 (Rock radio 1)
Noise (Rock Noise.fm)
R98 (Rock 98.9)
525 (525 power tracks rock)
nr (netrock 101)
mega ( Mega 98.3 Rock Argentino)
977 (Musica de los 80s)
classic (Clasica Barroco)(En ocaciones se debe intentar mas de una vez)
jav (Universidad Javeriana)
unad (Universidad de la unad)
jazz (Sky fm emisora de jazz)

**Videoclips**

mb (Music Box Videos)

**Webcams**

tl (Trafico en Luxenburgo)


exit 1
;;
esac

mplayer -af lavcresample=44100 -cache 64 “$URII”

################################################################################

Con este script podremos escuchar emisoras de radio y algunas canales por streaming. Para cambiar la emisora, solo tendrán que agregar la constante, por ejemplo yo agregue “jazz) # Sky fm musica jazz” donde esta ejecuta la variable URII que contiene la url y que llama al programa en cuestión que nos permitirá oír la emisora, en este caso mplayer.

De donde descargar la URL??

Pueden optar por la pagina de radio de winamp “http://www.shoutcast.com/”, donde encontraran muchas emisoras disponibles, casi cualquier tipo. En esta pagina tendrán acceso a la pagina de la emisora en cuestión, por ejemplo:

http://www.noisefm.pl/

De esta pagina lo que me sirve es el archivo de descarga de la emisora para winamp o cualquier reproductor mencionado el cual me de el acceso a la url, en muchos de los casos en un archivo con formato .m3u .pls. o etc… Como la siguiente imagen

Photobucket

Ahora lo unico es cojer el archivo .m3u y abrirlo con su editor de texto favorito, en mi caso emacs. Les arrojara lo siguiente:

#EXTM3U
#EXTINF:-1,Serwer G³owny NOISEfm.pl – Niezale¿ne Radio Rock ! (96kbps 44 kHz)
http://stream01.noisefm.pl:8000/

Por regla general, lo que va en almohadilla # no vale.. no cuenta. justamente nos arroja el dato que necesitamos: http://stream01.noisefm.pl:8000/
Este es el dato que necesitamos para agregarlo a la emisora, para mayor ejemplo se pueden guiar en la plantilla del código.
Photobucket

En el segundo script me disculparan, pero no recuerdo la fuente, ya que los scripts que les traigo los tengo desde hace ya un tiempo.

Para el siguiente se trabajara con wget. tenemos que:

############################################################################

#bin/bash
#Si el usuario no pone lo que busca en la linea de comandos, se lo pedimos.
if [ $1 ]; then
TITULO=”$@”
else
echo “Introduce el ti­tulo de la cancion del artista:”
read TITULO
fi

#Descargamos el PHP correspondiente al título.
wget http://goear.com/search.php?q=”$TITULO”

#La línea 130 contiene todos los enlaces a goear… de risa pero bueno.
head -130 search.php?q=”$TITULO” | tail -1 > canciones.txt

#Mediante ER, obtenemos una lista de canciones y una lista de enlaces.
egrep -o ‘listen/……./[^”]*’ canciones.txt > enlaces.txt
egrep -o ‘”Escuchar[^”]*’ canciones.txt > titulos.txt

#Mostramos al usuario los que ha encontrado en la primera página.
Linea=1
cat titulos.txt | while read line;
do {
echo $Linea: ${line:9}
let ‘Linea += 1’
}
done

#Si no encuentra nada, sale.
CONDICION=`wc -l titulos.txt | awk ‘{print $1}’`
if [ $CONDICION == 0 ]; then
echo “No hay resultados. Prueba buscando otra cosa.”
rm search.php?q=”$TITULO” canciones.txt enlaces.txt titulos.txt
exit
fi

#Leemos qué canción quiere el usuario bajarse.
echo “¿Cuál te quieres bajar? Indica el número: (0 para Cancelar)”
read NUMERO

#Cero para Cancelar
if [ $NUMERO = 0 ]; then
rm search.php?q=”$TITULO” canciones.txt enlaces.txt titulos.txt
echo “Hasta pronto.”
exit
fi

#Concatenamos http://www.goear.com con el contenido de aBajar.txt.
#PD: Alguien sabe hacerlo de manera más sencilla?
GOEAR=http://www.goear.com/
head -$NUMERO enlaces.txt | tail -1 > aBajar.txt
for LISTEN in `cat aBajar.txt`
do
ENLACE=${GOEAR}${LISTEN}
done
echo $ENLACE

#A partir de aquí el script no es mío, pero es muy sencillo de leer.
fileid=`echo $ENLACE | cut -d ‘/’ -f 5`
xmlurl=”http://www.goear.com/tracker758.php?f=”$fileid
infoline=`wget -qO- $xmlurl | grep “.mp3″`
mp3url=`echo $infoline | cut -d ‘”‘ -f6`
artist=`echo $infoline | cut -d ‘”‘ -f10`
title=`echo $infoline | cut -d ‘”‘ -f12`
cd /media/hd/Musica/Descarga
wget $mp3url -O “$artist-$title.mp3”
rm search.php?q=”$TITULO” canciones.txt enlaces.txt titulos.txt aBajar.txt

##############################################################################

Este script nos facilitara descargar de la pagina “http://www.goear.com/” la musca que queramos, algo asi como un grooveshark. Simplemente escribimos el scritp seguido de la canción que queramos descargar, aquella que en su momento se nos ocurra. Un ejemplo “./goear.sh Manowar” y nos arrojara una serie de resultados correspondientes a la búsqueda. Escojamos y listo.. comienza a descargar como solo wget lo sabe hacer. OJO, en la linea “cd /media/hd/Musica/Descarga” casi al final, es el directorio de descarga donde yo guardo todo… ustedes lo pueden cambiar a su gusto para que descargue en el directorio que ustedes deseen.

Photobucket

El ultimo script que doy a exponer, nos facilita escoger una canción de mucha que tengamos con mpg123. a continuación:

##############################################################################

#!/bin/bash
if [ ! -e mp3list.txt ]; then
echo “Listing all mp3 on your / “
find / -name *.mp3 > mp3list.txt
fi

echo -n > tpl.tmp
i=1
while true; do
l=`echo $1, | cut -d”,” -f$i`
let i=i+1
if [[ -z “$l” ]]; then
break
fi
`cat mp3list.txt | grep -i $l >> tpl.tmp`
done

sed = tpl.tmp | sed ‘N;s/n/t/;s//.*///g;s/.mp3//’ | more # number lines and strip of directories and extensions.
line=1;
max=`wc -l tpl.tmp | cut -s -d” ” -f1`
if [ ! “$max” -eq 0 ] && [ ! “$max” -eq 1 ]
then
echo -n “Enter song number [MAX $max]: “;
read line
elif [ “$max” -eq 0 ]; then
exit 0
fi

for i in `seq 1 10`;
do
l=`echo “$line 0″ | cut -s -d” ” -f$i`
echo “Playin : $l”;
if [ -z “$l” ] || [ “$l” -le 0 ]; then
exit 0 #Exit here
fi

filename=`more +$l tpl.tmp | head -n 1`
#echo “$filename”
if [ “$l” -gt “$max” ]; then
echo “Out of bounds $max “
else echo “Playing $filename”
mpg123 -Cv “$filename”
fi

done

echo “OveR”; #doesnt reach

##############################################################################

Que hace este script?

Sencillo, la primera vez que es ejecutado escanea el equipo por música y crea un listado, para que cada vez que nosotros lo utilicemos, pueda acceder rápidamente a nuestra solicitud. A modo de ejemplo, yo llame a este script mpg123.sh. Lo ejecutamos así “./mpg123.sh Archenemy”. Tengo los álbumes de Archenemy en x directorio, el scritp me trae todas las canciones del directorio y las enumera, de tal manera que me da a elegir que canciones escuchar de acuerdo a la enumeración. Solo debo ponerle 05, y me ejecutara la canción listada numero 05 en el orden expuesto. Si yo quiero escuchar determinado numero de canciones, solo hay que indicarlas dando un carácter de espacio, es decir, 01 02 03 21 22 23 …….
La fuente del ultimo código la encuentran en
http://digitalpbk.blogspot.com/2008/05/bash-mp3-player-mpg123-sed-playlist.html

Definitivamente este es uno de los motivos por los cuales me quedo con linux, y es que soy dueño de mi propia información y del manejo, no es sencillo, pero con consultar y estudiar un poco el tema se pueden hacer cosas incluso mejores que estas, adecuadas a nuestras necesidades reales.

Cualquier comentario es motivación para trabajar mas a menudo en este tipo de exposiciones.

Photobucket

Libreoffice

Y comienzo formalmente teniendo en mi bitácora información de libreoffice.

Hosted by imgur.com

Libreoffice 3.3 es el primer lanzamiento estable de la suite de productividad que The document fundation libera para Windows, Mac y Linux. Este grupo surge para el 28 de mayo del 2010 con el fin de crear una bifurcación con base al conocido Openoffice. Inicialmente se le invito a Oracle a formar parte del proyecto, en cambio la marca le solicito a los ingenieros y miembros involucrados en el proyecto renunciaran, por lo que algunos de sus miembros renunciaron y se trasladaron a “The document fundation” para apoyar a Libreoffice.

Hosted by imgur.com

La bifurcación recibió para su primera semana contribución por parte de 27 voluntarios para un total de 80 contribuciones en el código y actualmente sigue recibiendo contribuciones por parte de miles de usuarios en todo el mundo. Ademas por ser un proyecto con desarrollo totalmente abierto, ha sido ampliemante probado por expertos de seguridad, por lo que pueden tener la total confianza en el producto.

La suite nos ofrece:

Hosted by imgur.com

Writer: El procesador de texto.

Hosted by imgur.com

Calc: Hojas de calculo

Hosted by imgur.com

Impress: Para presentaciones multimedia.

Hosted by imgur.com

Draw: Permite crear programas y dibujos a partir de 0

Hosted by imgur.com

Base: Interfaz para base de datos.

Hosted by imgur.com

Math: Editor de ecuaciones simples (Por fin lo que buscaba)

Ahora bien… Libre office maneja su pagina en español, de la cual pueden realizar la respectiva descarga http://es.libreoffice.org/descarga/. Como ya lo comente maneja soporte para Linux, Windows y Mac. No pagan un centavo por ser software libre, tendrán acceso al binario, ejecutable o depende de nuestro caso, junto con el código fuente.

Para Linux recomiendo

Primero des instalamos openoffice

sudo apt-get purge openoffice*,*

(aun que yo no desinstale nada, por que haciendo el procedimiento desde el siguiente paso, el mismo libreoffice nos ayuda a remover openoffice)

sudo add-apt-repository ppa:libreoffice/ppa
sudo apt-get update
sudo apt-get install libreoffice
Posterior a esto para que se adecue al entorno para el caso de gnome
sudo apt-get install libreoffice-gnome

Y para el caso de Kde
sudo apt-get install libreoffice-kde
Para pasarlo a español:
sudo apt-get install libreoffice-l10n-es
Y para los diccionarios
sudo apt-get install language-support-writing-es

Tambien si lo desean, apartir de agregar los repositorios ya pueden buscar estos paquetes en synaptic, como les quede mas facil.

Y no siendo mas, les dejo con esta suite que promete mucho, es libre y ademas la recomiendo, en verdad la probe y es muy buena..

Saludos.