.TH "clamscan" "1" "February 12, 2007" "ClamAV 0.90" "Clam AntiVirus"
.SH "NAME"
.LP 
clamscan \- scan files and directories for viruses
.SH "SYNOPSIS"
.LP 
clamscan [options] [file/directory/\-]
.SH "DESCRIPTION"
.LP 
clamscan is a command line anti\-virus scanner.
.SH "OPTIONS"
.LP 

.TP 
\fB\-h, \-\-help\fR
Print help information and exit.
.TP 
\fB\-V, \-\-version\fR
Print version number and exit.
.TP 
\fB\-v, \-\-verbose\fR
Be verbose.
.TP 
\fB\-\-debug\fR
Display debug messages from libclamav.
.TP 
\fB\-\-quiet\fR
Be quiet (only print error messages).
.TP 
\fB\-\-stdout\fR
Write all messages (except for libclamav output) to the standard output (stdout).
.TP 
\fB\-d FILE/DIR, \-\-database=FILE/DIR\fR
Load virus database from FILE or load all virus database files from DIR.
.TP 
\fB\-l FILE, \-\-log=FILE\fR
Save scan report to FILE.
.TP 
\fB\-\-tempdir=DIRECTORY\fR
Create temporary files in DIRECTORY. Directory must be writable for the 'clamav' user or unprivileged user running clamscan.
.TP 
\fB\-\-leave\-temps\fR
Do not remove temporary files.
.TP 
\fB\-r, \-\-recursive\fR
Scan directories recursively. All the subdirectories in the given directory will be scanned.
.TP 
\fB\-\-bell\fR
Sound bell on virus detection.
.TP 
\fB\-\-no\-summary\fR
Do not display summary at the end of scanning.
.TP 
\fB\-\-exclude=PATT, \-\-exclude\-dir=PATT\fR
Don't scan file/directory names containing PATT. It may be used multiple times.
.TP 
\fB\-\-include=PATT, \-\-include\-dir=PATT\fR
Only scan file/directory names containing PATT. It may be used multiple times.
.TP 
\fB\-i, \-\-infected\fR
Only print infected files.
.TP 
\fB\-\-remove\fR
Remove infected files. \fBBe careful.\fR
.TP 
\fB\-\-move=DIRECTORY\fR
Move infected files into DIRECTORY. Directory must be writable for the 'clamav' user or unprivileged user running clamscan.
.TP 
\fB\-\-copy=DIRECTORY\fR
Copy infected files into DIRECTORY. Directory must be writable for the 'clamav' user or unprivileged user running clamscan.
.TP 
\fB\-\-no\-mail\fR
Disable scanning of mail files.
.TP 
\fB\-\-no\-phishing\-sigs\fR
Disable signature-based phishing detection.
.TP 
\fB\-\-no\-phishing\-scan\-urls\fR
Disable url-based phishing detection. (Only available in experimental builds)
.TP
\fB\-\-no\-phishing\-restrictedscan\fR
Enable phishing detection for all domains (might lead to false positives!).(Only available in experimental builds)
.TP
\fB\-\-phishing\-ssl\fR
Always block SSL mismatches in URLs (might lead to false positives!). (Only available in experimental builds) 
.TP
\fB\-\-phishing\-cloak\fR
Always block cloaked URLs (might lead to some false positives). (Only available in experimental builds)
.TP
\fB\-\-no\-algorithmic\fR
In some cases (eg. complex malware, exploits in graphic files, and others), ClamAV uses special algorithms to provide accurate detection. This option disables the algorithmic detection.
.TP 
\fB\-\-no\-pe\fR
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. This option \fBdisables\fR PE support and should be used with care!
.TP 
\fB\-\-no\-elf\fR
Executable and Linking Format is a standard format for UN*X executables. This option \fBdisables\fR ELF support.
.TP 
\fB\-\-no\-ole2\fR
Disable support for Microsoft Office documents and .msi files.
.TP 
\fB\-\-no\-pdf\fR
Disable scanning within PDF files.
.TP 
\fB\-\-no\-html\fR
Disable support for HTML detection and normalisation.
.TP 
\fB\-\-no\-archive\fR
Disable archive support built in libclamav.
.TP 
\fB\-\-detect\-broken\fR
Mark broken executables as viruses (Broken.Executable).
.TP 
\fB\-\-block\-encrypted\fR
Mark encrypted archives as viruses (Encrypted.Zip, Encrypted.RAR).
.TP 
\fB\-\-block\-max\fR
Mark archives as viruses (e.g. RAR.ExceededFileSize, Zip.ExceededFilesLimit) if max\-files, max\-space, or max\-recursion is reached.
.TP 
\fB\-\-mail\-follow\-urls\fR
If an email contains URLs ClamAV can download and scan them. \fBWARNING: This option may open your system to a DoS attack. Never use it on loaded servers.\fR
.TP 
\fB\-\-max\-files=#n\fR
Extract first #n files from each archive. This option protects your system against DoS attacks (default: 500)
.TP 
\fB\-\-max\-space=#n\fR
Extract first #n kilobytes from each archive. You may pass the value in megabytes in format xM or xm, where x is a number. This option protects your system against DoS attacks (default: 10 MB)
.TP 
\fB\-\-max\-recursion=#n\fR
Set archive recursion level limit. This option protects your system against DoS attacks (default: 8).
.TP 
\fB\-\-max\-ratio=#n\fR
Set maximum archive compression ratio limit. This option protects your system against DoS attacks (default: 250).
.TP
\fB\-\-max\-mail\-recursion=#n\fR
Recursion level limit for the internal mail scanner.
.TP 
\fB\-\-max\-dir\-recursion=#n\fR
Maximum depth directories are scanned at (default: 15).
.TP 
\fB\-\-unzip[=FULLPATH]\fR
In most cases you don't need this option \- the built\-in unarchiver will extract Zip archives. Howvere, this option may be used as a backup for internal unpacker \- see the full documentation for more information. When enabled without an argument, unzip program will be searched in $PATH. If unzip cannot be found in $PATH, you must force it with =pathname. Remember about '=' between the option and the argument.
.TP 
\fB\-\-unrar[=FULLPATH]\fR
Scan .rar files. In most cases the unpacker built into libclamav is enough.
.TP 
\fB\-\-arj[=FULLPATH]\fR
Scan .arj files.
.TP 
\fB\-\-unzoo[=FULLPATH]\fR
Scan .zoo files.
.TP 
\fB\-\-lha[=FULLPATH]\fR
Scan .lzh files.
.TP 
\fB\-\-jar[=FULLPATH]\fR
clamscan uses unzip for .jar files, so in some cases you may need to pass a full path to unzip. In most cases the unpacker built into libclamav is enough.
.TP 
\fB\-\-deb[=FULLPATH]\fR
This option supports debian binary packages. Implies \-\-tgz, but doesn't conflict with \-\-tgz=FULLPATH. It requires ar utility.
.TP 
\fB\-\-tar[=FULLPATH]\fR
This option supports non\-compressed tar archives. In most cases the unpacker built into libclamav is enough.
.TP 
\fB\-\-tgz[=FULLPATH]\fR
This option supports tar.gz and .tgz files. You need GNU tar, on non\-Linux system you probably have it installed as gtar. If it's in $PATH, please use \-\-tgz=gtar in other case please pass a full path. In most cases the unpacker built into libclamav is enough.
.SH "EXAMPLES"
.LP 
.TP 
(0) Scan a single file:

