echo -e "\n linea 1 \n linea 2 \n" > salida.txtSe usa el -e y el salto de línea se reprenta con \n, y todo va entrecomillado.
BASH : utilizar echo con saltos de línea
Para poder insertar saltos de línea con el comando echo en linux se usa la siguiente sintaxis :
TVEenLinux : la television en Opensuse
Para ver la televisión
0) AÑadimos el repositorio de packman para el mplayer:
sudo zypper ar -f http://packman.inode.at/suse/openSUSE_12.2/ repo-packman1) Instalamos las dependencias:
sudo zypper in mplayer rtmpdump curl
2) rtmpdump no está en los repositorio habituales, usamos :
http://software.opensuse.org/package/rtmpdump?search_term=rtmpdump
3) Descargar el archivo de:
wget http://www.tvenlinux.com/TVenLinux.sh4) Darle permisos de ejecución:
chmod u+x TVenLinux.sh
Más información en :http://www.tvenlinux.com/
HP obtener el serial number en linux (Suse)
Para obtener el serial numer de productos HP en linux mediante línea de comandos:
Para el servidor (en Suse) :
sudo dmidecode | egrep -i "serial|product"
Para una cabina de discos y la controladora:
hpacucli ctrl all show
ORACLE: ejecutar procedimiento y paquetes con el usuario actual
Si creamos un procedimiento o paquete con un usuario (UsuarioDueno), y le damos permisos de ejecución a otros (UsuarioAutorizado), el procedimiento se ejecuta por defecto como si lo ejecutase el UsuarioDueño.
Ej, supongamos que tenemos un procedimiento que cuenta las tablas del usuario ( select count(*) from user_tables ) y nos devuelve un número:
Y le damos permisos de ejecucion a UsuarioAutorizado:
Si ejecutamos el procedimiento:
En Oracle, hay dos clausulas para controlar el comportamiento:
AUTHID CURRENT_USER : ejecutar el paquete/función como si fueses el usuario que lo lanza.
AUTHID DEFINER (valor por defecto): ejecutar el procedimiento con los permisos del creador de la función.
Nosotros en este caso tenemos que decir que se ejecute como AUTHID CURRENT_USER. Para ello definimos de nuevo la función, añadiendo:
Si estamos con un paquete, hacemos lo mismo y lo definimos justo antes del "as":
Ej, supongamos que tenemos un procedimiento que cuenta las tablas del usuario ( select count(*) from user_tables ) y nos devuelve un número:
create or replace function cuenta return integer is
salida integer;
begin
execute immediate 'select count(*) from user_tables' into salida;
return salida;
end;
/
Y le damos permisos de ejecucion a UsuarioAutorizado:
grant execute on cuenta to UsuarioAutorizado;
Si ejecutamos el procedimiento:
set serveroutput on;Tanto si lo hacemos como UsuarioDueno como UsuarioAutorizado nos saldrá el mismo número de tablas. Esto es a que siempre se accede a UsuarioDueno.user_tables, cuando lo que en realidad queremos es que se acceda a UsuarioAutorizado, que es nuestro usuario actual (current user) y el usuario que está ejecutando.
declare
tablas integer;
begin
tablas := cuenta();
dbms_output.put_line(tablas);
end;
/
En Oracle, hay dos clausulas para controlar el comportamiento:
AUTHID CURRENT_USER : ejecutar el paquete/función como si fueses el usuario que lo lanza.
AUTHID DEFINER (valor por defecto): ejecutar el procedimiento con los permisos del creador de la función.
Nosotros en este caso tenemos que decir que se ejecute como AUTHID CURRENT_USER. Para ello definimos de nuevo la función, añadiendo:
create or replace function cuenta return integer AUTHID CURRENT_USER is
salida integer;
begin
execute immediate 'select count(*) from user_tables' into salida;
return salida;
end;
/
Si estamos con un paquete, hacemos lo mismo y lo definimos justo antes del "as":
create or replace package contador AUTHID CURRENT_USER asCon esto conseguirmos que un procedimiento se ejecute con otro usuario, el usuario actual, el que ejecuta programa.
FUNCTION cuenta RETURN integer;
end contador
/
Gnome term : cambiar título de la ventana dinámicamente
Para cambiar dinámicamente el título del teminal de gnome, ejecutaremos el siguiente comando:
xtermset -title 'Nuevo titulo'Este comando también permite modificar otras propiedades como el color de la letra, el fondo....
Linux: refrescar la caché de fuentes
Para refrescar la lista de fuentes del sistema ejecutamos
fc-cache -v -f
fc-cache -v -f
Oracle 10G : Pivotar una tabla
Para simular la función PIVOT (introducida en oracle 11), podemos simularla en Oracle 10g con lo siguiente
Partimos de la tabla con la estructura:
( category , year, valor )
Year es el valor que queremos pivotar y tiene valores entre 2003 y 2010. Estos valores habrá que ponerlos a mano
SELECT
category,
MAX(DECODE(year,'2003',valor,NULL)) a2003
,MAX(DECODE(year,'2004',valor,NULL)) a2004
,MAX(DECODE(year,'2005',valor,NULL)) a2005
,MAX(DECODE(year,'2006',valor,NULL)) a2006
,MAX(DECODE(year,'2007',valor,NULL)) a2007
,MAX(DECODE(year,'2008',valor,NULL)) a2008
,MAX(DECODE(year,'2009',valor,NULL)) a2009
,MAX(DECODE(year,'2010',valor,NULL)) a2010
FROM tabla
where year >= 2003
group by category;
obtendremos una tabla como
category,a2003,a2004,a2005,a2006,a2007,a2008,a2009,a2010
Partimos de la tabla con la estructura:
( category , year, valor )
Year es el valor que queremos pivotar y tiene valores entre 2003 y 2010. Estos valores habrá que ponerlos a mano
SELECT
category,
MAX(DECODE(year,'2003',valor,NULL)) a2003
,MAX(DECODE(year,'2004',valor,NULL)) a2004
,MAX(DECODE(year,'2005',valor,NULL)) a2005
,MAX(DECODE(year,'2006',valor,NULL)) a2006
,MAX(DECODE(year,'2007',valor,NULL)) a2007
,MAX(DECODE(year,'2008',valor,NULL)) a2008
,MAX(DECODE(year,'2009',valor,NULL)) a2009
,MAX(DECODE(year,'2010',valor,NULL)) a2010
FROM tabla
where year >= 2003
group by category;
obtendremos una tabla como
category,a2003,a2004,a2005,a2006,a2007,a2008,a2009,a2010
Montar imagen ISO en linux
Para montar un archivo iso podemos usar el siguiente comando.
1) Creamos un directorio donde se montará la ISO o bien usaremos uno existente:
mdkir /mnt/iso
2) Montamos la imagen
sudo mount -o loop "/media/disk/Oracle DB for Linux v.10.2.0.1.0.iso" -t iso9660 -o loop=/dev/loop0 /mnt/iso
en este caso estamos montando el archivo "/media/disk/Oracle DB for Linux v.10.2.0.1.0.iso", lleva comillas porque es un nombre con espacios. La imagen ISO se montará en el directorio /mnt/iso
El caso mas sencillo sería:
mount -o loop imagen.iso /directorio_donde_se_montara
1) Creamos un directorio donde se montará la ISO o bien usaremos uno existente:
mdkir /mnt/iso
2) Montamos la imagen
sudo mount -o loop "/media/disk/Oracle DB for Linux v.10.2.0.1.0.iso" -t iso9660 -o loop=/dev/loop0 /mnt/iso
en este caso estamos montando el archivo "/media/disk/Oracle DB for Linux v.10.2.0.1.0.iso", lleva comillas porque es un nombre con espacios. La imagen ISO se montará en el directorio /mnt/iso
El caso mas sencillo sería:
mount -o loop imagen.iso /directorio_donde_se_montara
BASH: script para subir archivos por FTP con bash
El siguiente script de shell , recibe un sólo argumento que es el nombre de un archivo. Si el archivo existe, intenta conectarse mediante ftp al servidor, y subirlo.
Es útil para tareas de automatización
#!/bin/bash
# Copyright (C) 2012 dieguz2
# License: GNU GPL v2
# http://dieguz2.blogspot.com/
# Script: subirftp.sh
# Este script recibe como argumento el nombre de un archivo y lo sube al servidor ftp
SERVER=192.168.1.1 #Ip del servidor
USER=ftpuser # usuario
PASSWD=password #password
#comprobar el numero de argumentos
if [ $# -ne 1 ]; then
echo "Argumento incorrectos:e ejecuta $0 archivoasubir"
exit 2;
fi
#comprobar si existe el archivo
if [ ! -e $1 ]; then
echo "El archivo $1 no existe"
exit 2;
fi
echo "Subiendo $1"
#automatización FTP
ftp -inv $SERVER << EOF
user $USER $PASSWD
binary
put $1
bye
EOF
exit 0;
Ubuntu : Activar Alt+tab para cambiar de ventana
Para activar Alt + Tabulador en Ubuntu 10.4 (puede desactivarse tras tocar compiz o desactivar efectos. Esta combinación de teclas sirve para cambiar entre ventanas.
1) Alt + F2 o desde un terminal lanzamos:
3) Ponemos el valor
1) Alt + F2 o desde un terminal lanzamos:
gconf-editor2) Buscamos la carpeta app/metacity/global_keybinding y editamos la clave cycle_windows haciendo doble click sobre ella.
3) Ponemos el valor
Tab
Suscribirse a:
Entradas (Atom)
-
Está es un pequeño tutorial / guia que explica cómo crear un applet en Netbeans ( corriendo en Linux Opensuse). Para programar un applet en ...
-
Para poder insertar saltos de línea con el comando echo en linux se usa la siguiente sintaxis : echo -e "\n linea 1 \n linea 2 \n...
-
Para obtener una lista con los objetos bloqueados ejecucutados: select substr(a.os_user_name,1,8) "OS User" , substr(b.object_na...