我的 Android 手机上有照片和视频。我把它们备份到我的硬盘里。我想保留文件的属性,因为您可以理解它的重要性。要保存的主要属性是日期、时间、位置(如果源文件中存在)。
为了实现这一目标,我跑了
rsync -a "source dir" "dest. dir"
目标包含源的所有文件夹结构,并且文件也具有相同的日期和时间。所以,看起来它已经正常工作了。但我没有检查如果源文件有位置(拍摄视频/音频的地方),位置是否也被保存。
那么,只是想澄清该命令已保存所有属性吗?还有其他选项rsync
可以用来更清楚地了解属性或完成工作吗?
答案1
从文件系统的角度来看,位置(来自 GPS)是文件数据的一部分,而不是其元数据。它存储在文件内的 EXIF、XMP 等标记中。
所以rsync
(或者甚至是 plain cp
)将保留它。
有很多工具可以显示文件中的 EXIF 和 XMP 数据;例如:
$ exiv2 -pa pr IMG_20150530_155931.jpg
Exif.Image.DateTime Ascii 20 2015:05:30 15:59:31
Exif.Image.GPSTag Long 1 543
Exif.GPSInfo.GPSDateStamp Ascii 11 2015:05:30
Exif.GPSInfo.GPSAltitudeRef Byte 1 Above sea level
Exif.GPSInfo.GPSLongitudeRef Ascii 2 West
Exif.GPSInfo.GPSImgDirection Rational 1 29/1
Exif.GPSInfo.GPSLongitude Rational 3 77deg …
⋮
答案2
正如您所描述的,“位置(拍摄视频/音频的地方)”一般来说不是文件系统所关注的元数据:它是数据;文件内容的一部分,而不是文件外部的属性。
因此,如果您检查过的文件复制正确,那么“位置数据”也将被复制。即使您使用 rsync 以外的工具进行复制,情况也是如此。
删除文件中存储的此类图像或视频元数据的唯一方法是,您是否使用内容感知工具进行转换(例如,调整图片或视频的大小),而不仅仅是复制。