viernes, 12 de octubre de 2012

Tutorial perl desde Unix variables (escalar)


Esta es la parte 2 de estos tutoriales de perl para aprender el funcionamiento de este lenguaje de programación interpretado,bueno los tutoriales los voy a hacer sencillos como los de bash solo un tema por tutorial y al final un map de todos los tutoriales, scripts o programas que realice en el transcurso del tiempo escritos en el mismo y los ejemplos que coloque.

Bueno como dice el titulo en esta ocasión veremos variables,en el capitulo anterior vimos las variables pero fue muy sencillo y le voy a dedicar una a cada una,en esta ocasión escalares.luego,hashes,arrays,etc.



Pero que es una variable,las variables son una función o parte fundamental en cualquier lenguaje de programación en algunos los definimos como strings en otros simplemente les damos un valor a un texto y ese es el caso de perl,una variable varia y podemos cambiar su valor,ya sea desde el momento que la escribimos o en el momento que queramos interactuar con ella desde la entrada del teclado,bueno comencemos con los ejemplos:


1. Definición de variables

La sintaxis de las variables en perl son así:

$variable="cadena,entero,flotante"

De igual forma que en otros lenguajes tenemos los valores cadena,entero,flotante los cuales son

cadena # Todo lo que vaya encerrado en "aquí"

entero # números por ejemplo 775

flotante # Números flotantes por ejemplo 7.55

Volviendo a las variables existen varios tipos de variables y la que acabo de mostrar se llama escalar,escalar,las escalares son las variables en las cuales definimos un valor fácilmente,solamente hacemos esto para definiría

$cadena="Hola Mundo!!!";
$entero=775;
$flotante=7.55;

Y para llamarlos se usa el comando print

print "Esto es una cadena : $cadena\n";

print "Esto es un flotante : $flotante\n";

print "Esto es un entero : $entero\n";

De igual forma es bueno y usar my antes de definir la variable,por ejemplo

my $cadena="Hola Mundo!!!";

Ejercicio 1

Copia y ejecuta este script

#!/usr/bin/perl
#-Ejemplo 1-#
my $cadena="Hola Mundo!!!";
my $entero=775;
my $flotante=7.55;

print "Esto es una cadena : $cadena\n";

print "Esto es un flotante : $flotante\n";

print "Esto es un entero : $entero\n";

Pregunta uno 

Que pasa si ejecutamos esto en vez:

#!/usr/bin/perl
#-Ejemplo 2-#
$cadena="Hola Mundo!!!";
$entero=775;
$flotante=7.55;

print "Esto es una cadena : $cadena\n";

print "Esto es un flotante : $flotante\n";

print "Esto es un entero : $entero\n";

2.Cambiar el valor de las variables

Bien,en perl se puede pasar el valor de una variable a otra:

Por ejemplo

my $uno="Uno";
my $dos="dos";
my $tres;

$tres=$uno;

print "$tres\n";
print "$dos\n";

Cabe resaltar en este ejemplo que también se pueden definir las variables después de escribirlas,por ejemplo

my $variable;
$variable="Uno";
print "$variable\n";

Ahora explico el código pasado con #

my $uno="Uno"; # Definimos variable uno
my $dos="dos"; # Definimos variable dos
my $tres; # casi definimos variable tres

$tres=$uno; # Le pasamos el valor de variable uno a esta variable

print "$tres\n"; # Llamamos la variable tres (y se imprimira su valor)
print "$dos\n"; # Llamamos la variable dos

Ejercicio 2

Copia y ejecuta este script

#!/usr/bin/perl
my $uno="Uno";
my $dos="dos";
my $tres;

$tres=$uno;
$dos=$tres;

print "$dos\n";

Ahora otro ejercicio

Dale el valor de la variable tres a la dos y solo llama la variable dos

Pregunta ¿que se imprime?

Vamos bien,bueno ahora vamos ahora vamos a pasar a algo mas interesante,la definición de variables desde la entrada del teclado,para ello usaremos el comando <STDIN>,este comando se usa para obtener información desde un dispositivo de entrada,

3.Definir una variable desde la entrada del teclado

La definición de una variable es la siguiente,para que se pueda definir desde el teclado

my $obtencion = <STDIN>;

Ejercicio 4

Copia y ejecuta este script

#!/usr/bin/perl

print "\nTeclea algo\n\n";
my $obtencion = <STDIN>;

print "\nTu entrada por el teclado fue : $obtencion\n";

Ejercicio 5 

Comenta lo que hace el script pasado con # 

Ahora,veremos un poco de operaciones aritméticas en el futuro haré una entrada dedicada a esto pero de momento checken este script

#!/usr/bin/ perl
print "Teclea un numero entero: ";
my $num1 = <STDIN>;
chop $num1;
print "Teclea otro numero entero:";
my $num2 = <STDIN>;
chop $num2;
$resultado=$num1+$num2;
print "El resultado de la suma de $num1 y $num2 es: $resultado\n" ;

