Core options
Quick reference
- -n, --processes INTEGER
Scan
<input>using n parallel processes.Default:
(number of CPUs)-1- -v, --verbose
Print verbose file-by-file progress messages.
- -q, --quiet
Do not print summary or progress messages.
- --timeout FLOAT
Stop scanning a file if scanning takes longer than a timeout in seconds.
Default:
120- --from-json
Load codebase from one or more existing JSON scans to:
apply post-scan options to do additional processing of scan results
merge multiple JSON scans into one.
- --max-in-memory INTEGER
Maximum number of files and directories scan details kept in memory during a scan. Additional files and directories scan details above this number are cached on-disk rather than in memory. Use 0 to use unlimited memory and disable on-disk caching. Use -1 to use only on-disk caching.
Default:
10000- --max-depth INTEGER
Descend at most INTEGER levels of directories including and below the starting point. INTEGER must be positive or zero for no limit.
Default:
0
Comparing progress message options
Default progress message
By default a rolling progress bar and scanned file count is shown.
Scanning files for: infos, licenses, copyrights, packages, emails, urls with 1 process(es)... Building license detection index...Done. Scanning files... [####################] 43 Scanning done. Scan statistics: 43 files scanned in 33s. Scan options: infos, licenses, copyrights, packages, emails, urls with 1 process(es). Scanning speed: 1.4 files per sec. Scanning time: 30s. Indexing time: 2s. Saving results.Progress message with –verbose
When
--verboseis enabled, progress messages for individual files are shown.Scanning files for: infos, licenses, copyrights, packages, emails, urls with 1 process(es)... Building license detection index...Done. Scanning files... Scanned: screenshot.png Scanned: README ... Scanned: zlib/dotzlib/ChecksumImpl.cs Scanned: zlib/dotzlib/readme.txt Scanned: zlib/gcc_gvmat64/gvmat64.S Scanned: zlib/ada/zlib.ads Scanned: zlib/infback9/infback9.c Scanned: zlib/infback9/infback9.h Scanned: arch/zlib.tar.gz Scanning done. Scan statistics: 43 files scanned in 29s. Scan options: infos, licenses, copyrights, packages, emails, urls with 1 process(es). Scanning speed: 1.58 files per sec. Scanning time: 27s. Indexing time: 2s. Saving results.With the ``–quiet`` option enabled, nothing is printed on the command line.
--timeout
This option sets scan timeout for each file (and not the entire scan). If some file scan exceeds the specified timeout, that file isn’t scanned anymore and the next file scanning starts. This helps avoiding very large/long files, and saves time.
Also the number (timeout in seconds) to be followed by this option can be a floating point number, i.e. 1.5467.
--from-json
If you want to input scan results from a .json file, and run a scan again on those same files, with some other options/output format, you can do so using the
--from-jsonoption.Example
scancode --from-json sample.json --json-pp sample_2.json --classifyThis inputs the scan results from
sample.json, runs the post-scan plugin--classifyand outputs the results for this scan tosample_2.json.
--max-in-memory INT
During a scan, as individual files are scanned, the scan details for those files are kept on memory till the scan is completed. Then after the scan is completed, they are written in the specified output format.
Now, if the scan involves a very large number of files, they might not fit in the memory during the scan. For this reason, disk-caching can be used for some/all of the files.
Some important INTEGER values of the
--max-in-memory INTEGERoption:
0 - Unlimited ,emory, store all the file/directory scan results on memory
-1 - Use only disk-caching, store all the file/directory scan results on disk
10000 - Default, store 10,000 file/directory scan results on memory and the rest on disk
Example
scancode -clieu --json-pp sample.json samples --max-in-memory -1
--max_depth INT
Normally, the scan takes place upto the maximum level of nesting of directories possible. But using the
--max-depthoption, you can specify the maximum level of directories to scan, including and below the root location. This can reduce the time taken for the scan when deeper directories are not relevant.Note that the
--max-depthoption will be ignored if you are scanning from a JSON file using the--from-jsonoption. In that case, the original depth is used.Example
scancode -clieu --json-pp results.json samples --max-depth 3This would scan the file
samples/levelone/leveltwo/filebut ignoresamples/levelone/leveltwo/levelthree/file