viernes, 12 de junio de 2009

Quitar los ^M de los archivos

Obtenido de http://www.lsi.upc.edu/lclsi/FAQ/HTMLs/UNIX/SP/comandos/CntrlM_FichDOS.html

Al pasar un fichero de DOS a Unix pueden quedar caracteres ocultos que podemos no desear. Para quitarlo solo es necesario:

    $ dos2unix fichero_entrada fichero_salida

Si solo se desea imprimirlo

    $ dos2unix fichero |lpr -Pimpresora

Encontrar el número de serie de dispositivos en Linux/Windows

Encontrar el número de serie del disco duro y de la placa base en Windows

En esta página http://www.rgagnon.com/javadetails/java-0580.html aparece esta información. Utiliza un visual basic script que lo genera al momento en un archivo temporal.

Motherboard serial number

import java.io.File;
import java.io.FileWriter;
import java.io.BufferedReader;
import java.io.InputStreamReader;

public class MiscUtils {
private MiscUtils() { }

public static String getMotherboardSN() {
String result = "";
try {
File file = File.createTempFile("realhowto",".vbs");
file.deleteOnExit();
FileWriter fw = new java.io.FileWriter(file);

String vbs =
"Set objWMIService = GetObject(\"winmgmts:\\\\.\\root\\cimv2\")\n"
+ "Set colItems = objWMIService.ExecQuery _ \n"
+ " (\"Select * from Win32_BaseBoard\") \n"
+ "For Each objItem in colItems \n"
+ " Wscript.Echo objItem.SerialNumber \n"
+ " exit for ' do the first cpu only! \n"
+ "Next \n";

fw.write(vbs);
fw.close();
Process p = Runtime.getRuntime().exec("cscript //NoLogo " + file.getPath());
BufferedReader input =
new BufferedReader
(new InputStreamReader(p.getInputStream()));
String line;
while ((line = input.readLine()) != null) {
result += line;
}
input.close();
}
catch(Exception e){
e.printStackTrace();
}
return result.trim();
}

public static void main(String[] args){
String cpuId = MiscUtils.getMotherboardSN();
javax.swing.JOptionPane.showConfirmDialog((java.awt.Component)
null, cpuId, "Motherboard serial number",
javax.swing.JOptionPane.DEFAULT_OPTION);
}
}


Hard disk serial number
import java.io.File;
import java.io.FileWriter;
import java.io.BufferedReader;
import java.io.InputStreamReader;

public class DiskUtils {
private DiskUtils() { }

public static String getSerialNumber(String drive) {
String result = "";
try {
File file = File.createTempFile("realhowto",".vbs");
file.deleteOnExit();
FileWriter fw = new java.io.FileWriter(file);

String vbs = "Set objFSO = CreateObject(\"Scripting.FileSystemObject\")\n"
+"Set colDrives = objFSO.Drives\n"
+"Set objDrive = colDrives.item(\"" + drive + "\")\n"
+"Wscript.Echo objDrive.SerialNumber"; // see note
fw.write(vbs);
fw.close();
Process p = Runtime.getRuntime().exec("cscript //NoLogo " + file.getPath());
BufferedReader input =
new BufferedReader
(new InputStreamReader(p.getInputStream()));
String line;
while ((line = input.readLine()) != null) {
result += line;
}
input.close();
}
catch(Exception e){
e.printStackTrace();
}
return result.trim();
}

public static void main(String[] args){
String sn = DiskUtils.getSerialNumber("C");
javax.swing.JOptionPane.showConfirmDialog((java.awt.Component)
null, sn, "Serial Number of C:",
javax.swing.JOptionPane.DEFAULT_OPTION);
}
}


Encontrar el número de serie del disco duro y de la placa base en Linux

Sin permiso de superusuario

Con el comando lshal, hay que encontrar el número de serie de la placa base entre los parámetros que te devuelve. Aunque hay que instalar el paquete hal con el siguiente comando:

sudo apt-get install hal


Con permiso de superusuario

El número de serie del disco duro se encuentra con el siguiente comando:

sudo /sbin/hdparm -i /dev/sda1