Como pueden ver hay mucho que explicar,lo que es algo para repasar es el comando chop,este comando quita el último carácter de la línea que se introdujimos, que regularmente es el símbolo de retorno de carro, al momento de teclear [enter].

Ya que vean que pasa si ejecutamos sin chop

Ejemplo



Las operaciones aritméticas las veremos mas adelante con sus debidas cosas pero ese era un ejemplo de lo que se puede hacer con <STDIN>

Eso es todo por ahora
Leer más...

jueves, 11 de octubre de 2012

Tutorial prompt PS1 bash root


Bueno este tutorial es para tener un estilo diferente en el SHELL de root,pues la solución es editando e .bashrc de root,aunque en este caso si es recomendable tener el estilo en otro lado y llamarlo con una condicional, comenzamos.

para ello solo entramos a root

su

Y nos damos locación en su $HOME

cd ~

Ahora vemos el .bashrc

cat .bashrc

Si no hay nada esta bien,si hay algo solo edita lo que tenga que ver con PS1(comentalo con #)

Ahora creamos el estilo en otro archivo

Por ejemplo

nano ~/.estilosh

y pegamos lo que aprendimos en el tutorial pasado

Enlace

Ahora lo guardamos y abrimos .bashrc de root

Y llamamos .estilosh con una condicional

nano .bashrc

if [ -f /root/.estilosh ] 
then
       . '/root/.estilosh'
fi

Eso es todo, aquí un vídeo


Leer más...

lunes, 8 de octubre de 2012

Tutorial prompt bash PS1 Linux


Bueno si no sabes que es prompt es la configuración de nuestra terminal,que se ejecuta al abrirla,esta se guarda en el archivo .bashrc,se abran dado cuenta que en mis pantallasos aparece rara mi consola(colorida)



ya sea que les haya mostrado la de FreeBSD



,Geento,Archlinux,openSUSE o Ubuntu que es lo que hemos visto mas recientemente,bueno eso lo logro modificando la configuración de la variable PS1,guardada en el archivo .bashrc de nuestra carpeta home $HOME o ~/

Bueno en la mayoría de las paginas enseñan como configurar pero es algo avanzado ya que no dicen solo van al copy and paste  y yo les mostrare algo básico,como lo que hemos hecho en los cursos de bash.

Tutorial

Primero que nada usare vim pero les recomiendo gedit o kate dependiendo su entorno de escritorio,priemro editamos nuestro bashrc

Lo vemos con

cat ~/.bashrc

Nos saldra toda la informacion,ahora vamos a filtrar la variable PS1

grep PS1 ~/.bashrc

En Arch por ejemplo que use para hacer esta entrada me sale esto:

PS1='[\u@\h \W]\$'

Bueno esto en español seria

Muestra el usuario,seguido del hostname también el lugar donde nos encontramos y por ultimo este simbolo $

Como se eso?,bueno esto significa esos códigos

PS1='[\u@\h \W]\$'

PS1= # Es la variable que define el estilo de nuestra terminal

'' # Son las comillas donde ira todo el estilo de nuestra terminal

[] # Inicia y termina los comandos que son equivalentes a informacion (u,h,d,etc) estos son los comandos:

d Muestra la fecha con formato “día de la semana mes y número de día”
h Muestra el nombre del host
H Muestra el nombre del host y el dominio
n Salto de linea
r Retorna al inicio de la linea
s Muestra el nombre del interprete de comandos
t Muestra la hora en formato de 24 horas
T Muestra la hora en formato de 12 horas
@ Muestra la hora en formato de 12 horas con indicador am o pm
u Nombre del usuario actual
v Versión del interprete de comandos
V Distribución del interprete de comandos
w Nombre del directorio actual
W Nombre del directorio actual recortado
! Número en el historial del comando tecleado
# Número de comando tecleado
$ Si eres superusuario muestra una # si no, muestra una $

\u@\h \W # Muestra usuario@hostname espacio Ubicacion (debe llevar \ para ser leido correctamente)

$ # Lo que hace el comando $ explicado arriba

@ # Esto es tomado como texto y se imprime simplemente @

Bueno ya sabemos a lo que nos enfrentamos,vamos a hacer algo simple como lo que yo hago,ya que me gusta la simpleza cambiar este logo $

vim ~/.bashrc

Yo recomiendo no mover la variable PS1, así que si queremos la comentamos con # (no es necesario pero es mejor que .bashrc no la tome en cuenta si vamos a usar otra)

La copiamos y la pegamos hasta abajo

En mi caso de  Arch

PS1='[\u@\h \W]\$'

Ahora que quede así

PS1='[\u@\h \W] { '

Con eso debe haber cambiado el estilo de la terminal :D

Ahora, vieron que hicimos esto

PS1='[\u@\h \W] { '

y no esto

PS1='[\u@\h \W]\{'

Aque se debe? pues se debe a que este símbolo $ es un comando y realiza acciones por eso se toma en cuenta con \ ya que si quisiéramos ponerla como texto pero sin hacer nada (y de hecho no se vería cambio visual),seria así:

En todos los ejemplo borren la variable PS1 y pegen en vez el nuevo comando

PS1='[\u@\h \W]$'

Nota:$ No se tomara en cuenta hasta que realizara su debida acción

De hecho todo lo que valla dentro de '' es tomado y sera imprimido pero si lleva \ y es un comando sera tomado en cuenta si lleva \ y no es un comando dara error !!¡¡

Por ejemplo

PS1='Bienvenido'

A hora vean esto

PS1='Bienvenido \u'

O

PS1='Bienvenido \u son las \T comencemos'

Ahora usaremos los comandos mas usuales

PS1='Este es tu hostname: \h este es tu user: \u este es el directorio actual \W y son las \T comencemos'

Así se entiende un poco mas.

Bueno ahora veamos los colores

Negro 0;30 
Gris oscuro 1;30
Azul 0;34 
Azul claro 1;34
Verde 0;32 
Verde claro 1;32
Cyan 0;36 
Cyan claro 1;36
Rojo 0;31 
Rojo claro 1;31
Púrpura 0;35 
Púrpura claro 1;35
Marrón 0;33 
Amarillo 1;33
Gris claro 0;37 
blanco 1;37

Hay mas prueben combinaciones de 0;xx 1;xx

Ejemplo:

PS1="\[\e[0;34m\]\h@\u\[\e[0;1m\] Directorio \W $ "

Para que se tome encuenta el color debe llevar \ al principio y ademas debe ir encerrado esta vez en "" en vez de '' ya que admite mas valores, también debe ir el color encerrado en [] al principio y al final

Esta es la sintaxis

PS1="\[\e[1;33m\]Esto es amarillo\[\e[0;33m\] Esto es marrón"

Esto de e viene de echo -e con colores de la SHELL de Unix

Y claro todo separado por \


PS1="\[\e[1;33m\]Esto es amarillo\[\e[0;33m\] Esto es marrón"



Veamos el ultimo ejemplo

PS1="\[\e[0;34m\]\T { \[\e[0;35m\]\\u\[\e[0;31m\] \W ( "

Bueno pues eso es todo,ese es el principio básico de esto,claro que hay personas extravagantes que usan códigos que ni siquira incluyen en el .bashrc,lo incluyen en otro lugar y lo llaman con una condicional o un exec,pero ami me gusta lo sencillo

Aquí unos ejemplo tomados de desdelinux.net

PS1='\[\033[0;32m\]┌┼─┼─ \[\033[0m\033[0;32m\]\u\[\033[0m\] @ \[\033[0;36m\]\h\[\033[0m\033[0;32m\] ─┤├─ \[\033[0m\]\t \d\[\033[0;32m\] ─┤├─ \[\033[0;31m\]\w\[\033[0;32m\] ─┤ \n\[\033[0;32m\]└┼─\[\033[0m\033[0;32m\]\$\[\033[0m\033[0;32m\]─┤▶\[\033[0m\] '

PS1="\[\e[0;1m\]┌─( \[\e[31;1m\]\u\[\e[0;1m\] ) - ( \[\e[36;1m\]\w\[\e[0;1m\] )\n└──┤ \[\e[0m\]"


PS1="┌─[\d][\u@\h:\w]\n└─> "

PS1="\[\e[0;1m\]┌─( \[\e[31;1m\]\u\[\e[0;1m\] ) » { \[\e[36;1m\]\w\[\e[0;1m\] }\n└──┤ \[\e[0m\]"

Realicen los suyos y compartanlos en los comentarios :D

Les dejo este sencillo que hice, un poco mejor que los ejemplos pero sencillo,como me gustan :D

PS1="\[\e[0;31m\]┌->|\[\e[0;32m\]Welcome \[\e[0;33m\][\u]\[\e[0;33m\]\[\e[0;31m\]\n└->\[\e[0;32m\][\w]\[\e[0;31m\]-{ "
Así se los deja:


Leer más...

Como encriptar texto con vim Linux

Vim es una utilidad que me ha servido bastante  en cualquier distribución de LInux y que a muchos de ustedes seguramente también les ha servido,no solo en llinux sino que también en BSD/WIndows/Amiga OS/etc ,vim nos ayuda mucho para programar con el uso de sintaxis números y demás cosas



pero esto va hasta ahí,ya que también sirve para encriptar nuestros archivos de texto con un algoritmo de cifrado simétrico por bloque Blowfish, que fue diseñado por Bruce Schneier.

Acerca de Bruce Schneier

http://es.wikipedia.org/wiki/Bruce_Schneier

Bueno para encriptar un archivo de texto basta con usar esta sintaxis

vim -x archivo.sh

Y nos pedirá una contraseña,la colocamos y salvamos con :wq

Y si lo queremos editar con otro programa o sin contraseña no lo podremos hacer

Vídeo de ejemplo



Si lo compilaste ,debes haber usado "crypt" para que funcione

Referencia : rinconinformatico.net/cifrado-de-archivos-con-vim/

Leer más...

domingo, 7 de octubre de 2012

Curso scripting bash operaciones aritmeticas

Bueno esta es la parte 7 de estos tutoriales tipo cursos de lo que es programación bash,como les dije en la entrada pasada de estos tutoriales vamos a ver operaciones aritméticas o numéricas ya que esto es de lo mas simple pero se ha ido quedando y bueno antes de hacer mas,lo vamos a hacer

Partes anteriores


Parte 1


Parte 2


Parte 3

Parte 4  

Parte 5

Parte 6
Bueno comenzemos con los ejercicios y despues los explico

Ejercicio 1

#!/bin/bash

numero1=1
numero2=2

let operacion=$numero1+$numero2

echo $operacion




Bien lo explico con #

#!/bin/bash

numero1=1 # Definimos un numero en una variable
numero2=2 # Definimos otro numero en otra variable

let operacion=$numero1+$numero2 # Definimos la operación en otra variable y las sumamos(debe llevar let las operaciones numéricas)

echo $operacion # Llamamos la variable que suma las dos primeras variables

Bueno antes de todo,pueden darle una vuelta a la entrada de comparación de valores,ya que no es lo mismo comparar cadenas a comparar números o flotantes


Enlace

Les dejo lo que necesitamos de todas formas ya que no lo incluí en la otra entrada




-                                 Menos unario
!                 Negación lógica
* / %                    Multiplicación, división y resto
+ -­                          Suma y resta
<= >= < >  Operadores relacionales
== !=                 Igualdad y desigualdad
=               Asignación a variable
&&            Y lógico
||                              O logico


Ejercicio 2

#!/bin/bash

numero1=1
numero2=2

(( operacion=$numero1*$numero2 )) # ¿!!!!?

echo $operacion

Aquí lo único que hay que resaltar es que no necesariamente se debe llevar let para las expresiones aritméticas, también las podemos definir encerrando la variable que hace la operación en (( )) como en el ejemplo anterior

Pregunta 1(no necesitan comentar)

Bien que pasaría si hacemos esto?


#!/bin/bash

numero1=1
numero2=2

operacion=$numero1+$numero2

echo $operacion

Ejercicio 3 

No necesariamente necesitamos definir muchas variables,de hecho podemos hacer operaciones con una sola

#!/bin/bash

numero1=1

(( operacion=$numero1+$numero1 ))

echo $operacion

O también definiendo un numero sin variable

#!/bin/bash

numero1=1

(( operacion=$numero1+10 ))

echo $operacion

O sin variables

#!/bin/bash

(( operacion=10+10 ))

echo $operacion

Ejercicio 4

Ahora si lo usamos con read de la entrada pasada así seria una calculadora:

#!/bin/bash

clear
echo "Calculadora de suma"

sleep 1;

echo "Escribe un numero: "

read numero1

echo "Escribe otro numero: "

read numero2

echo "sumando..."

sleep 2;

(( operacion=$numero1+$numero2 ))

echo "El resultado es $operacion"

Ejercicio 5

Ahora imagínense lo que podríamos hacer usando,los bucles usando case.esac

Por ejemplo:

Enlace

Video




Pregunta 2(no necesitan comentar)


Se puede realizar el ejemplo anterior sin usar case,esac,si es así realizalo


Bueno pues eso es todo,ya que esto funcionado con los antiguos tutoriales se pueden hacer grandes cosas,por ejemplo algo que he visto que siempre hacen es el programa que saca la media de la calificación de un montón de alumnos, también se puede hacer en bash pero ya con los tutoriales pasados deben tener idea de como se hace.Hasta luego

Leer más...

sábado, 6 de octubre de 2012

Crea imágenes ASCII con tus imágenes JPEG desde terminal

Este es un pequeño tutorial de como crear imágenes ASCII con tus fotos JPEG,bueno si no saben que son imágenes ASCII son esta por ejemplo:

O esta con color!!

Sacada de esta imagen


bueno esto me esta sirviendo mucho porque estoy programando un tipo archey o screenfetch,como el que hice para Ubuntu pero esta vez para Archlinux y también esta vez programado en Perl en vez de bash,que va mas o menos así

(Aclaración todos mis hostnames son super-tux,incluso el de FreeBSD,no tengo mucha imaginación para los nombres por eso apenas me lo cambie)

Tutorial

Bueno volviendo al tema el programa que vamos a usar es tipo consola,osea se maneja desde terminal,con la sintaxis de Unix.

El programa se llama jp2a

Lo instalan con su respectivo comando para su sistema,

sudo : aptitude,yaourt,emerge,zypper ,etc jp2a

Abrimos la guía tecleando

Y les saldrán todos los comandos que pueden usar

Aquí un pequeña guía:

Necesitan darse locación en la carpeta donde esta la imagen,si se te complica llegar a una ruta por terminal y usas nautilus usa este pipe que prepare

touch ~/.gnome2/nautilus-scripts/Abrir-con-terminal && echo '#!/bin/bash' >> ~/.gnome2/nautilus-scripts/Abrir-con-terminal && echo "gnome-terminal" >> ~/.gnome2/nautilus-scripts/Abrir-con-terminal && chmod +x ~/.gnome2/nautilus-scripts/Abrir-con-terminal

Tutorial

Bueno ya en nuestra ruta por ejemplo imagenes 

vemos las imágenes jpeg que tenemos con


ls *.jpeg

ahora si tienes imagenes .png u otro formato las puedes cambiar con


convert nombre-imagen.png nombre-imagen.jpeg
otro tip,si quieres que se vea solo el logo o foto ponle color negro al fondo(no blanco ni alfa) por ejemplo con gimp



Ya sabiendo eso hacemos esto para convertir nuestra imagen a ASCII


jp2a tu-imagen.jpeg
Y listo,o si quieren con color como la segunda imagen que mostre este seria la sintaxis


jp2a --colors tu-imagen.jpeg

Y si la quieres mandar a un archivo,puedes hacer esto

jp2a --colors tu-imagen.jpeg > archivo-de-texto

O si la quieres mandar a html y ponerla en tu sitio has esto

jp2a --colors --html tu-imagen.jpeg > archivo-de-texto.html
Bueno eso es todo(lo que les puedo decir,ya que hace mas cosas,checken escribiendo solamente jp2a)



Leer más...

Como meterle música a la aplicacion de musica del iphone sin pc y itunes

Bueno,la música en nuestros ipod's touch iphone no se introduce como en un dispositivo de almacenamiento masivo normal(mp3's,mp4's,celulares con sd),se tiene que sincronizar con itunes y esto hace que no se le pueda meter sin usar una pc o nuestra propia pc,pero entonces como meterle musica sin pc o sin itunes,bueno se le puede mandar musica a la biblioteca de itunes con una app de cydia llamada Bridge

Lo que hace es mandar música que este en alguna carpeta del sistema de nuestro ipod,iphone a la biblioteca de nuestra app nativa de música lo malo es que se tarda un mas que si fuera itunes y se la tenemos que pasar primero a alguna carpeta de nuestro iphone ipod por sftp(ssh) o por ifunbox

 Aclaro:Necesitaran Pc por lo menos para realizar el jailbreak

Requerimientos

iOS 5 (en adelante)

Jailbreak

Para windows: wincsp o ifunbox

Para MacOS X : cyberduck o ifunbox

Para Linux : Tutorial

Para FreeBSD :con un cliente SFTP basta, como FilleZilla

1.Abrimos cydia y le damos cambios para recargar



2.Buscamos Bridge (es de paga esta app) pero puede que en alguna repo este gratis



Instalamos


3.Pasamos musica al ipod,iphone por ssh o por cable a la carpeta media

Es esta ruta:

/var/mobile/Media 



4.Abrimos Bridge y en files le damos media

 Buscamos la canción o canciones que le mandamos y le damos tap


Elegimos el tipo de archvio,Cancion,video,podcast,etc y le damos importar

Luego abrimos la app de música y listo

Diran si usamos Pc?

Bueno si no quieren usar pc para nada descarguen de cydia safari download manager y los archivos que bajen de safari los podran mandar a la biblioteca nativa

Leer más...

viernes, 5 de octubre de 2012

Tutorial Perl desde Unix introduccion


Bueno este es el primer tutorial perl desde Unix numero uno,lo que se planea con este tutorial o esta serie de tutoriales es el aprendizaje de este lenguaje para el entendimiento del mismo, así que estos tutoriales están pensados para que sea como un empujón a escribir en este lenguaje de programación y leerlo también solo como un inicio,para que sea comprensible a futuros tutoriales que leas de otras webs.

Bueno,yo estoy consiente que el conocimiento es libre y único, que se obtiene con la practica y tal vez al aprender de alguien mas ,pero también estoy consiente de que lo que de enseña es lo que se aprenderá así que no les voy a presentar mi curriculum porque no hay tal,yo he aprendido de manera autodidacta varios lenguajes de programación y administración de sistemas,pero de algún lugar debí haber sacado el conocimiento, bueno la mayoría lo he sacado de libros,revistas,etc así como pdf's de universidades de mi país y el simple hecho de modificar o codificar códigos en perl de programadores.

lo voy a realizar desde Gentoo porque es muy buena distribución que uso ahora y que había usado antes pero lo pueden hacer desde Ubuntu,Debian,Archlinux,FreeBSD o cualquier OS que tenga perl

,ya me cambie el nombre para mas credibilidad(ya no soy hackloper775,ahora es mi nombre real un poco modificado demianx864) ya configure Perl (que me dio unos errores por ahí en Gentoo) y ya tengo lo que vamos a ver en este primer capitulo que sera:

Interprete

Scripts

Hola Mundo

Variables

Interprete 

El interprete,el interprete es el encargado de ejecutar debidamente nuestros scripts programados en el mismo,en este caso perl

Aquí su historia y características:

Perl es un lenguaje de programación diseñado por Larry Wall en 1987. Perl toma características del lenguaje C, del lenguaje interpretado bourne shell (sh), AWK, sed, Lisp y, en un grado inferior, de muchos otros lenguajes de programación.
Estructuralmente, Perl está basado en un estilo de bloques como los del C o AWK, y fue ampliamente adoptado por su destreza en el procesado de texto y no tener ninguna de las limitaciones de los otros lenguajes de script.

Mas info: es.wikipedia.org/wiki/Perl

Como vieron y como había dicho perl tiene mucho que ver con Unix,por distintas cosas.

Pero bueno el interprete lo tenemos que localizar para poder comenzar a programas y esta alojado en algún lugar de nuestro sistema y para saber cual es tecleamos

which perl

Nos dará el interprete que posiblemente esta en



Anoten eso sera necesario para nuestro script

Scripts

La creacion de Scripts es una creación de ordenes escritas en dicho lenguaje,sea perl,python,sh,etc estos scripts deben llevar su respectiva extensión y en perl es .pl ademas deben llevar permisos de ejecución 775 o +x,y deben iniciar con la ruta del interprete.

Ejercicio uno

Copia y pega este código en una documento en blanco(lo pueden crear con Gdit,Kate,nano,vim,o cualquier editor de texto)

system('clear');
@P=split//,".URRUU\c8R";@d=split//,"\nlreP a odinevneiB";sub p{
@p{"r$p","u$p"}=(P,P);pipe"r$p","u$p";++$p;($q*=2)+=$f=!fork;map{$P=$P[$f^ord
($p{$_})&6];$p{$_}=/ ^$P/ix?$P:close$_}keys%p}p;p;p;p;p;map{$p{$_}=~/^[P.]/&&
close$_}%p;wait until$?;map{/^r/&&<$_>}%p;$_=$d[$q];sleep rand(2)if/\S/;print

