# Grabar CDs con un solo comando

- Dirección: https://freemem.space/grabar-cds-con-un-solo-comando/
- Publicada: 7 de octubre de 2004
- Temas: Archivo de tapiasbravo.com
- Autor: Francisco Antonio Tapias Bravo

Cada vez me convenzo más, que la linea de comandos puede llegar a ser infinitamente más potente que el mejor entorno gráfico. El ejemplo de hoy es crear isos y grabarlos «on the fly» con un único comando. En realidad vamos a usar dos programas, el mkisofs y el cdrecord. Ambos, debidamente organizados en un scriptillo, ofrecerán tal potencia.

Al grano:

Creamos un archivo txt que se llame «graba» con permisos de ejecución

chmod +x graba

editamos el archivo y ponemos esto:

#!/bin/bash

mkisofs -JR «$1″|cdrecord -v -eject speed=10 dev=0,0,0 –

El dev=0,0,0 puede variar de una máquina a otra y eso se averigua así:

cdrecord –scanbus

Cdrecord 2.0 (i686-pc-linux-gnu) Copyright (C) 1995-2002 Jörg Schilling

Linux sg driver version: 3.1.24

Using libscg version ‘schily-0.7’

scsibus0:

0,0,0 0) ‘HP ‘ ‘CD-Writer+ 9300 ‘ ‘1.0c’ Removable CD-ROM

0,1,0 1) \*

0,2,0 2) \*

0,3,0 3) \*

0,4,0 4) \*

0,5,0 5) \*

0,6,0 6) \*

0,7,0 7) \*

Como se puede ver yo tengo en el dev 0,0,0 una ‘HP ‘ ‘CD-Writer+ 9300 ‘ ‘1.0c’

creado el archivo solo nos queda meter el cd virgen en la grabadora y teclear

./graba \[nombre del archivo o directorio\]

o si quieres grabar el contenido de un directorio puedes situarte en él y teclear

./graba .

Explicación de lo que hace nuuestro script. Mkisofs crea un iso en formato Joliet+Rock Ridge que es pasado por tubería a cdrecord que finalmente quema el CD. Así de fácil.

Aquí os paso el script mucho más mejorado capaz de comprobar el tamaño de lo que vamos a grabar para ver si cabe o no en el CD además de poder meterle el nombre al VOLUMEN del CD. Este script mejorado me lo mandó mi amigo Daniel Fernández.

#!/bin/sh

#NOTA: Para usar este script hay que poner el nombre de volumen:  
#  
\# Ej:  
#  
\# grabafile /home/pepe «Directorio de pepe»  
#

\# Configuracion  
MKISOFS=»mkisofs»  
CDRECORD=»cdrecord»  
MKIOPTIONS=»-quiet -RJ -V»  
CDROPTIONS=»-v -dao -eject speed=10 dev=0,0,0″  
CDBLOCKS=\`${MKISOFS} -print-size ${MKIOPTIONS} «$2» «$1″\`

\# Comandos  
${MKISOFS} ${MKIOPTIONS} «$2» «$1» |  
${CDRECORD} ${CDROPTIONS} tsize=${CDBLOCKS}s –

*Publicado en old.tapiasbravo.com el 7 de octubre de 2004. Recuperado de la [Wayback Machine](https://web.archive.org/web/20071226045236/http://old.tapiasbravo.com/) en 2026.*
