경로 끝에 후행 슬래시 "/"를 추가하면 tar --exclude 플래그가 디렉터리를 제외하지 않습니다.

경로 끝에 후행 슬래시 "/"를 추가하면 tar --exclude 플래그가 디렉터리를 제외하지 않습니다.

이 명령을 사용하는 경우:

sudo tar -zcvpf exclusion.tar.gz mybkup/ --exclude=mybkup/etc/ssh/

그런 다음 ssh 디렉토리가 tarball 내용에 포함되어 있는지 확인하려고 하면 실제로 포함되어 있음을 알 수 있습니다.

[user@smashingx1 ~]$ tar -tvzf exclusion.tar.gz | grep ssh
lrwxrwxrwx user/user         0 2016-11-30 04:26 mybkup/etc/systemd/system/multi-user.target.wants/sshd.service -> /usr/lib/systemd/system/sshd.service
-rw-r----- user/user       506 2016-11-30 04:26 mybkup/etc/sysconfig/sshd
-rw-r--r-- user/user      5996 2016-11-30 04:26 mybkup/etc/xdg/autostart/gnome-keyring-ssh.desktop
drwxr-xr-x user/user         0 2016-11-30 04:26 mybkup/etc/ssh/
-rw-r--r-- user/user    242153 2016-11-30 04:26 mybkup/etc/ssh/moduli
-rw-r--r-- user/user      2208 2016-11-30 04:26 mybkup/etc/ssh/ssh_config
-rw-r--r-- user/user       382 2016-11-30 04:26 mybkup/etc/ssh/ssh_host_rsa_key.pub
-rw-r--r-- user/user       162 2016-11-30 04:26 mybkup/etc/ssh/ssh_host_ecdsa_key.pub
-rw-r--r-- user/user      4760 2016-11-30 04:26 mybkup/etc/ssh/sshd_config
-rw-r--r-- user/user        82 2016-11-30 04:26 mybkup/etc/ssh/ssh_host_ed25519_key.pub
-rw-r----- user/user      1675 2016-11-30 04:26 mybkup/etc/ssh/ssh_host_rsa_key
-rw-r----- user/user       227 2016-11-30 04:26 mybkup/etc/ssh/ssh_host_ecdsa_key
-rw------- user/user      4361 2016-11-30 04:26 mybkup/etc/ssh/sshd_config.rpmnew
-rw-r----- user/user       387 2016-11-30 04:26 mybkup/etc/ssh/ssh_host_ed25519_key
-rw-r--r-- user/user      8730 2016-11-30 04:26 mybkup/etc/selinux/targeted/modules/active/modules/rssh.pp
-rw-r--r-- user/user     18774 2016-11-30 04:26 mybkup/etc/selinux/targeted/modules/active/modules/ssh.pp
-rw-r--r-- user/user       904 2016-11-30 04:26 mybkup/etc/pam.d/sshd

그러나 디렉터리 경로 끝에 마지막 "/"를 추가하지 않으면 디렉터리가 제외됩니다.

sudo tar -zcvpf exclusion.tar.gz mybkup/ --exclude=mybkup/etc/ssh

tar -tvzf exclusion.tar.gz | grep ssh

lrwxrwxrwx user/user         0 2016-11-30 04:26 mybkup/etc/systemd/system/multi-user.target.wants/sshd.service -> /usr/lib/systemd/system/sshd.service
-rw-r----- user/user       506 2016-11-30 04:26 mybkup/etc/sysconfig/sshd
-rw-r--r-- user/user      5996 2016-11-30 04:26 mybkup/etc/xdg/autostart/gnome-keyring-ssh.desktop
-rw-r--r-- user/user      8730 2016-11-30 04:26 mybkup/etc/selinux/targeted/modules/active/modules/rssh.pp
-rw-r--r-- user/user     18774 2016-11-30 04:26 mybkup/etc/selinux/targeted/modules/active/modules/ssh.pp
-rw-r--r-- user/user       904 2016-11-30 04:26 mybkup/etc/pam.d/sshd

tar에 디렉토리를 제외하도록 지시하면 디렉토리와 그 내용이 제외될 것이라고 생각했기 때문에 혼란스럽습니다. 그러나 분명히 그렇지 않습니다. 누군가 이것을 설명할 수 있습니까?

답변1

이것이 어느 정도 설명이라고 생각하시는지는 잘 모르겠습니다만,들어오지 못하게 하다tar 옵션은 제외할 항목의 이름을 사용합니다. 이 경우 다음과 같은 파일을 제외하려고 합니다.SSH. 사실 별거 없어요SSH/. 귀하가 제공한 제외 패턴은 어떤 것과도 일치하지 않습니다.

관련 정보