Ahora renombralo hola-perl.pl

Este es el famoso "Just another Perl / Unix hacker" un poco modificado para darles la bienvenida a perl(de hecho esta en enlace de wikipedia de arriba) esta hecho para divertirse con la competencia de codigo ofuscado

http://perl.plover.com/obfuscated/

y ejecutarlo así en terminal:

perl hola-perl.pl

Bienvenido!!

Hola Mundo

Hola Mundo es el primer programa de todos los lenguajes de programación que consiste en ejecutar texto en una terminal,ventana,etc dependiendo el lenguaje esto hace que se comprenda un poco mas la sintaxis del lenguaje.

En perl se escribe así

#!/usr/bin/perl

print "Hola Mundo!!\n";

Lo explico

#!/usr/bin/perl : Llama al interprete,con su ruta,lo llama con #!

print "Hola Mundo!!\n"; : print es el comando imprimir

print "Hola Mundo!!\n"; : es el texto a imprimir,hay que notar que lleva \n esto quiere decir nuevo párrafo no es necesario pero es bueno usarlo para trabajar mas limpio y también se puede llevar antes(recomendable en el primer texto a imprimir)

print "\nHola Mundo!!\n\n"; : Y así dará un párrafo en blanco al principio y otro después de imprimir el texto también hay que tener en cuenta que debe llevar ; al fin de cada párrafo,al fin de cada párrafo

