diff --git a/knowledge base/clamav.md b/knowledge base/clamav.md
index ece9db9..c98492c 100644
--- a/knowledge base/clamav.md
+++ b/knowledge base/clamav.md
@@ -1,14 +1,15 @@
# ClamAV
-## Table of contents
-
1. [TL;DR](#tldr)
1. [Gotchas](#gotchas)
1. [Further readings](#further-readings)
-1. [Sources](#sources)
+ 1. [Sources](#sources)
## TL;DR
+
+ Usage
+
```sh
# Manually update the virus definitions.
# Do this once **before** starting a scan or the daemon.
@@ -17,37 +18,42 @@ sudo systemctl stop 'clamav-freshclam' \
&& sudo 'freshclam' \
&& sudo systemctl enable --now 'clamav-freshclam'
-# scan a file or directory.
+# Scan specific files or directories.
clamscan 'path/to/file'
clamscan --recursive 'path/to/dir'
-# only return specific files.
+# Only scan files in a list.
+clamscan -i -f '/tmp/scan.list'
+
+# Only return specific results.
clamscan --infected '/home/'
clamscan --suppress-ok-results 'Downloads/'
-# save results to file.
+# Save results to files.
clamscan --bell -i -r '/home' -l 'output.txt'
-# scan files in a list.
-clamscan -i -f '/tmp/scan.list'
-
-# remove infected files.
+# Delete infected files.
clamscan -r --remove '/home/user'
clamscan -r -i --move='/home/user/infected' '/home/'
-# limit cpu usage.
+# Limit CPU usage.
nice -n 15 clamscan \
&& clamscan --bell -i -r '/home'
-# use multiple threads.
+# Use multiple threads.
find . -type f -printf "'%p' " | xargs -P "$(nproc)" -n 1 clamscan
find . -type f | parallel --group --jobs 0 -d '\n' clamscan {}
```
+
+
## Gotchas
-- The `--fdpass` option of `clamdscan` (notice the _d_ in the command) sends a file descriptor to clamd rather than a path name, avoiding the need for the `clamav` user to be able to read everyone's files
-- `clamscan` is designed to be single-threaded, so when scanning a file or directory from the command line only a single CPU thread is used; use `xargs` or another executor to run a scan in parallel:
+- The `--fdpass` option of `clamdscan` (**with** the _d_ in the command name) sends a file descriptor to `clamd` rather
+ than a path name, avoiding the need for the `clamav` user to be able to read everyone's files.
+- `clamscan` is designed to be **single**-threaded, so it willfully uses a **single** CPU thread when scanning files or
+ directories from the command line.
+ Use `xargs` or another executor to run scans in parallel:
```sh
find . -type f -printf "'%p' " | xargs -P $(nproc) -n 1 clamscan
@@ -56,20 +62,27 @@ find . -type f | parallel --group --jobs 0 -d '\n' clamscan {}
## Further readings
+- [Website]
+- [Codebase]
+- [Documentation]
- [Gentoo Wiki]
-## Sources
-
-All the references in the [further readings] section, plus the following:
+### Sources
- [Install ClamAV on Fedora Linux 35]
-[further readings]: #further-readings
+
+
+
+[codebase]: https://github.com/Cisco-Talos/clamav
+[documentation]: https://docs.clamav.net/
+[website]: https://www.clamav.net/
[gentoo wiki]: https://wiki.gentoo.org/wiki/ClamAV