# Usage This User Guide presents an overview of the various ways that *libclamav* can be used through the tools provided by ClamAV. To learn more about how to better use each facet of ClamAV that interests you, please follow the links provided. ## Daemon The ClamAV Daemon, or [`clamd`](Usage/Scanning.md#clamd), is a multi-threaded daemon that uses *libclamav* to [scan files for viruses](Usage/Scanning.md). ClamAV provides a number of tools which interface with this daemon. They are, as follows: - [`clamdscan`](Usage/Scanning.md#clamdscan) - a simple scanning client - [`on-access scanning`](Usage/Scanning.md#On-access-scanning) - a special `clamd` thread for real-time protection - [`clamdtop`](Usage/Scanning.md#clamdtop) - a resource monitoring interface for `clamd` ## Scanner ClamAV also provides a command-line tool for [simple scanning](Usage/Scanning.md) tasks with *libclamav* called [`clamscan`](Usage/Scanning,md#clamscan). Unlike the daemon, `clamscan` is not a persistent process and is best suited for use cases where one-time scanning with minimal setup is needed. ## Signature Testing and Management A number of tools allow for [testing and management of signatures](Usage/SignatureManagement.md). Of note are the following: - [`clambc`](Usage/SignatureManagement.md#clambc) - specifically for testing bytecode - [`sigtool`](Usage/SignatureManagement.md#sigtool) - for general signature testing and analysis - [`freshclam`](Usage/SignatureManagement.md#freshclam) - used to update signature database sets to the latest version ## Configuration The more complex tools ClamAV provides each require some degree of [configuration](Usage/Configuration.md). ClamAV supplies two examples configuration files: - [`clamd.conf`](Usage/Configuration.md#clamd-configuration) - for configuring the behaviour of the ClamAV Daemon `clamd` and associated tools - [`freschclam.conf`](Usage/Configuration.md#freshclam-configuration) - for configuring the behaviour of the signature database update tool, `freshclam` Additionally, a tool called [`clamconf`](Usage/Configuration.md#clamconf) allows users to check the configurations used by each other tool, pulling information from the configuration files listed above, alongside other relevant information.