Ejercicio 2

#!/usr/bin/perl

print "\nHola Mundo!!\n\n";

Copien y renombren holamundo.pl, como es un código muy corto:

Dale permisos +x

Ejemplo

chmod +x holamundo.pl

Y ejecutalo asi

./holamundo.pl



Variables

Las variables son maneras de guardar datos y estas pueden ser enteros,cadenas o flotantes

Por ejemplo:

$e=7; # un entero
$c="11 o tambien Texto"; # es una cadena
$f= 4.5; # de punto flotante

Como pueden ver las variables deben llevar $ antes de iniciarlas para definirías y deben ir unidas con el = también no olviden los ; al final

Tambien deben llevar $ para llamarlas

Ejercicio 3

copia y pega esto despues ejecutalo

#!/usr/bin/perl

$e=7; # un entero
$c="Lo que valla entre comillas"; # es una cadena
$f= 4.5; # flotante;

print "Una cadena es $c\n";
print "Un entero es $e\n";
print "Un flotante es $f\n";


Hola mundo con variables

Otro ejemplo del uso de variables seria ejecutar el texto de nuestro primer programa pero ahora definido en una variable que seria asi:

Ejercicio 4

#!/usr/bin/perl

$texto="Hola Mundo!!!";

print "$texto\n";

Bien aquí termina la primera parte, espero que te haya gustado,vamos ir viendo cosas simples y seguiremos avanzando espero sacar una cada semana,pero no prometo nada porque no es muy seguro de como organizar mi tiempo.
Leer más...