\fBclamscan file\fR
.TP 
(1) Scan a current working directory:

\fBclamscan\fR
.TP 
(2) Scan all files (and subdirectories) in /home:

\fBclamscan \-r /home\fR
.TP 
(3) Load database from a file and limit disk usage to 50 MB:

\fBclamscan \-d /tmp/newclamdb \-\-max\-space=50m \-r /tmp\fR
.TP 
(4) Scan a data stream:

\fBcat testfile | clamscan \-\fR
.TP 
(5) Scan a mail spool directory:

\fBclamscan \-r /var/spool/mail\fR
.SH "RETURN CODES"
.LP 
Note: some return codes may only appear in a single file mode (when clamscan is started with a single argument). Those are marked with \fB(ofm)\fR.

0 : No virus found.
.TP 
1 : Virus(es) found.
.TP 
40: Unknown option passed.
.TP 
50: Database initialization error.
.TP 
52: Not supported file type.
.TP 
53: Can't open directory.
.TP 
54: Can't open file. (ofm)
.TP 
55: Error reading file. (ofm)
.TP 
56: Can't stat input file / directory.
.TP 
57: Can't get absolute path name of current working directory.
.TP 
58: I/O error, please check your file system.
.TP 
59: Can't get information about current user from /etc/passwd.
.TP 
60: Can't get information about user 'clamav' (default name) from /etc/passwd.
.TP 
61: Can't fork.
.TP 
62: Can't initialize logger.
.TP 
63: Can't create temporary files/directories (check permissions).
.TP 
64: Can't write to temporary directory (please specify another one).
.TP 
70: Can't allocate memory (calloc).
.TP 
71: Can't allocate memory (malloc).
.SH "CREDITS"
Please check the full documentation for credits.
.SH "AUTHOR"
.LP 
Tomasz Kojm <tkojm@clamav.net>
.SH "SEE ALSO"
.LP 
clamdscan(1), freshclam(1)