我有一个目录结构:/apps/amr。我想按原样备份amr (即不取消引用链接).Now /apps目录有一个不同的用户和组(而我没有权限访问它)。我以不同的用户和组登录。所以很明显,在/apps目录中执行:
mkdir amr_backup
cp -dR amr amr_backup权限被拒绝时不起作用。因此,我尝试在/apps/amr目录中执行相同的操作,因为amr目录具有与我登录时相同的用户和组。但在执行时:
mkdir amr_backup
cp -dR * amr_backup它显示以下错误:
cp: cannot copy a directory, `amr_backup`, into itself, `amr_backup/amr_backup'这是显而易见的,因为amr_backup目录本身就在/apps/amr中。我也可以看到并不是所有的东西都被正确地备份:
du -sh /apps/amr
8.6G /apps/amr
du -sh /apps/amr/amr_backup
4.3G /apps/amr/amr_backup所以请给我一个解决方案。
发布于 2012-11-16 23:27:54
我说,保持简单...
mkdir .tmp
cp -dR * .tmp/.
mv .tmp amr_backup*的全局扩展不包括任何以.开头的内容,因此隐藏目录本身不是源目录。
发布于 2012-11-16 23:25:49
您可以使用!(amr_backup)而不是*通配符从复制命令中排除amr_backup。
cp -dR !(amr_backup) amr_backup/在我看来,文件大小还可以。amr的大小大约是amr_backup的两倍,因为它包含amr_backup。
https://stackoverflow.com/questions/13419314
复制相似问题