jueves, 4 de octubre de 2012

Instalar monodevelop en Archlinux

Bueno,esta entrada es muy simple y para instalar monodevelop en Archlinux es mas simple aun,lo que que pasa es que hago esta entrada para decir que ya no haré mas tutoriales de mono C# o C Sharp,bueno solo hice uno pero ya en mi localhost tenia preparados mas para copiarlos y pegarlos en tiempo de tux,pero no haré mas,porque?

Porque este sitio se centra en una temática Linux/GNU/Unix y mono sale sobrando un poco aquí ya que C# es de windows y de por si ya varios seguidores de sitio devén de estar enojados porque no se centra en una temática solamente,bueno eso antes, ahora creo que he amoldado un poco el sitio y ya esta clara su temática "Unix" sea Darwin,BSD o Linux pero no Windows.

Esa es mi explicasion y si creen que es un poco rebuscada pueden ver la entrada de usemoslinux donde enseñan a desinstalar mono

http://usemoslinux.blogspot.com/2010/02/que-es-mono-y-por-que-puede-ser.html

Bueno para instalar monodevelop con todas sus herramientas en Archlinux solo basta con este comando

sudo pacman -S monodevelop
Y lo instala :D



Si no esta en el menu de aplicaciones lo abren en terminal con:

monodevelop

