Aquí va la de programas y comandos. Aviso: no es ni mucho menos una lista de "imprescindibles de Linux Linux Linux Linux", sino sólo unos ejemplos que a mí me vinieron bien en una ocasión, los necesité de nuevo en otra y ya no los pude recordar. Así que, para evitar una tercera, terminé apuntándolos.
Instalar un paquete de Backports:
aptitude -t squeeze-backports install PAQUETE
--Para Debian y derivadas. Uso los backports de Pascuas a Ramos, así que, cuando tengo que instalar un paquete de ellos, nunca recuerdo cuál es la sintaxis.
Naturalmente, hay que sustituir "squeeze-backports" si es necesario.
GENERAR ISO
genisoimage [-J] -o archivo.iso
GENERAR ISO A PARTIR DE CD/DVD
dd if=/dev/cdrom of=archivo.iso
MONTAR ISO (como root)
mount -o loop iso puntodemontaje
--Comandos para gestionar ISO.
FLVs problemáticos:
ffmpeg -i foo.flv -acodec copy -vcodec copy foo.mp4
--Un truco que puede funcionar si te has descargado un FLV que "no se deja" reproducir o editar.
AVI to GIF
mplayer video.avi -vo gif89a -ao null -ac null -benchmark -frames 999
--MPlayer/Mencoder es uno de los dioses a los que adoro con mayor devoción. Es un programa ENORME donde los haya. Tiene montones de trucos; éste sirve para, disponiendo del segmento de un vídeo, convertirlo a GIF animado.
ZIPS CORRUPTOS/INCOMPLETOS
zip -F foo.zip --out bar.zip
zip -FF foo.zip --out bar.zip
RARS CORRUPTOS/INCOMPLETOS
unrar e -kb foo.rar
--Aquí el Cabrero se tirará de los pocos pelos que le quedan. ¡Insensatos, un truco para el programa privativo de Linux (Linux Linux) por excelencia junto con Adobe Flash, el jodido RAR! Pues sí, con el RAR pasa algo parecido que con el puto WhatsApp: tanta gente lo usa que no tienes más remedio que pasar por el aro. El truco nos permite "disfrutar" de parte del contenido del ZIP/RAR aunque esté corrupto o no se haya descargado en su totalidad.
awk '{print $2 "texto" $3}'
Un recordatorio de la sintaxis más básica de AWK, un lenguaje diseñado para procesar archivos de texto. Concretamente, lo que hace ese comando es devolver la segunda y tercera columna de la entrada, con el "texto" entre medias.
AWK es muy útil, por ejemplo, para trabajar con logs. Qué se yo, tienes un log del servidor web Apache y quieres un listado de a qué horas se ha conectado la IP 1.2.3.4. Supongamos que, en cada entrada del log de Apache, la IP es la segunda columna y la hora, la séptima. Bastaría con engendrar este comando: grep "1.2.3.4" /var/log/apache2/access.log | awk '{"IP " $2 " Hora " $7}'
sed "s/expresión_regular/sustitución/gi"
SED es, según la Wikipedia, un editor de flujo. Es muy potente y también muy poco intuitivo. Merece la pena, sin embargo, dedicar tiempo a su aprendizaje (cosa que yo no he hecho). El comando de ahí arriba es el-uso-de-sed-que-todo-el-mundo-hace: sustituir una cadena de texto por otra, en un archivo. Básicamente, lo mismo que Edición > Reemplazar en un editor gráfico. La "s/" es de sustitución; la "g" indica que sustituya todas las expresiones del archivo (si no, se detendría en la primera) y la "i" considera iguales mayúsculas y minúsculas.
ntpdate hora.roa.es
Mi comando para mantener la hora actualizada. Debería CRONificarlo, pero soy muy perro.
Verificar defragmentación
fsck.ext3 -nfv UNIDAD
--¡Sí, sí, Linux Linux Linux se fragmenta! (todos los fanboys echan espumarajos por la boca y sus cabezas giran enloquecidas). Por fortuna, bastante menos que Windows. Con la unidad en cuestión desmontada (si hay que recurrir a una Live-CD, se hace), basta con lanzar ese comando y comprobar que el número de "non-contiguous inode" sea inferior al 10%.
NETSELECT-APT
Busca el mejor repositorio
--Otra de Debian. Al lanzarla, comprueba la velocidad y la respuesta de una lista de servidores de repositorios, de cara a escoger el mejor.
RENAME
rename 's/(.*)contenidoaeliminar(.*)/$1$2/;'
-n simula
-v ejecuta
Un comando imprescindible para, teniendo una lista de archivos, eliminar un determinado texto del nombre de todos ellos. Por ejemplo, la típica serie descargada de internet...
SerieChula_2009_S03E10_byEyaculoEnTuCulo.mkv
... que ha encodeado un subnormal que ha de poner su gilipollez en el nombre de todos los archivos. ¿Y si queremos eliminarlo? Imagina hacerlo a mano: tres o cuatro temporadas con sus veintintantos capítulos cada una. ¡Un coñazo!
Pero para eso, tenemos rename:
rename -n 's/(.*)_byEyaculoEnTuCulo(.*)/$1$2/;' *.mkv
rename -v 's/(.*)_byEyaculoEnTuCulo(.*)/$1$2/;' *.mkv
Conviene primero "probar" con -n y, si todo se renombra a nuestro gusto, entrar a matar con -v.
La sintaxis de lo que hay entre las 'comillas simples' tiene elementos que recordarás de AWK y de SED:
--La s indica "sustituir". La barra es un separador.
--Con cada (.*), señalamos cualquier cadena de texto de cualquier longitud, asignándole un número de orden. El primer (.*) es $1, el segundo (.*) es $2, etc. Así, lo que quiere decir ahí es "todo lo que haya antes de la frase a borrar, la frase a borrar, y todo lo que haya después de la frase a borrar".
--Otra barra como separador.
--Aquí viene lo que queremos que quede: justo lo que había antes ($1) y lo que había después ($2), pero sin lo de enmedio.
Si el Cabrero dice que es una mierda de explicación, le tendré que dar la razón (por esta vez). Pero ante todo me gusta que quede comprensible, no de página de MAN.