Combinación teclas | Signo | Descripción | |
Alt+0151 | — | Raya | |
Alt+0150 | – | Menos | |
(con tecla propia) | - | Guion | |
Alt+0191 | ¿ | Interrogación de apertura | |
Alt+0161 | ¡ | Exclamación de apertura | |
Alt+164 | ñ | (ñ, con tecla propia en teclado español) | |
Alt+165 | Ñ | (Ñ, con tecla propia en teclado español) | |
Ctrl+Mayús+(espacio) | Espacio fijo (entre dos palabras) | ||
Ctrl+Mayús+- | - | Guion fijo (entre dos palabras) | |
Alt+174 | « | Comillas latinas o españolas de apertura | |
Alt+175 | » | Comillas latinas o españolas de cierre | |
Alt+0147 | “ | Comillas altas o inglesas de apertura | |
Alt+0148 | ” | Comillas altas o inglesas de cierre | |
Alt+0145 | ' | Comillas simples de apertura | |
Alt+0146 | ' | Comillas simples de cierre | |
Alt+0133 | ... | Puntos suspensivos | |
Alt+166 | ª | Ordinal femenino voladita | |
Alt+167 | º | Ordinal masculino voladita | |
Alt+248 | ° | Grado | |
Alt+0128 | € | Euro | |
Alt+0162 | ¢ | Centavo | |
Alt+0163 | £ | Libra esterlina | |
Alt+171 | 1/2 | Un medio | |
Alt+172 | 1/4 | Un cuarto | |
Alt+190 | 3/4 | Tres cuartos | |
Alt+0169 | © | Símbolo de copyright | |
Alt+0174 | ® | Símbolo de marca registrada | |
Alt+0153 | ™ | Símbolo de marca | |
Alt+0167 | § | Párrafo | |
Alt+0182 | ¶ | Calderón | |
Alt+0134 | † | Cruz | |
Alt+0135 | ‡ | Cruz doble | |
Alt+0177 | ± | Más menos | |
Alt+126 | ~ | Tilde o virgulilla | |
Alt+486 | µ | Micra | |
Alt+0759 | ÷ | Dividido por | |
Alt+249 | · | Punto centrado | |
Alt+ 64 | @ | Arroba | |
Alt+0149 | • | Topo (para listas) | |
Alt+0216 | Ø | O barrada | |
Alt+0137 | ‰ | Por mil | |
from: http://www.rlozano.com/consulta/14/14.html |
29 de diciembre de 2009
Caracteres del teclado
Tutorial sobre perl (...en construcción)
El lenguaje perl esta especialmente indicado para el manejo de ficheros y la depuración de texto. Según me ha comentado una mogo que está ahora progrmando con él tiene unas expresioner regulares muy potentes y sencillas.
... ya veremos.
COMADOS Y ESTRUCTURAS BÁSICAS DEL PERL
1) Para confirmar si esta instalado el intérprete perl:
# perl -v
This is perl, v5.10.0 built for i486-linux-gnu-thread-multi
Copyright 1987-2007, Larry Wall
This is perl, v5.10.0 built for i486-linux-gnu-thread-multi
Copyright 1987-2007, Larry Wall
Perl may be copied only under the terms of either the Artistic License or the GNU General Public License, which may be found in the Perl 5 source kit.
Complete documentation for Perl, including FAQ lists, should be found on this system using "man perl" or "perldoc perl". If you have access to the Internet, point your browser at http://www.perl.org/, the Perl Home Page.
2) Para ver la ruta de perl:
#which perl
/usr/bin/perl
los scripts de perl deben comenzar indicando la ruta del interprete:
#!/usr/bin/perl
#!/usr/bin/perl
3) Variables en perl:
- Escalares "$":
- $NUM = 4;
- $TEXT = "texto";
- Arrays "@":
- @NUMEROS = (1,2,3,4,5);
- @DIAS = ("lunes" , "martes" , "miercoles");
- Hash "%":
- %DIAS = ( l =>; "lunes" , m =>; "martes" , mi =>; "miercoles"
4) Argumentos en perl:
./perlscript.pl a b c
$ARGV [0] = a
$ARGV [1] = b
$ARGV [2] = c
$#ARGV = 2; indica el indice del último argumento.
5) condicional "if" , "else", "elsif":
#!/usr/bin/perl
if ($VAR == 10) {
print "Es igual a 10";
}
if ($VAR > 10) {
if ($VAR == 10) {
print "Es igual a 10";
}
if ($VAR > 10) {
print "Mayor de 10\n";
}
if ($VAR > 20){
if ($VAR > 20){
print "Mayor de 20\n";
}
if ($VAR > 30){
print "Mayor de 30\n";
}
else {
print "Menor de 10";
}
Formas resumidas de if:
if($VAR > 10) print "Mayor de 10";
ó
print "Mayor de 10" if($VAR > 10);
6) Condicional "unless"
#!/usr/bin/perl
print "Hola" unless ($NOHOLA = 1);
7) Bucle "while":
#!/usr/bin/perl
$T = 0;
$T = 0;
while ($T < 5) {
print "Hola 5 veces\n";
$T = $T + 1;
}
8) Bucle "until":
#!/usr/bin/perl
$T = 1;
$T = 1;
until ($T > 5) {
print "Hola 5 veces\n";
$T = $T + 1;
}
9) Bucle "for":
#!/usr/bin/perl
for ($T = 0 ; $T < 5 ; $T = $T + 1){
for ($T = 0 ; $T < 5 ; $T = $T + 1){
print "Hola 5 veces\n";
}
10) Bucle "foreach":
#!/usr/bin/perl
@SEMANA=("lunes" , "martes" , "..." , "y domingo");
foreach $DIA (@SEMANA) {
print "$DIA\n";
}
11) Abriendo archivos:
open (FILE, "file.txt"); #en modo lectura.
open (FILE, ">file.txt"); #en modo escritura.
open (FILE, ">>file.txt"); #en modo actualización.
open (FILE, ">file.txt") or print "Sin acceso al archivo";
close (FILE);
12) Escribiendo en archivos (open, print, close):
#!/usr/bin/perl
open (FILE, ">>file.txt") or die "Privilegios insuficentes\n";
print FILE "Texto añadido al archivo file.txt";
close (FILE);
13) Leyendo archivos
Podemos copiar el contenido de un archivo a una variable array, cada línea es un elemento de la matriz:
#!/usr/bin/perl
open (FILE, "file.txt");
@VAR = <FILE>;
close (FILE);
print @VAR;
Haciendo un bucle con las filas del archivo:
#!/usr/bin/perl
open (FILE, "file.txt");
while ($LINEA = <FILE>) {
print $LINEA;
}
close (FILE);
while ($LINEA = <FILE>
print $LINEA;
}
close (FILE);
14) Quitar espacios en blaco a avariable: =~ s/ //g
#!/usr/bin/perl
$FRASE = "Frase con esapacios";
print "$FRASE\n";
$FRASE =~ s/ //g;
print "$FRASE\n";
result:
Frase con esapacios
Fraseconesapacios
15) Expresiones regulares en perl:
Pattern |
Matches |
^A |
"A" at the beginning of a line |
A$ |
"A" at the end of a line |
A^ |
"A^" anywhere on a line |
$A |
"$A" anywhere on a line |
^^ |
"^" at the beginning of a line |
$$ |
"$" at the end of a line |
Regular Expression |
Matches |
[] |
The characters "[]" |
[0] |
The character "0" |
[0-9] |
Any number |
[^0-9] |
Any character other than a number |
[-0-9] |
Any number or a "-" |
[0-9-] |
Any number or a "-" |
[^-0-9] |
Any character except a number or a "-" |
[]0-9] |
Any number or a "]" |
[0-9]] |
Any number followed by a "]" |
[0-9-z] |
Any number, |
or any character between "9" and "z". |
|
[0-9\-a\]] |
Any number, or |
a "-", a "a", or a "]" |
Regular Expression |
Matches |
_ |
|
* |
Any line with an asterisk |
\* |
Any line with an asterisk |
\\ |
Any line with a backslash |
^* |
Any line starting with an asterisk |
^A* |
Any line |
^A\* |
Any line starting with an "A*" |
^AA* |
Any line if it starts with one "A" |
^AA*B |
Any line with one or more "A"'s followed by a "B" |
^A\{4,8\}B |
Any line starting with 4, 5, 6, 7 or 8 "A"'s |
followed by a "B" |
|
^A\{4,\}B |
Any line starting with 4 or more "A"'s |
followed by a "B" |
|
^A\{4\}B |
Any line starting with "AAAAB" |
\{4,8\} |
Any line with "{4,8}" |
A{4,8} |
Any line with "A{4,8}" |
Regular Expression |
Class |
Type |
Meaning |
_ |
|||
. |
all |
Character Set |
A single character (except newline) |
^ |
all |
Anchor |
Beginning of line |
$ |
all |
Anchor |
End of line |
[...] |
all |
Character Set |
Range of characters |
* |
all |
Modifier |
zero or more duplicates |
\< |
Basic |
Anchor |
Beginning of word |
\> |
Basic |
Anchor |
End of word |
\(..\) |
Basic |
Backreference |
Remembers pattern |
\1..\9 |
Basic |
Reference |
Recalls pattern |
_+ |
Extended |
Modifier |
One or more duplicates |
? |
Extended |
Modifier |
Zero or one duplicate |
\{M,N\} |
Extended |
Modifier |
M to N Duplicates |
(...|...) |
Extended |
Anchor |
Shows alteration |
_ |
|||
\(...\|...\) |
EMACS |
Anchor |
Shows alteration |
\w |
EMACS |
Character set |
Matches a letter in a word |
\W |
EMACS |
Character set |
Opposite of \w |
Regular Expression |
||
Class |
Type |
Meaning |
\t |
Character Set |
tab |
\n |
Character Set |
newline |
\r |
Character Set |
return |
\f |
Character Set |
form |
\a |
Character Set |
alarm |
\e |
Character Set |
escape |
\033 |
Character Set |
octal |
\x1B |
Character Set |
hex |
\c[ |
Character Set |
control |
\l |
Character Set |
lowercase |
\u |
Character Set |
uppercase |
\L |
Character Set |
lowercase |
\U |
Character Set |
uppercase |
\E |
Character Set |
end |
\Q |
Character Set |
quote |
\w |
Character Set |
Match a "word" character |
\W |
Character Set |
Match a non-word character |
\s |
Character Set |
Match a whitespace character |
\S |
Character Set |
Match a non-whitespace character |
\d |
Character Set |
Match a digit character |
\D |
Character Set |
Match a non-digit character |
\b |
Anchor |
Match a word boundary |
\B |
Anchor |
Match a non-(word boundary) |
\A |
Anchor |
Match only at beginning of string |
\Z |
Anchor |
Match only at EOS, or before newline |
\z |
Anchor |
Match only at end of string |
\G |
Anchor |
Match only where previous m//g left off |
http://www.grymoire.com/Unix/Regular.html
http://www.linuxforums.org/articles/learn-perl-in-10-easy-lessons-lesson-1_120.html
Cuidado ya que hay algunos errores en el código de los ejemplos, leer comentarios.
http://www.eui.upm.es/Servicios/CC/Chuletas/Perl/index.html
Tutorial de la UPM.
http://www.htmlpoint.com/perl/index.html
Cuidado ya que hay algunos errores en el código de los ejemplos, leer comentarios.
http://www.eui.upm.es/Servicios/CC/Chuletas/Perl/index.html
Tutorial de la UPM.
http://www.htmlpoint.com/perl/index.html
24 de diciembre de 2009
boot floopy con grub
Script que crea un floopy de arranque del sistema operativo:
Testado en debian lenny.
#!/bin/bash
echo
echo ---- debian pp bot creando un floppy boot con actual /boot/grub/menu.lst ---
read -p "Pon un diskuete en la diskuetera ... ya ???"
echo
echo pues vaaaamos....
echo
mkfs -t ext2 /dev/fd0
mount -t ext2 /dev/fd0 /media/floppy0
echo
echo Instalando grub ...
echo
grub-install --root-directory=/media/floppy0 fd0
cp /boot/grub/menu.lst /media/floppy0/boot/grub/menu.lst
umount /media/floppy0
echo
echo ... ok!.. ya esta!!!
echo un placer, debian pp bot agent.
echo
echo ---- debian pp bot creando un floppy boot con actual /boot/grub/menu.lst ---
read -p "Pon un diskuete en la diskuetera ... ya ???"
echo
echo pues vaaaamos....
echo
mkfs -t ext2 /dev/fd0
mount -t ext2 /dev/fd0 /media/floppy0
echo
echo Instalando grub ...
echo
grub-install --root-directory=/media/floppy0 fd0
cp /boot/grub/menu.lst /media/floppy0/boot/grub/menu.lst
umount /media/floppy0
echo
echo ... ok!.. ya esta!!!
echo un placer, debian pp bot agent.
echo
Testado en debian lenny.
23 de diciembre de 2009
limitar el uso de la cpu
El el micro servidor micra, hace un poco de todo pero en certas tareas prefiero que tarde un poquito mas y no consuma mucha cpu que bastante justito.
Esto lo podemos hacer con cpulimit
Tenemos el paquete para debian:
Uso:
Ojo para limitar el uso de cpu de scripts hay que hacerlo con el PID.
Al cpulimit he tenido varios problemas ya que NO se pude puede poner la ruta de ejecutables scripts, hay que usar los PID, y tambien me falla cuando se limita una aplicación que se ejecuta varias veces con diferentes PID que van cambiando.
Tengo varios scripts que se ejecutan en background de forma continuada en micra y quiero limitarles la CPU maxima que pueden usar.
Creo un nuevo cliente que ejecutara los daemons scripts.
Le asigno privilegios con sudo.
Limito su uso de cpu con ulimit.
Ulimit solo permitie limitar el tiempo total de uso de la CPU no el % de uso puntual.
Esto lo podemos hacer con cpulimit
Tenemos el paquete para debian:
#aptitude install cpulimit
Uso:
cpulimit –e NOMBREAPLICACION –limit 50
cpulimit -p 1234 -l 50
cpulimit -P /usr/bin/programa -l 50
Ojo para limitar el uso de cpu de scripts hay que hacerlo con el PID.
Al cpulimit he tenido varios problemas ya que NO se pude puede poner la ruta de ejecutables scripts, hay que usar los PID, y tambien me falla cuando se limita una aplicación que se ejecuta varias veces con diferentes PID que van cambiando.
Tengo varios scripts que se ejecutan en background de forma continuada en micra y quiero limitarles la CPU maxima que pueden usar.
Creo un nuevo cliente que ejecutara los daemons scripts.
Le asigno privilegios con sudo.
Limito su uso de cpu con ulimit.
Ulimit solo permitie limitar el tiempo total de uso de la CPU no el % de uso puntual.
13 de diciembre de 2009
rtorrent
Comados básicos:
backspace | Add torrent using an URL or file path. Use tab to view directory content and do auto-complete. Also, wildcards can be used. For example: ~/torrent/* |
return | Same as backspace, except the torrent remains inactive. (Use ^s to activate) |
^o | Set new download directory for selected torrent. Only works if torrent has not yet been activated. |
^s | Start download. Runs hash first unless already done. |
^d | Stop an active download, or remove a stopped download. |
^k | Stop and close the files of an active download. |
^r | Initiate hash check of torrent. Without starting to download/upload. |
a/s/d | Increase the upload throttle by 1/5/50 KB. |
z/x/c | Decrease the upload throttle by 1/5/50 KB. |
A/S/D | Increase the download throttle by 1/5/50 KB. |
Z/X/C | Decrease the download throttle by 1/5/50 KB. |
right | Switch to Download View. |
^r | Initiate hash check of torrent. |
+/- | Change priority of torrent. |
l | View log. Exit by pressing the space-bar. |
1 | Show all downloads |
2 | Show all downloads, ordered by name |
3 | Show started downloads |
4 | Show stopped downloads |
5 | Show complete downloads |
6 | Show incomplete downloads |
7 | Show hashing downloads |
8 | Show seeding downloads |
Para salir de rtorrent: crtl + q
Referencias:
11 de diciembre de 2009
Shellinabox en debian
Shellinabox permite un acceso desde cualquier nevegador web a una consola linux.
http://code.google.com/p/shellinabox/
funciona en el puerto 4200
Mediante un proxi con apache2 se puede hcer que funciones en el 443: https
Pero en Debian no funciona SSL !!!
http://code.google.com/p/shellinabox/issues/detail?id=23
Y por lo que parece es un bug todavia sin resover
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=535905
http://code.google.com/p/shellinabox/
funciona en el puerto 4200
Mediante un proxi con apache2 se puede hcer que funciones en el 443: https
Pero en Debian no funciona SSL !!!
http://code.google.com/p/shellinabox/issues/detail?id=23
Y por lo que parece es un bug todavia sin resover
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=535905
Suscribirse a:
Entradas (Atom)