Lo que también me ha sorprendido es las pocas dependencias que arroja en archlinux,solo 20mb o menos y cuando lo instale en Ubuntu 150mb ?

Bueno todas las distribuciones son diferentes

Otro lenguaje que si voy a enseñar en principio básico y que desde hace tiempo había querido compartirles es Perl

Este lenguaje me fascina y tiene que ver mucho con Unix y Linux



Asi que en el futuro empezaran los tutoriales de Perl, tambien seguiran los de bash y tal vez los de Python los reviva nuevamente tambien :D

Leer más...

martes, 2 de octubre de 2012

Como reconocer el ipod touch y iphone en Archlinux

Bueno este tutorial es de los que eran hace un tiempo,el uso de Linux y el iOS en conjunto y en esta ocasión lo traigo con Archlinux.

Lo que vamos a hacer es que lo reconozca igual que Ubuntu o derivados, en nautilus y en amarok o bashe,no lo he probado en KDE y creo que no funciona porque esto esta diseñado para nautilus,por lo menos el programa que lo monta visualmente y fácilmente es nautilus y puede dar errores en Dolphin o puede no funcionar.

Así que si como yo usan archlinux con gnome y nautilus (de hecho en el side bar tengo unos logos que dicen que lo uso) no hay problema.

1.Instalamos yaourt


