2

ディレクトリ構造は次のとおり/apps/amrです。そのままのバックアップを取りたいamr(つまり、リンクを逆参照せずに)。 /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

親切に解決策を教えてください。

4

2 に答える 2

2

私は言います、それを単純にしてください...

mkdir .tmp
cp -dR * .tmp/.
mv .tmp amr_backup

のグロブ展開に*は で始まるものは含まれない.ため、隠しディレクトリ自体はソース ディレクトリにはなりません。

于 2012-11-16T15:27:54.467 に答える
0

ワイルドカードの代わりにamr_backup使用して、コピー コマンドから除外できます。!(amr_backup)*

cp -dR !(amr_backup) amr_backup/

ファイルサイズは私には問題ないようです。が入っているのでamr約2倍の大きさです。amr_backupamr_backup

于 2012-11-16T15:25:48.793 に答える