Nếu cứ gặp thằng nào bụp thằng đó, nhỡ cứ bụp xong lại có thằng tạo ra, hay có thằng nào đó tương kế tựu kế làm cái symlink sang directory khác thì…toi. Nếu Đạt dùng strace
Đạt sẽ thấy mỗi lân remove một file xong thì rm
sẽ lại dùng syscall newfstatat
.
Cả rsync
và rm
đều phải unlink
tất cả các file trong thư mục, nhưng rsync
không phải build directory tree như rm
, nó chỉ việc dùng syscall và bắt kernel làm điều này.
Nếu Đạt để ý thì thấy cả rm
và rsync
đều remove files theo dạng Depth First Search
, nếu có file A và C, directory B thì A sẽ bị remove trước, rồi B và tất cả các con của nó, rồi mới đến C.