clamscan - scan files and directories for viruses
clamscan [options] [file/directory/-]
clamscan is a command line anti-virus scanner.
Most of the options are simple switches which enable or disable some
features. Options marked with [=yes/no(*)] can be optionally followed
by =yes/=no; if they get called without the boolean argument the
scanner will assume 'yes'. The asterisk marks the default internal
setting for a given option.
-h, --help
Print help information and exit.
-V, --version
Print version number and exit.
-v, --verbose
Be verbose.
-a, --archive-verbose
Show filenames inside scanned archives
--debug
Display debug messages from libclamav.
--quiet
Be quiet (only print error messages).
--stdout
Write all messages (except for libclamav output) to the standard
output (stdout).
--no-summary
Do not display summary at the end of scanning.
-i, --infected
Only print infected files.
-o, --suppress-ok-results
Skip printing OK files
--bell Sound bell on virus detection.
--tempdir=DIRECTORY
Create temporary files in DIRECTORY. Directory must be writable
for the '' user or unprivileged user running clamscan.
--leave-temps
Do not remove temporary files.
-d FILE/DIR, --database=FILE/DIR
Load virus database from FILE or load all virus database files
from DIR.
--official-db-only=[yes/no(*)]
Only load the official signatures published by the ClamAV
project.
-l FILE, --log=FILE
Save scan report to FILE.
-r, --recursive
Scan directories recursively. All the subdirectories in the
given directory will be scanned.
-z, --allmatch
After a match, continue scanning within the file for additional
matches.
--cross-fs=[yes(*)/no]
Scan files and directories on other filesystems.
--follow-dir-symlinks=[0/1(*)/2]
Follow directory symlinks. There are 3 options: 0 - never follow
directory symlinks, 1 (default) - only follow directory
symlinks, which are passed as direct arguments to clamscan. 2 -
always follow directory symlinks.
--follow-file-symlinks=[0/1(*)/2]
Follow file symlinks. There are 3 options: 0 - never follow file
symlinks, 1 (default) - only follow file symlinks, which are
passed as direct arguments to clamscan. 2 - always follow file
symlinks.
-f FILE, --file-list=FILE
Scan files listed line by line in FILE.
--remove[=yes/no(*)]
Remove infected files. Be careful!
--move=DIRECTORY
Move infected files into DIRECTORY. Directory must be writable
for the '' user or unprivileged user running clamscan.
--copy=DIRECTORY
Copy infected files into DIRECTORY. Directory must be writable
for the '' user or unprivileged user running clamscan.
--exclude=REGEX, --exclude-dir=REGEX
Don't scan file/directory names matching regular expression.
These options can be used multiple times.
--include=REGEX, --include-dir=REGEX
Only scan file/directory matching regular expression. These
options can be used multiple times.
--bytecode[=yes(*)/no]
With this option enabled ClamAV will load bytecode from the
database. It is highly recommended you keep this option turned
on, otherwise you may miss detections for many new viruses.
--bytecode-unsigned[=yes/no(*)]
Allow loading bytecode from outside digitally signed .c[lv]d
files.
--bytecode-timeout=N
Set bytecode timeout in milliseconds (default: 60000 = 60s)
--statistics[=none(*)/bytecode/pcre]
Collect and print execution statistics.
--detect-pua[=yes/no(*)]
Detect Possibly Unwanted Applications.
--exclude-pua=CATEGORY
Exclude a specific PUA category. This option can be used
multiple times. See http://www.clamav.net/doc/pua.html for the
complete list of PUA
--include-pua=CATEGORY
Only include a specific PUA category. This option can be used
multiple times. See http://www.clamav.net/doc/pua.html for the
complete list of PUA
--detect-structured[=yes/no(*)]
Use the DLP (Data Loss Prevention) module to detect SSN and
Credit Card numbers inside documents/text files.
--structured-ssn-format=X
X=0: search for valid SSNs formatted as xxx-yy-zzzz (normal);
X=1: search for valid SSNs formatted as xxxyyzzzz (stripped);
X=2: search for both formats. Default is 0.
--structured-ssn-count=#n
This option sets the lowest number of Social Security Numbers
found in a file to generate a detect (default: 3).
--structured-cc-count=#n
This option sets the lowest number of Credit Card numbers found
in a file to generate a detect (default: 3).
--scan-mail[=yes(*)/no]
Scan mail files. If you turn off this option, the original files
will still be scanned, but without parsing individual
messages/attachments.
--phishing-sigs[=yes(*)/no]
Use the signature-based phishing detection.
--phishing-scan-urls[=yes(*)/no]
Use the url-based heuristic phishing detection
(Phishing.Heuristics.Email.*)
--heuristic-scan-precedence[=yes/no(*)]
Allow heuristic match to take precedence. When enabled, if a
heuristic scan (such as phishingScan) detects a possible
virus/phish it will stop scan immediately. Recommended, saves
CPU scan-time. When disabled, virus/phish detected by heuristic
scans will be reported only at the end of a scan. If an archive
contains both a heuristically detected virus/phish, and a real
malware, the real malware will be reported Keep this disabled if
you intend to handle "*.Heuristics.*" viruses differently from
"real" malware. If a non-heuristically-detected virus
(signature-based) is found first, the scan is interrupted
immediately, regardless of this config option.
--phishing-ssl[=yes/no(*)]
Block SSL mismatches in URLs (might lead to false positives!).
--phishing-cloak[=yes/no(*)]
Block cloaked URLs (might lead to some false positives).
--partition-intersection[=yes/no(*)]
Detect partition intersections in raw disk images using
heuristics.
--algorithmic-detection[=yes(*)/no]
In some cases (eg. complex malware, exploits in graphic files,
and others), ClamAV uses special algorithms to provide accurate
detection. This option can be used to control the algorithmic
detection.
--scan-pe[=yes(*)/no]
PE stands for Portable Executable - it's an executable file
format used in all 32-bit versions of Windows operating systems.
By default ClamAV performs deeper analysis of executable files
and attempts to decompress popular executable packers such as
UPX, Petite, and FSG. If you turn off this option, the original
files will still be scanned but without additional processing.
--scan-elf[=yes(*)/no]
Executable and Linking Format is a standard format for UN*X
executables. This option controls the ELF support. If you turn
it off, the original files will still be scanned but without
additional processing.
--scan-ole2[=yes(*)/no]
Scan Microsoft Office documents and .msi files. If you turn off
this option, the original files will still be scanned but
without additional processing.
--scan-pdf[=yes(*)/no]
Scan within PDF files. If you turn off this option, the original
files will still be scanned, but without decoding and additional
processing.
--scan-swf[=yes(*)/no]
Scan SWF files. If you turn off this option, the original files
will still be scanned but without additional processing.
--scan-html[=yes(*)/no]
Detect, normalize/decrypt and scan HTML files and embedded
scripts. If you turn off this option, the original files will
still be scanned, but without additional processing.
--scan-xmldocs[=yes(*)/no]
Scan xml-based document files supported by libclamav. If you
turn off this option, the original files will still be scanned,
but without additional processing.
--scan-hwp3[=yes(*)/no]
Scan HWP3 files. If you turn off this option, the original files
will still be scanned, but without additional processing.
--scan-archive[=yes(*)/no]
Scan archives supported by libclamav. If you turn off this
option, the original files will still be scanned, but without
unpacking and additional processing.
--detect-broken[=yes/no(*)]
Mark broken executables as viruses (Broken.Executable).
--block-encrypted[=yes/no(*)]
Mark encrypted archives as viruses (Encrypted.Zip,
Encrypted.RAR).
--block-macros[=yes/no(*)]
Mark OLE2 files containing VBA macros as viruses
(Heuristics.OLE2.ContainsMacros).
--max-filesize=#n
Extract and scan at most #n bytes from each archive. You may
pass the value in kilobytes in format xK or xk, or megabytes in
format xM or xm, where x is a number. This option protects your
system against DoS attacks (default: 25 MB, max: <4 GB)
--max-scansize=#n
Extract and scan at most #n bytes from each archive. The size
the archive plus the sum of the sizes of all files within
archive count toward the scan size. For example, a 1M
uncompressed archive containing a single 1M inner file counts as
2M toward max-scansize. You may pass the value in kilobytes in
format xK or xk, or megabytes in format xM or xm, where x is a
number. This option protects your system against DoS attacks
(default: 100 MB, max: <4 GB)
--max-files=#n
Extract at most #n files from each scanned file (when this is an
archive, a document or another kind of container). This option
protects your system against DoS attacks (default: 10000)
--max-recursion=#n
Set archive recursion level limit. This option protects your
system against DoS attacks (default: 16).
--max-dir-recursion=#n
Maximum depth directories are scanned at (default: 15).
--max-embeddedpe=#n
Maximum size file to check for embedded PE. You may pass the
value in kilobytes in format xK or xk, or megabytes in format xM
or xm, where x is a number (default: 10 MB, max: <4 GB).
--max-htmlnormalize=#n
Maximum size of HTML file to normalize. You may pass the value
in kilobytes in format xK or xk, or megabytes in format xM or
xm, where x is a number (default: 10 MB, max: <4 GB).
--max-htmlnotags=#n
Maximum size of normalized HTML file to scan. You may pass the
value in kilobytes in format xK or xk, or megabytes in format xM
or xm, where x is a number (default: 2 MB, max: <4 GB).
--max-scriptnormalize=#n
Maximum size of script file to normalize. You may pass the value
in kilobytes in format xK or xk, or megabytes in format xM or
xm, where x is a number (default: 5 MB, max: <4 GB).
--max-ziptypercg=#n
Maximum size zip to type reanalyze. You may pass the value in
kilobytes in format xK or xk, or megabytes in format xM or xm,
where x is a number (default: 1 MB, max: <4 GB).
--max-partitions=#n
This option sets the maximum number of partitions of a raw disk
image to be scanned. This must be a positive integer (default:
50).
--max-iconspe=#n
This option sets the maximum number of icons within a PE to be
scanned. This must be a positive integer (default: 100).
--max-rechwp3=#n
This option sets the maximum recursive calls to HWP3 parsing
function (default: 16).
--pcre-match-limit=#n
Maximum calls to the PCRE match function (default: 10000).
--pcre-recmatch-limit=#n
Maximum recursive calls to the PCRE match function (default:
5000).
--pcre-max-filesize=#n
Maximum size file to perform PCRE subsig matching (default: 25
MB, max: <4 GB).
--enable-stats
This option enables submission of statistical data. (Default:
stats submissions disabled)
--stats-host-id
This option sets the HostID, in the form of an UUID, to use when
submitting statistical information.
--disable-pe-stats
This option disables the submission of PE section data.
(Default: submitting of PE section data enabled if stats
submissions as a whole is enabled).
--stats-timeout=#n
This option sets the timeout in seconds to wait for
communication back from the stats server. (Default: 10).
--disable-cache
Disable caching and cache checks for hash sums of scanned files.
(0) Scan a single file:
clamscan file
(1) Scan a current working directory:
clamscan
(2) Scan all files (and subdirectories) in /home:
clamscan -r /home
(3) Load database from a file:
clamscan -d /tmp/newclamdb -r /tmp
(4) Scan a data stream:
cat testfile | clamscan -
(5) Scan a mail spool directory:
clamscan -r /var/spool/mail
0 : No virus found. 1 : Virus(es) found. 2 : Some error(s) occured.
Please check the full documentation for credits.
Tomasz Kojm <[email protected]>, Kevin Lin <[email protected]>
clamdscan(1), freshclam(1), freshclam.conf(5)
Personal Opportunity - Free software gives you access to billions of dollars of software at no cost. Use this software for your business, personal use or to develop a profitable skill. Access to source code provides access to a level of capabilities/information that companies protect though copyrights. Open source is a core component of the Internet and it is available to you. Leverage the billions of dollars in resources and capabilities to build a career, establish a business or change the world. The potential is endless for those who understand the opportunity.
Business Opportunity - Goldman Sachs, IBM and countless large corporations are leveraging open source to reduce costs, develop products and increase their bottom lines. Learn what these companies know about open source and how open source can give you the advantage.
Free Software provides computer programs and capabilities at no cost but more importantly, it provides the freedom to run, edit, contribute to, and share the software. The importance of free software is a matter of access, not price. Software at no cost is a benefit but ownership rights to the software and source code is far more significant.
Free Office Software - The Libre Office suite provides top desktop productivity tools for free. This includes, a word processor, spreadsheet, presentation engine, drawing and flowcharting, database and math applications. Libre Office is available for Linux or Windows.
The Free Books Library is a collection of thousands of the most popular public domain books in an online readable format. The collection includes great classical literature and more recent works where the U.S. copyright has expired. These books are yours to read and use without restrictions.
Source Code - Want to change a program or know how it works? Open Source provides the source code for its programs so that anyone can use, modify or learn how to write those programs themselves. Visit the GNU source code repositories to download the source.
Study at Harvard, Stanford or MIT - Open edX provides free online courses from Harvard, MIT, Columbia, UC Berkeley and other top Universities. Hundreds of courses for almost all major subjects and course levels. Open edx also offers some paid courses and selected certifications.
Linux Manual Pages - A man or manual page is a form of software documentation found on Linux/Unix operating systems. Topics covered include computer programs (including library and system calls), formal standards and conventions, and even abstract concepts.