A medida que una tecnología crece, siempre tenemos el mismo problema, terminamos metiendo muchos elementos de un mismo tipo en un equipo. Y terminamos teniendo el mismo problema: si cambiamos algo de sitio, o un driver se carga antes que otro, estamos perdidos porque nada funcionará igual.
Preámbulo
El caso más claro es el de los discos duros, las placas base suelen tener un montón de puertos para conectar discos duros.… Leer artículo completo
Esta pequeña placa de apenas 24x14mm contiene un microcontrolador y chip WiFi a/b/g (esas de 2.4GHz) y una memoria. Además de algunos leds, una antena y un oscilador. Cuesta muy poco dinero (apenas unos 3€ comprándolo en algunas tiendas de España y mucho menos si se compra directamente a China). Y encima consume muy poco, alrededor de 0.5W a pleno rendimiento y muchísimo menos en alguno de sus modos de sueño y bajo consumo.… Leer artículo completo
Normalmente el control de los ventiladores que hace automáticamente el sistema está bien. Cuando la CPU se calienta mucho los ventiladores aumentan su velocidad y ésta disminuye cuando se enfrían. El objetivo es mantener el procesador a una temperatura estable y que no se rompan los componentes. Porque seguro que más de uno nos hemos cargado algún aparato cuando se ha sobrecalentado.
Cuando estamos haciendo un script, en ocasiones necesitamos la información muy masticada, para pasarla como parámetro a otro programa, para realizar operaciones con un dato en concreto, para introducirlo en una condición, etc.
Este es el caso de la IP de un dispositivo de red (la privada), o puede que la pública, depende de si tenemos conexión directa o no.
¿Par qué nos puede interesar?
Para compartir nuestra dirección con otros dispositivos de nuestra red, por ejemplo.… Leer artículo completo
Bash es una de las herramientas más potentes que tenemos a nuestro alcance, aunque no sólo de bash trata el artículo, sino de trucos para consola, one-liner como dirían muchos (aunque habrá algunos two-liners) que podemos utilizar y pueden hacernos la vida un poco más fácil:
Cadenas de texto
Trim
Es una herramienta que utilizaremos para recortar nuestra cadena basándonos en los a la ìzquierda y a la derecha, en este caso nos basaremos en los espacios, que es uno de sus usos más comunes (así podemos obtener la cadena limpia tanto por delante como por detrás.… Leer artículo completo
Puede que se nos haya presentado alguna vez la necesidad de saber la dirección de un dispositivo desde nuestro programa, y no es plan de ponernos a ejecutar ifconfig o algún programa parecido para hallar la dirección.
Podemos hablar con ioctl() una función destinada a definir y obtener información de dispositivos. Hay cientos de llamadas, aquí comentaremos la llamada SIOCGIFADDR cuya función es la que comentábamos, obtener la dirección de un interfaz de red.… Leer artículo completo
Nuestro software debe buscar archivos dentro de un directorio determinado, ya sea un archivo especial, una recopilación de datos del disco duro, una búsqueda de plugins, etc…
Hemos elegido lenguaje C para hacer esto, porque en bash podemos llamar a ls o find y apaga y vámonos.
Estas funciones, nos recordarán al uso de archivos con fopen() y fclose().
Para usar esta implementación, como veremos en el ejemplo, debemos incluir <sys/types.c> y <dirent.h> y, en principio, empezaremos con un ejemplo sencillo que lista los archivos del directorio actual (una vez tenemos el nombre y la ruta del archivo podemos hacer con él lo que queramos):
/* Función para devolver un error en caso de que ocurra */ void error(constchar*s); /* Función que hace algo con un archivo */ void procesoArchivo(char*archivo);
int main() { /* Con un puntero a DIR abriremos el directorio */ DIR *dir; /* en *ent habrá información sobre el archivo que se está "sacando" a cada momento */ struct dirent *ent;
/* Empezaremos a leer en el directorio actual */ dir = opendir (".");
/* Miramos que no haya error */ if(dir == NULL) error("No puedo abrir el directorio");
/* Una vez nos aseguramos de que no hay error, ¡vamos a jugar!
Si habéis adquirido este adaptador Wifi USB, veréis que Linux, al menos hasta la fecha, no lo detecta, es más, pasa de nosotros, y aunque carguemos el driver a mano con modprobe; seguirá sin pasar.
Afortunadamente, no es nada difícil, y es algo que me hace estar un poco más feliz por utilizar software libre, y es que si el driver no reconoce el dispositivo como suyo, voy a presentárselo.
A veces, mientras se está desarrollando un pequeño programa en C en el que hay entradas del usuario por teclado, hay veces que parece que se pulsan teclas solas, esto es debido a una entrada de teclado anterior que no ha llegado a volcarse entera en nuestras variables. Un ejemplo en cuestión lo tenéis aquí:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
#include <stdlib.h> #include <stdio.h>
#define MAX_NOMBRE 128
int main(int argc,char*argv[]) { char nombre[MAX_NOMBRE]; int dia, mes, year;
printf("Introduce fecha de finalización (dd/mm/YYYY): "); scanf("%d/%d/%d",&dia,&mes,&year); printf("Nombre de la tarea: "); fgets(nombre, MAX_NOMBRE, stdin);
En un primer momento, cuando introducimos la fecha, tenemos que introducir «12/12/2010» por ejemplo y luego pulsar enter para que scanf() pueda finalizar, aunque esa pulsación de enter se queda almacenada en el buffer de teclado, siendo lo único que hay en el buffer en este momento.… Leer artículo completo
Si te ha gustado el sitio, te ha resultado útil o simplemente quieres colaborar con el sitio para que siga compartiendo contenidos, invítame a un café, una pizza, una ensalada, o lo que se te ocurra.Te lo agradeceré eternamente :)
¡Atención! Este sitio utiliza cookies propias y de terceros para mejorar la experiencia de usuario, Si continúa la navegación en el sitio, asumo que estás de acuerdo con esto, aunque siempre puedes desactivar las cookies en tu navegador. AceptarLeer más
Últimos comentarios