我刚开始使用 Copy,感觉很棒,不过我遇到了一个困难。我运行着两台 Xubuntu Linux 计算机,一台在办公室,一台在家。办公室的那台是 64 位的,家里的那台是 32 位的(我不知道这是否是个问题,不过大概应该不是)。问题是,当我从任一端将文件放入 /Copy 文件夹时,它会显示在另一台计算机上,但其权限已更改。
具体来说,如果我在 emacs 中编写一个测试 ASCII 文件并保存它,它将具有以下权限:
-rw-rw-r-- 1
然而,它会在另一端显示权限:
-rwx------ 1
这可能特别烦人,尤其是因为可执行文件被 shell 标记为绿色。有没有什么解决办法?
答案1
您可以使用rsync
它来复制文件。该-p
选项将保留权限和许多选项:
-p --> Preserve permissions
-E --> Preserve Executability
-o --> Preserve OwenrShip
-g --> Preserve Groups
-t --> Preserve modifition time
如需进一步了解,请使用此关联
答案2
cp
还可以复制文件并保留权限、所有权等。为此,您需要使用开关--preserve
。以下是相应的手册条目:
--preserve[=ATTR_LIST]
preserve the specified attributes (default:
mode,ownership,timestamps), if possible additional attributes:
context, links, xattr, all
但正如 Fiximan 所建议的那样,cp -a
这会更简单。再次从手册页中,
-a, --archive ; same as -dR --preserve=all
因此命令将会像这样:
cp -a <source> <destination>
话虽如此,由于您要复制文件,尤其是在通过互联网从办公室计算机复制到家中计算机时,最好使用scp
。scp
具有-p
开关,可保留原始文件的修改时间、访问时间和模式。 您可能还想使用开关-r
递归复制文件夹和子文件夹。这里是关于如何使用 scp 传输文件的良好指南。