Buscar aquí

17 agosto 2010

listar un archivo con números de línea

De vez en cuando, por algún afán de programación o algo talvez más rebuscado, se necesita listar un archivo indicando los números de línea. Buena, una opción es usar el comando cat con el cual clasicamente se usa para mostrar un archivo completo por consola, si le agregamos el parametro -n agrega los números de línea, mostrando algo como:

[catador@bagvapp test 05:53:44]$ cat -n cosa2
1 #!/usr/bin/perl -w
2
3 use strict;
4
5 use Getopt::Std;
6 my %opciones = ();
7 getopt('mh',\%opciones);
8 print $opciones{m} . " " . $opciones{h};

como siempre para más opciones usando el comando man.

06 agosto 2010

Que version de RedHat está instalada?

Suele pasar que al heredar una maquina no sabemos con claridad que version del SO esta instalada... bueno una forma fácil y más que simple es ver el contenido del archivo /etc/redhat-release. Asi con un:

cat /etc/redhat-release arrojará algo similar a esto:
Red Hat Enterprise Linux Server release 5.1 (Tikanga)

Lo simpatico de esto... es que se puede usar tambien con CentOS, arrojando algo asi:
CentOS release 5.4 (Final)

09 junio 2010

obtener la cantidad de segundos desde el 1-1-1970

Para obtener el número de segundos desde 1970 o epoch, en linux es bastante fácil, se debe:

date +%s

este número suele ser utilizado por algunas aplicaciones o utilizar http://www.epochconverter.com

29 abril 2010

Cómo tener acceso a internet a través de un dominio windows con proxy

Un problema común -en ambientes corporativos- donde se tiene un dominio windows, es cómo tener acceso a internet en los linux sin tener mayores problemas para pasar por un proxy ISA Server (de nombrarlo da escalofríos), pues cada vez que uno se conecta a una página debe ingresar el usuario y password válido. Una vez esta bien, pero después de la tercera vez, comienza a ser muy muy molesto.
He encontrado dos paquetes que ayudan a resolver esto:
- ntlmaps, basado en python y tiene la gran ventaja de no necesitar instalación. Para utilizar, se debe:
- descomprimir el archivo.
- configurar el archivo server.cfg
- modificar las opciones en PARENT_PROXY_SERVER con el nombre y puerto, por ejemplo, miisa:8080
- buscar la opción NT_DOMAIN y colocar el propio.
- buscar la opción USER e ingresar el usuario con el cual nos validaremos en el proxy, debe ser un usuario válido en el dominio.
- buscar la opción PASSWORD, si queremos que no pregunte por la password al arrancar el programa, sino, la dejamos en blanco para que la pregunte.
Con esto se tiene la configuración lista y ahora se debe ejecutar así:
cd /ruta/a/donde/se/descomprimio
./main.py

Ahora, si queremos usar en una sesión de linea de comando, debemos crear una variable de ambiente http_proxy y HTTP_PROXY -algunos programas buscan una u otra- de la siguiente forma:
export HTTP_PROXY="http://localhost:5865"
export http_proxy="http://localhost:5865"

Para configurar firefox u otro navegador, debemos ingresar que el proxy es localhost y el puerto 5865

- cntlm, este proxy esta hecho en C y es bastante más eficiente, pero requiere instalación, aunque está disponible en formato rpm. La gracia de instalarlo como rpm, es que queda como servicio y no es necesario ejecutarlo, cada vez que lo queramos usar, esto es bueno o malo... depende de cada uno.
Para configurarlo, requiere eso si de una "vuelta de carnero" extra... y para ello se debe seguir el configuration hints.

18 marzo 2010

Cómo borrar en vi hasta el final del archivo

Si se quiere borrar desde donde se esta en un archivo hasta el final de este, normalmente en vi tenemos dos opciones, mantener presionada la tecla d para que borre linea por linea o borrar por bloques, pero aún más fácil es utilizar dG con esto borrará hasta el final del archivo.

16 marzo 2010

En que linea estoy y cuantas lineas tiene el archivo?

Vi es un editor de texto que es especialmente bueno para manejar archivos grandes y en estos casos, necesitamos saber cosas sencillas... como saber en que línea se está parado... bien la respuesta es simple utilizando el comando:

Tecla Escape :.= esto mostrará en que línea se está parado, esto mostrará sólo un número en la esquina inferior izquierda, nada más.

Ahora si queremos saber cuantas líneas tiene el archivo usamos el comando

CRTL+G (tecla control + letra G) en modo escape.

con esto mostrara
- el nombre del archivo.
- cantidad de líneas
- porcentaje del archivo recorrido.

Para obtener el numero total de líneas del documento se puede ingresar el comando := donde veremos el número de líneas, nada más que un número, en la esquina inferior izquierda.

15 marzo 2010

Cómo depurar un script en bash

Muchas veces mientras se crea un script en bash, queremos saber si funciona correctamente o saber porque no esta funcionando como se espera y la solución más recurrente es que empezamos a colocar los echo $VARIABLES por todo el programa, después de solucionado, los quitamos y después al siguiente problema, volvemos a poner y etc...
Otra opción "más elegante" es utilizar el depurador de bash... que es agregar un "-x" en la primera línea del script, es decir nuestros script debieran partir con:

#!/bin/bash -x

en lugar de #!/bin/bash

Con esto mostrará mucha más información de cada línea y/o comando.

11 marzo 2010

Como obtener SOLO el tamaño de los archivos

Muchas veces se quiere mantener supervisado el tamaño de un archivo por alguna razón y normalmente uno comienza pensando en usar el resultado del comando ls, tomar la columna que corresponde al tamaño de los bytes y listo!.............. Sin embargo, existe una forma mucho más fácil! y es usando el comando stat (aquí está el man)

El uso es muy simple colocamos: stat -c%s ruta/al/archivo/que/queremos/supervisar y devolvera algo así 2134567 que es el tamaño del archivo.

22 enero 2010

Quien soy???????? en solaris :D

Para todos los pinguinos como yo, cuando olvidamos con que usuario estamos conectados, usamos el comando "whoami" y nos devuelve el usuario actual :)

Pero en Solaris como se hace? pues por defecto no esta el whoami y tiene algunas variantes interesantes.

Cómo sabemos con cúal usuario estamos conectado? utilizando el comando id y devuelve:

uid=530(katador) gid=530(katador)

uid es el user id, el nombre de usuario, y
gid es el grupo del usuario.

Ojo que tambien existe "who am i" todo como comando, pero devuelve el usuario logeado a la sesión y no necesariamente es el que estamos usando, pues me puedo conectar con el usuario juanito, pero despues hacer uno o mas "su -" y si en ese momento ejecuto "who am i" me dira que es el usuario juanito... por ello, mejor el comando "id" si queremos saber el usuario actual.

14 enero 2010

manejo de servicios en solaris

Existen dos comandos para estos temas, operaciones que en un linux se hacen con service, en solaris hay dos comandos:
- svcs lista los servicios del sistema
- svcadm se puede manipular los servicios, tal como habilitar, deshabilitar, reinicar, etc...