Tutorial de touch, cp, mv y rm: opciones y ejemplos prácticos

DUGLAS MORENODUGLAS MORENO 👁 21

Introducción
En este tutorial vamos a repasar los comandos básicos de manipulación de archivos en Unix/Linux: touch, cp, mv y rm. Veremos sus opciones más usadas (-r, -i, -v) y ejemplos prácticos con la salida esperada.

touch

El comando touch sirve para crear archivos vacíos o actualizar las marcas de tiempo de uno existente.

  • -a : cambia solo el tiempo de acceso.
  • -m : cambia solo el tiempo de modificación.
  • -t [[CC]YY]MMDDhhmm[.ss] : establece una fecha y hora específica.

Ejemplo 1 – crear un archivo vacío

$ touch notas.txt
$ ls -l notas.txt
-rw-r--r-- 1 usuario grupo 0 Sep 25 10:00 notas.txt

Salida esperada: se muestra el archivo con tamaño 0 bytes y la marca de tiempo actual.

Ejemplo 2 – actualizar solo el tiempo de acceso

$ touch -a notas.txt
$ stat -c %x notas.txt
2025-09-25 10:05:12.000000000 -0300

Ejemplo 3 – fijar una fecha personalizada

$ touch -t 202401011200.30 notas.txt
$ stat -c %y notas.txt
2024-01-01 12:00:30.000000000 -0300

cp

cp copia archivos o directorios. Es muy útil para respaldos o duplicados.

  • -r o -R : copia de forma recursiva (incluye subdirectorios).
  • -i : pide confirmación antes de sobrescribir un archivo existente.
  • -v : modo verbose, muestra qué se está copiando.

Ejemplo 1 – copiar un archivo simple

$ cp notas.txt respaldo.txt
$ ls -l notas.txt respaldo.txt
-rw-r--r-- 1 usuario grupo 0 Sep 25 10:00 notas.txt
-rw-r--r-- 1 usuario grupo 0 Sep 25 10:02 respaldo.txt

Salida esperada: aparecen ambos archivos con el mismo tamaño y timestamps diferentes según la hora de copia.

Ejemplo 2 – copiar con verificación y modo verbose

$ cp -iv notas.txt copia.txt
sobrescribir ‘copia.txt’? n

Si respondemos n, no se copia nada y no se muestra salida adicional. Si respondemos y, se vería algo como:

‘notas.txt’ -> ‘copia.txt’

Ejemplo 3 – copiar un directorio completo

$ cp -r proyecto proyecto_backup
$ ls -R proyecto_backup
proyecto_backup:
archivo1.txt  subdir

proyecto_backup/subdir:
archivo2.txt

Salida esperada: se replica la estructura de directorios y archivos.

mv

mv mueve o renombra archivos y directorios.

  • -i : pide confirmación antes de sobrescribir.
  • -v : muestra qué se está moviendo.

Ejemplo 1 – renombrar un archivo

$ mv notas.txt apuntes.txt
$ ls -l apuntes.txt
-rw-r--r-- 1 usuario grupo 0 Sep 25 10:00 apuntes.txt

Salida esperada: el archivo original desaparece y aparece con el nuevo nombre, manteniendo su timestamp.

Ejemplo 2 – mover a otro directorio

$ mv apuntes.txt documentos/
$ ls documentos/
apuntes.txt

Si el directorio documentos no existe, mv lo renombra; si existe, lo coloca dentro.

Ejemplo 3 – modo interactivo y verbose

$ mv -iv apuntes.txt documentos/apuntes.txt
sobrescribir ‘documentos/apuntes.txt’? y
‘apuntes.txt’ -> ‘documentos/apuntes.txt’

rm

rm elimina archivos o directorios.

  • -r o -R : elimina de forma recursiva (ne manera recursiva.
  • -i : pide confirmación antes de cada eliminación.
  • -v : muestra qué se está eliminando.

Ejemplo 1 – borrar un archivo sencillo

$ rm notas.txt
$ ls notas.txt
ls: no se puede acceder a 'notas.txt': No existe el archivo o el directorio

Salida esperada: el archivo desaparece y cualquier intento de listarlo falla.

Ejemplo 2 – eliminación interactiva

$ rm -i notas.txt notas2.txt
rm: eliminar archivo regular vacío ‘notas.txt’? n
rm: eliminar archivo regular vacío ‘notas2.txt’? y

Solo notas2.txt se borra si respondemos y al segundo prompt.

Ejemplo 3 – borrar un directorio y su contenido

$ rm -r proyecto_backup
$ ls proyecto_backup
ls: no se puede acceder a 'proyecto_backup': No existe el archivo o el directorio

Con -v se vería cada archivo y subdirectorio borrado:

$ rm -rv proyecto_backup
eliminado ‘proyecto_backup/archivo2.txt’
eliminado ‘proyecto_backup/subdir’
eliminado ‘proyecto_backup’

Conclusión

Dominar touch, cp, mv y rm con sus opciones -r, -i y -v te permite crear, duplicar, renombrar, mover y borrar archivos y directorios de forma segura y eficiente. Practicar estos comandos en un entorno de prueba te ayudará a evitar accidentes y a ganar fluidez en la línea de comandos de Unix/Linux.


Comentarios (0)

Sé el primero en comentar.

Dejá tu comentario