What is the key differences between bitcoin-qt, bitcoin-cli, bitcoind, bitcoin rpc, and daemon? Can someone please give a brief explanation on these? I'm getting very confused with the differences, and every tutorial article I read uses these terms interchangeably (I'm trying to set up a pruned node...)


bitcoin-qt
bitcoin-cli
bitcoind
bitcoin-rpc
daemon


Thank you!
All of those things are part of the same program, Bitcoin Core.

bitcoin-qt: The GUI version of Bitcoin Core. Most users will use this as it provides a nice Graphical User Interface that uses the Qt framework. It does all of Bitcoin Core's functionality, including being a full node and handling your private keys and transactions.

bitcoind: The Bitcoin daemon. It is the version of Bitcoin Core which can run in the background. It still does all of the full node and wallet things that bitcoin-qt does but is harder to access. bitcoind is primarily used for machines without a GUI (e.g. headless server). It can be accessed and interacted with using the JSON-RPC protocol.

bitcoin-cli: A tool that you can use to interact with bitcoind. It speaks the JSON-RPC protocol that bitcoind uses and lets you send commands to bitcoind and get the results back.

bitcoin-rpc: The Bitcoin Core RPC server. This is part of bitcoind and bitcoin-qt (it must be set explicitly to be enabled in bitcoin-qt). This is the interface that bitcoin-cli interacts with.

daemon: A daemon is any service which runs in the background. bitcoind is a daemon, and so are many other software which run in the background and have no GUI.