Editamos el archivo pacman.conf

sudo nano /etc/pacman.conf
Y añadimos esto al final 


Para i686:

    [archlinuxfr]
    Server = http://repo.archlinux.fr/i686

Para x86_64:

    [archlinuxfr]
    Server = http://repo.archlinux.fr/x86_64

Guardamos


Instalamos
sudo pacman -Sy yaourt
Luego borramos lo que añadimos


sudo nano /etc/pacman.conf

Para i686:

    [archlinuxfr]

    Server = http://repo.archlinux.fr/i686

Para x86_64:


    [archlinuxfr]

    Server = http://repo.archlinux.fr/x86_64

Ahora editamos el /etc/yaourtrc


sudo nano /etc/yaourtrc

Descomentamos (#)

Lo que dice PACMAN="pacman"


# Command
PACMAN="pacman"
#DIFFEDITCMD="vimdiff"

2.Instalamos todo lo necesario


sudo pacman -S usbmuxd libimobiledevice libgpod  libplist gvfs-afc 
si queremos también amarok

sudo pacman -S amarok

3.Configuramos

sudo gpasswd -a $LOGNAME usbmux 
Reiniciamos 
sudo reboot
Conectamos y listo 





Eso es todo,ahora si no hay razon para no usar Archlinux :D

Leer más...

lunes, 1 de octubre de 2012

Como instalar Google Chrome en ArchLinux 2012

En este sitio hablamos mucho de Google ya sea para Linux Fedora/Ubuntu/Debian/Chakra/openSUSE/ y en esta ocacion Archlinux,el llamado 2012,por el .iso 2012.

Para instalar Chrome necesitamos yaourt instalado

Tutorial instalar yaourt


Editamos el archivo pacman.conf

sudo nano /etc/pacman.conf
Y añadimos esto al final 


Para i686:

    [archlinuxfr]
    Server = http://repo.archlinux.fr/i686

Para x86_64:

    [archlinuxfr]
    Server = http://repo.archlinux.fr/x86_64

Guardamos


Instalamos
sudo pacman -Sy yaourt
Luego borramos lo que añadimos


sudo nano /etc/pacman.conf



Para i686:

    [archlinuxfr]
    Server = http://repo.archlinux.fr/i686

Para x86_64:

    [archlinuxfr]
    Server = http://repo.archlinux.fr/x86_64

Ahora editamos el /etc/yaourtrc


sudo nano /etc/yaourtrc

Descomentamos (#)

Lo que dice PACMAN="pacman"


# Command
PACMAN="pacman"
#DIFFEDITCMD="vimdiff"



Tutorial instalar Chrome


yaourt -S google-chrome --noconfirm
Con eso se instala


Asi de simple :D

Leer más...

domingo, 30 de septiembre de 2012

Como instalar vim cambiar el tema y habilitar los numeros en Archlinux

Bueno en esta ocasion vamos a instalar cambiar el tema y habilitar los numeros en vim usando archlinux :D,el procedimiento es parecido al de FreeBSD y Gentoo,no igual a Ubuntu o derivados,ya que en Ubuntu o deribados o creo que tambien en fedora y openSUSE,la configuracion de vim se guarda en /etc/vim/vimrc y en estos sistemas que mencione se guardan en nuestro home (~)

Tutorial

1.Instalamos vim

yaourt -S vim

2.Copiamos el archivo de configuracion de ejemplo

cp /usr/share/vim/vim73/vimrc_example.vim ~/.vimrc

Ahora cambiamos el tema

mkdir ~/.vim


mkdir ~/.vim/colors

Descargamos un tema

http://bytefluent.com/vivify/

Y lo movemos a la carperta

~/.vim/colors

Lo pueden hacer desde terminal o desde nautilus

Editamos el rc de vim

sudo nano ~/.vimrc

buscamos "syntax on" y lo sustituimos por

syntax enable
colorscheme nombre_del_tema(sin .vim)

Lo guardamos y listo

3.Habilitamos los numeros

De nuevo

sudo nano ~/.vimrc

Colocamos

set number

Abajo de

set incsearch

Lo guardamos y listo

Leer más...

Ubuntu 12.10 beta 2 descargas

Ya casi tenemos en nuestras garras la versión final de Ubuntu 12.10 :D,mientras tanto podemos usar la mas reciente beta,la beta 2 para ver lo que se viene



 con esta nueva versión de ubuntu, aquí las descargas:

http://releases.ubuntu.com/12.10/ (Ubuntu Desktop and Server) 
http://cloud-images.ubuntu.com/releases/12.10/beta-2/ (Ubuntu Cloud Server) 
http://cdimage.ubuntu.com/netboot/12.10/ (Ubuntu Netboot) 
http://cdimage.ubuntu.com/ubuntu-core/releases/12.10/beta-2/ (Ubuntu Core) 
http://cdimage.ubuntu.com/kubuntu/releases/12.10/beta-2/ (Kubuntu) 
http://cdimage.ubuntu.com/kubuntu-active/releases/12.10/beta-2/ (Kubuntu Active) 
http://cdimage.ubuntu.com/lubuntu/releases/12.10/beta-2/ (Lubuntu) 
http://cdimage.ubuntu.com/edubuntu/releases/12.10/beta-2/ (Edubuntu DVD) 
http://cdimage.ubuntu.com/ubuntustudio/releases/12.10/beta-2/ (Ubuntu Studio) 
http://cdimage.ubuntu.com/xubuntu/releases/12.10/beta-2/ (Xubuntu) 


Las novedades mas importantes Linux kernel 3.5.4 y Python 3.2 ademas de Unity 6.6 y muchas cosas mas,dentro te poco tendremos la versión final y si quieren ya es recomendable instalar esta,y solo haremos un update cuando salga la final

Calendario

Leer más...

sábado, 29 de septiembre de 2012

Tip al conectarse por a wi-fi por terminal Linux


Este tutorial lo hago como un tip,por si usan Archlinux,Gentoo,Debian o cualquier distribucion que no tenga entorno de escritorio en algun momento,en la instalacion o al estar recien instalado.

No lo usen en ubuntu openSUSE o Fedora,si lo hacen es bajo su responsabilidad

Probado:Solo en Gentoo y Archlinux


Para conectarse a una red wifi primero necesitamos saber cuales están a la mano y para eso hacemos un escaneo con

               (interfaz)
iwlist wlan0 scan

o

iwlist scan

Pero nos tira muchos resultados,asi que como distinguir una red y conectarnos a ella,bueno yo les recomiendo hacer uso de las tuberias de unix

Primero listamos las redes por ESSID osea el nombre y lo mandamos a un archivo de texto

iwlist wlan0 scan | grep ESSID >> red.sh

Luego nos saldra esto si lo checamos con cat o less




Luego lo abrimos con nuestro editor

(joe)
(VI)
(vim)
(etc)


vim red.sh


Ahora dejamos nuestra red y le añadimos esto

#!/bin/bash

iwconfig wlan0 essid "Mi-red" 

# O con clave wep


iwconfig wlan0 essid "Mi-red" key "clave"


# y

sleep 5; # un poco de espera para que se establezca bien la conexión

exit 0;




Yo añadí dhcpcd para asignarme una ip,pero puede que sea mejor que lo hagan manualmente,dependiendo su tipo de conexión


Lo guardamos y le damos permisos de ejecución

chmod +x redes.sh
Y por ultimo solo ejecutamos
sudo ./redes.sh









 También puede que requieras ip


dhcpcd wlan0 


Y nos conectara al wifi



Eso es todo
Leer más...