Introducción
FRAME prepara una exposición comunitaria de fotografía. La imprenta necesita imágenes seleccionadas bajo nombres de exposición acordados. Dos carpetas de recepción contienen IMG_0001.jpg, pero muestran escenas distintas. Copiar todo o aplanar esos nombres entregaría la colección equivocada.
Conservarás los originales, crearás una correspondencia explícita de origen a destino, gestionarás un destino existente y abrirás el archivo desde un directorio receptor separado. Solo necesitas familiaridad básica con el terminal. Los comandos y las rutas se explican antes de usarse; no necesitas scripts ni conocimientos de fotografía.
Usa Workstation para comandos y Photo Desk para imágenes. Todas son pequeñas fotos de estudio CC0 con créditos en el visor. Los nombres de recepción son ficticios, no atribuciones de autoría. Es un ejercicio de entrega de archivos; resolución, perfiles de color y preparación profesional de impresión quedan fuera.
Conserva dos fotografías con el mismo nombre
En este paso identificarás las fotos seleccionadas y copiarás dos archivos distintos de igual nombre a ubicaciones de exposición diferentes.
Empieza en Photo Desk. Abre Sample: el girasol es un ejemplo separado de una imagen real. Abre Sources y pulsa cada IMG_0001.jpg para ver la imagen completa; vuelve con Atrás del navegador. La carpeta de Ada muestra un puente y la de Ben un bote redondo. Un nombre de cámara por sí solo no identifica una foto.
El comisario aprobó exactamente estas relaciones. Los caminos de la izquierda son relativos a source/; los de la derecha, a work/print-set/:
| Origen seleccionado | Destino de exposición | Identidad visual |
|---|---|---|
ada/IMG_0001.jpg |
Water/01-ada.jpg |
Puente |
ben/IMG_0001.jpg |
Water/02-ben.jpg |
Bote redondo |
ada/Quiet Water.jpg |
Details/03-water.jpg |
Cascada |
La toma de prueba no seleccionada, las notas privadas y la muestra suministrada deben quedar fuera. Puedes leer las fuentes, pero conserva todos sus bytes. Crea copias regulares, no enlaces a otro directorio.
Cambia a Workstation. pwd imprime el directorio actual; cd lo cambia. El inicial debe ser /home/labex/project/print-studio. Usa la ruta explícita para volver si hace falta:
cd /home/labex/project/print-studio
pwd
/home/labex/project/print-studio
ls enumera un directorio. La barra en source/ada separa niveles. Son rutas relativas, interpretadas desde el directorio actual:
ls source/ada
ls source/ben
Ambos contienen IMG_0001.jpg, pero las entradas están en directorios distintos. mkdir -p crea los padres que falten y admite directorios existentes. Construye las dos zonas de destino:
mkdir -p work/print-set/Water work/print-set/Details
cp copia el origen al destino sin mover el original. -i pregunta antes de reemplazar un destino existente; -v muestra lo copiado. -- termina las opciones. Pon las rutas entre comillas para que un nombre con espacios siga siendo un argumento. Aquí cada destino es un nombre nuevo completo, no solo un directorio:
cp -iv -- "source/ada/IMG_0001.jpg" "work/print-set/Water/01-ada.jpg"
cp -iv -- "source/ben/IMG_0001.jpg" "work/print-set/Water/02-ben.jpg"
Para destinos nuevos, la salida conecta cada origen con su destino. Si un reintento pregunta por sobrescribir, escribe n, pulsa Enter y compara los bytes existentes. No respondas sí solo porque el nombre resulte familiar.
cmp compara bytes. Sin salida significa coincidencia; una diferencia genera un mensaje y un estado de salida distinto de cero. Comprueba ambas relaciones:
cmp -- "source/ada/IMG_0001.jpg" "work/print-set/Water/01-ada.jpg"
cmp -- "source/ben/IMG_0001.jpg" "work/print-set/Water/02-ben.jpg"
Vuelve a Photo Desk, abre Staging y recarga si hace falta. Abre ambas imágenes. Los dos nombres deben mostrar por separado puente y bote. Un mensaje de copia correcta no sustituye la comprobación de las imágenes reales y su correspondencia.
Resuelve un conflicto de destino de forma segura
En este paso rechazarás una sobrescritura incorrecta, interpretarás la evidencia y completarás la selección. Continúa en el mismo terminal Workstation.
Un nombre de destino es una promesa a la imprenta. Para comprender la pregunta, propón deliberadamente copiar el bote de Ben sobre el puente de Ada. El siguiente comando es un ejercicio intencionado de conflicto. Ante la pregunta de sobrescritura, escribe n y pulsa Enter:
cp -iv -- "source/ben/IMG_0001.jpg" "work/print-set/Water/01-ada.jpg"
El puente debe permanecer intacto. Compara el bote propuesto con ese destino protegido:
cmp -- "source/ben/IMG_0001.jpg" "work/print-set/Water/01-ada.jpg"
Espera un mensaje differ. La salida no nula es intencional: ese origen no corresponde a ese destino. Confirma ahora que el destino sigue coincidiendo con la fuente aprobada:
cmp -- "source/ada/IMG_0001.jpg" "work/print-set/Water/01-ada.jpg"
La ausencia de salida confirma que rechazar la sobrescritura conservó el puente. Regla: rechaza primero un destino existente, compáralo con la fuente prevista y consérvalo solo si coincide. Si difiere, consulta el mapa aprobado antes de reemplazar nada. Un nombre de cámara repetido no concede permiso.
Completa la tercera relación. Las comillas de Quiet Water.jpg protegen su espacio:
cp -iv -- "source/ada/Quiet Water.jpg" "work/print-set/Details/03-water.jpg"
cmp -- "source/ada/Quiet Water.jpg" "work/print-set/Details/03-water.jpg"
Prueba una repetición normal de la primera copia. Escribe n ante la pregunta y compara:
cp -iv -- "source/ada/IMG_0001.jpg" "work/print-set/Water/01-ada.jpg"
cmp -- "source/ada/IMG_0001.jpg" "work/print-set/Water/01-ada.jpg"
Conservaste una copia existente idéntica sin crear directorios anidados ni sobrescribir otra imagen. En Photo Desk → Staging, abre las tres fotos y compara las rutas con la tabla. La cascada pertenece a Details; puente y bote, a Water. No aparecen girasol ni notas privadas.
Si respondiste sí por error en el conflicto, el puente original sigue existiendo. Consulta la tabla, repite la copia aprobada de Ada a 01 del paso 1, responde y para reemplazar solo ese destino confirmado como incorrecto y ejecuta otra vez su cmp. No borres el árbol fuente ni vacíes todo el espacio para recuperarte.
Entrega una colección que se abra independientemente
En este paso archivarás solo el árbol seleccionado, lo extraerás en un receptor separado y abrirás las fotografías recibidas reales.
Empieza en Workstation. tar guarda una colección en un archivo. En -czf, c crea, z comprime con gzip y f nombra el archivo que sigue. -C work cambia el directorio inicial de tar antes de seleccionar print-set. Así contiene una raíz print-set/, sin work/, source/ ni rutas absolutas del directorio personal. Repetir el comando reemplaza el archivo desde la preparación actual:
tar -czf delivery.tar.gz -C work print-set
Para listar, t sustituye a c. Lee sin extraer:
tar -tzf delivery.tar.gz
Espera print-set/, los directorios Water y Details y exactamente los tres archivos seleccionados. El orden no importa. Si aparece source, una toma de prueba o notas, se archivó el directorio equivocado; reconstruye desde la selección.
mkdir recipient crea un receptor nuevo y vacío. Sin -p, rechaza un directorio existente y evita confundir archivos recibidos antiguos con una entrega nueva:
mkdir recipient
Para extraer, x sustituye a c; -C recipient coloca el contenido en ese directorio:
tar -xzf delivery.tar.gz -C recipient
El receptor tiene ahora su propio recipient/print-set, independiente de las rutas fuente. Compara cada relación recibida:
cmp -- "source/ada/IMG_0001.jpg" "recipient/print-set/Water/01-ada.jpg"
cmp -- "source/ben/IMG_0001.jpg" "recipient/print-set/Water/02-ben.jpg"
cmp -- "source/ada/Quiet Water.jpg" "recipient/print-set/Details/03-water.jpg"
Las tres comparaciones deben ser silenciosas. En Photo Desk → Recipient, recarga, abre cada foto y vuelve con Atrás. Confirma puente, bote y cascada bajo sus nombres acordados. La página solo lee copias recibidas. Usa Download delivery archive para obtener el archivo real, no un sustituto generado. Comprueba que Sources y Sample siguen abriéndose normalmente.
Para repetir la recepción desde cero, conserva el resultado anterior con mv, que mueve o renombra en lugar de copiar. Usa lo siguiente solo si recipient existe y recipient-previous no; en posteriores reintentos elige otro nombre de respaldo libre:
mv -- recipient recipient-previous
Después repite mkdir recipient y la extracción. Nunca extraigas en el árbol fuente. Si una relación preparada era incorrecta, corrige solo ese destino siguiendo la regla de conflicto, reconstruye el archivo y usa un receptor nuevo. Los originales permiten recuperarte.
Resumen
Identificaste fotografías por su ruta e imagen, asignaste originales seleccionados a nombres de exposición, rechazaste una sobrescritura incorrecta y comprobaste bytes con cmp. Entregaste solo el árbol seleccionado y abriste una copia receptora independiente. El método también sirve cuando la distribución acordada difiere de los directorios originales.



