4.2.5.- El comando touch

touch_tituloLos sistemas de ficheros nativos de Linux mantienen tres tipos de marcas temporales (time stamp) para cada fichero:

  • Hora de creación.
  • Hora de última modificación.
  • Hora del último acceso.

Hay vario programas que se basan en estas marcas temporales como por ejemplo la utilidad make (sirve para compilar un programa desde el código fuente) utiliza estas marcas para determinar qué ficheros del código fuente se deben recompilar si ya existe un fichero objeto para un fichero particular. Resumiendo, a veces tendremos que modificar las marcas temporales. Esta función la desempeña el comando touch y su sintaxis es:

 toush_sintaxisPor defecto, touch asigna la hora actual como hora de modificación y acceso. Podríamos utilizarlo de este modo si, por ejemplo, quisiera que make recompilara un fichero de código fuente particular, incluso aunque existiera un fichero objeto más reciente. Si los ficheros especificados no existen, touch los crearía como ficheros vacíos. Esto resulta útil para crear ficheros ficticios; es decir, para experimentar con otros comandos de manipulación de ficheros.

Podemos pasarle varias opciones a touch para hacer que éste cambie su comportamiento:

Cambiar sólo la hora de acceso.- Las opciones -a o --time=hora hacen que touch cambie sólo la hora de acceso, pero no la de modificación.

No crear ficheros.- Si no queremos que touch cree ningún fichero que no exista ya, pásele las opciones -c o --no-create.

Asignar el tiempo especificado.- La opción -t timestamp define el tiempo en función del timestamp (marca temporal) especificado. Proporcionaremos este valor en formato MMDDhhmm[[CC]YY][.ss], donde MM es el mes, DD el día, hh es la hora (en formato 24 h.), mm  son los minutos, [CC]YY es el año (2009 o 09, ambos son válidos) y ss son los segundos. hay otro modo particular para definir una hora y es mediante las opciones -r reffile o --reference=reffile, donde reffile es un fichero cuya marca temporal debe replicar.

Anuncios