docs/UserManual/Usage.md
bc36e026
 # Usage
 
3e4a4ae0
 ---
 
 <!-- TOC depthFrom:2 depthTo:6 withLinks:1 updateOnSave:1 orderedList:0 -->
 
 - [Purpose](#purpose)
 - [Daemon](#daemon)
 - [Scanner](#scanner)
 - [Signature Testing and Management](#signature-testing-and-management)
 - [Configuration](#configuration)
 
 <!-- /TOC -->
 
 ---
 
 ## Purpose
 
 ---
 
0da2077d
 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.
bc36e026
 
3e4a4ae0
 ---
 
0da2077d
 ## Daemon
bc36e026
 
3e4a4ae0
 ---
 
0da2077d
 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:
bc36e026
 
0da2077d
   - [`clamdscan`](Usage/Scanning.md#clamdscan) - a simple scanning client
d44eb816
   - [`on-access scanning`](Usage/Scanning.md#On-access-scanning) - provides real-time protection via a `clamd` instance
0da2077d
   - [`clamdtop`](Usage/Scanning.md#clamdtop) - a resource monitoring interface for `clamd`
bc36e026
 
3e4a4ae0
 ---
 
0da2077d
 ## Scanner
bc36e026
 
3e4a4ae0
 ---
 
0da2077d
 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.
bc36e026
 
3e4a4ae0
 ---
 
0da2077d
 ## Signature Testing and Management
bc36e026
 
3e4a4ae0
 ---
 
0da2077d
 A number of tools allow for [testing and management of signatures](Usage/SignatureManagement.md). Of note are the following:
bc36e026
 
0da2077d
   - [`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
bc36e026
 
3e4a4ae0
 ---
bc36e026
 
0da2077d
 ## Configuration
bc36e026
 
3e4a4ae0
 ---
 
 The more complex tools ClamAV provides each require some degree of [configuration](Usage/Configuration.md). ClamAV supplies two example configuration files:
bc36e026
 
3e4a4ae0
   - [`clamd.conf`](Usage/Configuration.md#clamdconf) - for configuring the behaviour of the ClamAV Daemon `clamd` and associated tools
   - [`freschclam.conf`](Usage/Configuration.md#freshclamconf) - for configuring the behaviour of the signature database update tool, `freshclam`
bc36e026
 
d44eb816
 ClamAV also provides a mail filtering tool called [`clamav-milter`](Usage/Configuration.md#clamav-milter) which can be attached to a `clamd` instance for mail scanning purposes.
 
0da2077d
 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.