当我将我在目录中创建的徽标和注释复制并传输到我朋友的机器上时,它们却不随之传输。
是否可以将它们与副本一起移动?如果可以,我如何在两台 Ubuntu 机器之间移动徽标和注释与副本?
答案1
注释和标志以二进制格式存储~/.local/share/gvfs-metadata/
(对于 Ubuntu 的旧版本(2008-ish)) 。~/.nautilus/metafiles/
关于徽章。看看这个答案:如何从终端更改多个文件的图标?
关于注释。来自CRC OK 博客:
注释不会嵌入到文件中。您无法在不丢失注释的情况下将文件备份到存档中,也无法将它们复制到外部存储,甚至无法在同一逻辑磁盘中自由移动文件。如果您将文档从一个用户帐户移动到另一个用户帐户,则会丢失添加到文档中的注释。
该网站还有一个脚本,用于将笔记备份到每个笔记 1 个文件中,扩展名为.ntext
:
#!/bin/bash
process_dir() {
local -a subdirs=()
echo "Scanning directory: $1"
# Scan the directory, processing files and collecting subdirs
for file in "$1"/*; do
if [[ -f "$file" ]]; then
echo "Processing file: $file"
# actually deal with the file here...
#gvfs-info $file | grep annotation | sed s/' metadata::annotation: '/''/g > $file.note
note=$(gvfs-info "$file" | grep annotation | sed s/' metadata::annotation: '/''/g)
#len=`echo ${#note}`
#echo $len
if [ -z "$note" ]
then
echo "No note for file $file"
else
echo "Found a note for file \"$file\", saying: \"$note\""
echo "$note" > $file.ntext
fi # $String is null.
elif [[ -d "$file" ]]; then
subdirs+=("$file")
# If you don't care about processing all files before subfolders, just do:
# process_dir "$file"
fi
done
# Now go through the subdirs
for d in "${subdirs[@]}"; do
process_dir "$d"
done
}
clear
if [[ -z "$1" ]]; then
read -p "Please enter a directory for me to scan " dir
else
dir="$1"
fi
process_dir "$dir"
使用脚本的风险由您自行承担
你可以像这样启动脚本:
./extract_notes /home/rinzwind/
它将扫描/home/rinzwind/
包含注释的文件,并在该目录中filename
结束。.ntext
将它们放回到您复制的文件中......
gvfs-set-attribute -t string rinzwind.txt metadata::annotation "hello Achu"
gvfs-info -a metadata::annotation rinzwind.txt
attributes:
metadata::annotation: hello Achu
gvfs-info
和gvfs-set-attribute
是gvfs-bin