I read description of these command from a book,
passwd:
Changes the password for an existing user.
chpasswd:
Reads a file of login name and password pairs, and updates the passwords.
It seems these command doing same jobs. Is there a difference between them?
EDIT:
I want to learn when we use them which file(s) change. Do they change same file or different file? If they change different file(s), what are they?
/etc/passwordcontains user account information./etc/shadowcontains encrypted passwords. I believe those are the only files that are relevant. You could change a password by manually editing those files, but it would be very awkward.