Unir archivos usando el comando cat (y dividir con split)

Puede que alguna vez al bajar algún archivo de Internet os hayáis encontrado con que éste está dividido en varias partes. Y que, para juntar esas partes, os indican que tenéis que instalar tal o cual programa, que naturalmente es solo para Windows.

Antes de que os pongáis a buscar algún programa equivalente os recomiendo que probéis a usar el comando cat. Se trata de un comando de bash que se utiliza para concatenar y mostrar archivos. A mí me ha funcionado y es muy fácil de usar.

Vamos a verlo con un ejemplo. Supongámos que tenemos un archivo dividido en varias partes: Ejemplo.avi001, Ejemplo.avi002, Ejemplo.avi003. Abrimos una terminal en el lugar en el que se encuentran los archivos divididos y escribimos:

cat Ejemplo.avi* > Ejemplo.avi

El comando cat nos creará un nuevo archivo, llamado Ejemplo.avi, que será el resultado de la unión de todos esos archivos.

El símbolo * es un comodín. Indica al comando que busque todos los archivos que contengan Ejemplo.avi seguido de cualquier grupo de caracteres. En lugar de usar el comodín podríamos escribir el nombre de todos los archivos divididos, uno detrás de otro, y el resultado sería el mismo. Pero, claro, con el comodín es mucho más rápido.

=======(^_^)=======

Puede que algunos ahora os preguntéis ¿Y si queremos hacer el proceso inverso: dividir un archivo grande en otros más pequeños? Bien, pues para hacer eso usaremos otro comando: el comando split.

Veamoslo con un ejemplo. Tenemos un archivo llamado Ejemplo.avi que ocupa 500 Megas y queremos dividirlo en archivos más pequeños de un tamaño igual o infierior a 200 Megas. Abrimos la terminal en el lugar en el que se encuentra el archivo original y escribimos:

split -b 200M -d Ejemplo.avi Ejemplo.avi.cacho

Obtendremos varios archivos llamados Ejemplo.avi.cacho00, Ejemplo.avi.cacho01, Ejemplo.avi.cacho02. Los dos primeros ocuparan 200 Megas, el último 100 Megas.

La explicación: La opción -b se usa para indicar el tamaño de los archivos a obtener, la M después del número indica que el tamaño es en Megas. La opción -d se usa para que los sufijos sean numéricos en lugar de alfabéticos. El primer nombre que se escribe es el del archivo origen, el segundo es el que tendrán los archivos divididos. Naturalmente a los archivos divididos podemos ponerles el nombre que queramos. Si lo deseamos podemos ponerles el mismo nombre que el archivo original o incluso podemos no ponerles ningún nombre, aunque esto último no resultaría muy práctico (si queréis podéis probarlo y ver que ocurre).

Recordad que, en consola de texto, si el nombre de un archivo contiene espacios en blanco hay que escribirlo entre comillas.

Y, como siempre, si queréis más información usad el comando man.

Openbox (6): menú de Debian

Hace tiempo que no escribo una entrada sobre Openbox (bueno, en realidad hace tiempo que no escribo ninguna entrada). Hoy voy ha hablar del menú de Debian en Openbox. Habremos observado que cuando instalamos Openbox en Debian, o en una distro derivada, al abrir el menú nos encontramos con un submenú, generado automáticamente, con el nombre de Debian. En él podemos acceder a casi todas las aplicaciones que tenemos instaladas.

Sin embargo, al instalar o desinstalar un programa veremos que este menú no se actualiza automáticamente. Para que se actualice tenemos que usar el comando update-menus. Pero en Openbox tenemos un problema añadido, si queremos que se visualice el nuevo menú, es necesario reconfigurar. ¿Te habías preguntado para que sirve el “Reconfigure” que aparece en el menú de Openbox? pues, entre otras cosas, para esto.

Openbox nos ofrece, también, la posibilidad de utilizar el comando openbox --reconfigure. Por lo que podemos abrir la terminal y escribir, en una sola línea, update-menus && openbox --reconfigure. Pero, claro, como somos muy vagos, lo que nos gustaría es poder hacerlo con un solo click del ratón, sin tener que escribir nada. Para ello podemos editar el menú raíz de Openbox (con un editor de texto o con Obmenu). El único problema es que Openbox no admite dos comandos juntos en su menú. La solución es sencilla hacemos un script de bash, que es tan simple como escribir esto en nuestro editor de texto:

#!/bin/bash
update-menus
openbox --reconfigure

Luego lo guardamos con el nombre que queramos (por ejemplo menupdate.sh), le damos permisos de ejecución (comando chmod a+x, aunque también lo podemos hacer desde el gestor de archivos, en Propiedades > Permisos). Finalmente lo incluimos en el menú de Openbox, indicando, en Execute, la ruta hasta el script. Y ya está, a partir de ahora con un solo click podremos actualizar el menú de Debian.

Apagar el ordenador desde un gestor de ventanas (2)

En una entrada anterior intenté explicar como apagar el ordenador desde un gestor de ventanas ligero. La entrada era bastante incompleta. Trataba únicamente de como hacerlo en un sistema que tuviera GDM como gestor de pantalla. Y la solución propuesta era un tanto chapucera, ya que requería realizar el proceso en dos partes.

En esta entrada voy a intentar completar lo que quedó inconcluso en la anterior (cómo apagarlo usando GDM). Dejaré la explicación de cómo hacerlo desde cualiquier ordenador, independientemente del gestor de pantalla, para una entrada posterior.

shutdown

Habíamos quedado entonces en que, utilizando el comando gdmflexiserver, podíamos indicar al gestor de pantalla que apagara el ordenador cuando abandonáramos la sesión. El problema era que el proceso se dividía en dos partes: dar la orden de que apagara y luego cerrar la sesión. Esto no resultaba muy práctico. La solución, como indicaba un lector en un comentario, era hacer un script de bash. Por aquel entonces hacer un script de bash me parecía algo muy complicado. Luego he ido buscando información y he descubierto que hacer un script de bash puede ser algo muy sencillo.

Así sería un script de bash para apagar el ordenador:

#!/bin/bash
gdmflexiserver -a -c ‘SET_LOGOUT_ACTION HALT’
killall WindowMaker

Leer el resto de la entrada…