Linux Debian安装ClamAV和命令行扫描病毒方法,以及用Linux Shell编写了一个批量扫描病毒的脚本
ClamAV是一个开源的跨平台病毒扫描引擎,用于检测恶意软件、病毒、木马等安全威胁。
一、Linux Debian安装ClamAV
在Linux Debian系统上安装ClamAV,你可以按照以下步骤进行:
-
更新软件包列表:
打开终端并更新你的软件包列表:sudo apt update
-
安装ClamAV:
使用apt
安装ClamAV:sudo apt install clamav clamav-daemon
-
更新病毒数据库:
安装完成后,更新病毒数据库:sudo freshclam
这个命令会下载最新的病毒数据库。你可能需要等待几分钟,直到数据库完全更新。
-
配置ClamAV:
根据你的需求配置ClamAV。通常,你可能需要编辑/etc/clamav/clamd.conf
和/etc/clamav/freshclam.conf
文件。 -
启动ClamAV服务:
ClamAV 守护进程(clamd)可以提供实时扫描功能,启动ClamAV守护进程:sudo systemctl start clamav-daemon
如果你想要ClamAV在系统启动时自动运行,可以使用以下命令来启用它:
sudo systemctl enable clamav-daemon
-
测试ClamAV:
测试ClamAV是否正常工作,你可以扫描一个文件:clamscan --infected --remove --recursive /path/to/directory
这个命令会递归扫描指定目录,移除检测到的病毒,并显示被感染的文件。
-
定期更新病毒数据库:
你可以设置一个cron作业来定期更新病毒数据库:sudo crontab -e
然后添加以下行来每天晚上22:00自动更新病毒数据库(需要root账户,普通账户
sudo freshclam
需要输入密码):0 22 * * * freshclam
请注意,这些步骤可能会因为Debian的不同版本而略有不同。如果你遇到任何问题,可以查看ClamAV的官方文档或者Debian的社区论坛获取帮助。
二、ClamAV病毒扫描方法
以下是如何使用ClamAV进行病毒扫描的一些基本命令:
-
扫描单个文件:
clamscan file.txt
这将扫描名为
file.txt
的文件,并显示是否发现病毒。 -
扫描目录:
clamscan -r /path/to/directory
这将递归扫描指定目录及其子目录中的所有文件。
-
扫描结果:
OK
:文件没有被检测到病毒。FOUND
:文件被检测到病毒。
-
移除病毒:
如果你想要ClamAV在发现病毒时自动删除它们,可以使用--remove
选项:clamscan --remove -r /path/to/directory
-
静默模式:
如果你不想看到每个文件的扫描结果,可以使用--quiet
选项:clamscan --quiet -r /path/to/directory
-
扫描结果输出到文件:
你可以将扫描结果输出到一个文件中,以便后续查看:clamscan -r /path/to/directory > scan_results.txt
-
使用ClamAV守护进程:
如果你安装了clamav-daemon
,可以使用clamdscan
命令来利用守护进程进行扫描,这通常比clamscan
更快:clamdscan file.txt
或者扫描目录:
clamdscan -r /path/to/directory
8.查杀病毒完毕后,查找病毒文件:
cat scan_results.txt | grep "FOUND"
9.更新病毒数据库:
在扫描之前,确保你的病毒数据库是最新的:
sudo freshclam
10.设置定期扫描:
你可以设置cron作业来定期自动扫描系统(需要root账户,普通账户sudo clamscan
需要输入密码):
(crontab -l 2>/dev/null; echo "0 2 * * * clamscan -r /path/to/directory") | crontab -
这个命令会在每天凌晨2点扫描指定目录。
请记得在执行这些命令之前,确保ClamAV已经安装在你的系统上,并且病毒数据库是最新的。如果你需要帮助或者想要了解更多高级选项,可以查看ClamAV的官方文档或者使用man clamscan
和man clamdscan
命令来获取手册页。
三、可以编写一个shell脚本
clamav_scan.sh
#!/bin/bash
# 脚本功能:clamav扫描病毒,将威胁文件清除,并生成扫描日志文件#---------------------------------------------------------------------------------
#函数功能:主函数
#---------------------------------------------------------------------------------
function main(){# 判断$1参数是否为空,不为空设置input_scan_pathif [ -z $1 ];then# echo "第一个参数为空"# 获取当前脚本名称local script_name=$(basename "$0")echo "请在运行脚本'${script_name}'名称后面,输入参数:'扫描路径'"exitelse# echo "第一个参数不为空,值为:$1"local input_scan_path=$1fiif [ -d "$input_scan_path" ]; thenecho "输入的扫描路径'$input_scan_path'是一个目录"echo "clamav开始扫描病毒:"# 将一个空字符串写入scan_results.txt文件中。如果文件不存在,将会创建一个空的文件echo "创建存储扫描结果文件'scan_results.txt'"echo "" > scan_results.txtecho "clamav扫描病毒中......"# clamscan开始扫描查杀病毒sudo clamscan --log=scan_results.txt --infected --remove --recursive "$input_scan_path"echo "clamav结束扫描病毒。请查看并分析创建扫描结果文件'scan_results.txt'"elif [ -f "$input_scan_path" ]; thenecho "输入的扫描路径'$input_scan_path'是一个文件"echo "clamav开始扫描病毒:"# 将一个空字符串写入scan_results.txt文件中。如果文件不存在,将会创建一个空的文件echo "创建存储扫描结果文件'scan_results.txt'"echo "" > scan_results.txtecho "clamav扫描病毒中......"# clamscan开始扫描查杀病毒sudo clamscan --log=scan_results.txt --infected --remove "$input_scan_path"echo "clamav结束扫描病毒。请查看并分析创建扫描结果文件'scan_results.txt'"elseecho "输入的扫描路径'$input_scan_path'既不是目录也不是文件,请核实输入的扫描路径。"exitfi
}# ---------------执行主函数-------------------
main $1
1.赋予shell脚本文件执行权限
chmod +x clamav_scan.sh
2.运行shell脚本,请在运行脚本名称后面,输入一个扫描路径参数:
./clamav_scan.sh "扫描路径"
测试效果:
相关文章:

Linux Debian安装ClamAV和命令行扫描病毒方法,以及用Linux Shell编写了一个批量扫描病毒的脚本
ClamAV是一个开源的跨平台病毒扫描引擎,用于检测恶意软件、病毒、木马等安全威胁。 一、Linux Debian安装ClamAV 在Linux Debian系统上安装ClamAV,你可以按照以下步骤进行: 更新软件包列表: 打开终端并更新你的软件包列表&#…...
Spring创建异步线程,使用@Async注解时不指定value可以吗?
在Spring中使用Async注解时,不指定value是可以的。如果没有指定value(即线程池的名称),Spring会默认使用名称为taskExecutor的线程池。如果没有定义taskExecutor线程池,则Spring会自动创建一个默认的线程池。 默认行为…...

二分和离散化
为什么把二分和离散化放一起:因为离散化其实是一种二分整数的过程。 二分 相信大家都接触过二分查找(折半查找),这就是二分的思想。 二分通过每次舍弃一半并不存在答案的区间,进而快速锁定要求的答案(二…...

深度学习实战102-基于深度学习的网络入侵检测系统,利用各种AI模型和pytorch框架实现网络入侵检测
大家好,我是微学AI,今天给大家介绍一下深度学习实战102-基于深度学习的网络入侵检测系统,利用各种AI模型和pytorch框架实现网络入侵检测。近年来,网络安全威胁日益严峻,传统基于规则的方法难以应对复杂多变的入侵手段。 深度学习技术凭借其强大的特征学习能力和自适应性,…...

vue3使用element-plus,解决 el-table 多选框,选中后翻页再回来选中失效问题
问题:勾选的数据分页再回来回消失 1.在el-table中加 :row-key"getRowKey" const getRowKey (row) > { return row.id; // id必须是唯一的 }; 2.给type为selection的el-table-column添加上reserve-selection属性 <el-tableref"multipleTab…...

网络的类型
BMA---广播型多路访问--在一个网段内可以放置多个物理节点,同时该范围内可以实施广播洪泛机制 【1】以太网-->共享型 属性典型的 BMA类型;以太网技术的核心为频分一在同一物理介质上,使用多个相互不干涉的频率电波来共同传输数据,实现带宽的不断提升…...

实现类似gpt 打字效果
1. css的动画(animation) css中实现动画有两种方式:transition过渡动画、 animation自定义动画。 具体的可以看MDN链接:https://developer.mozilla.org/zh-CN/docs/Web/CSS/animation 使用keyframes自定义关键帧动画并未其命名使用自定义动…...
项目需求分析流程
项目需求分析是软件开发或任何工程项目中至关重要的第一步。它帮助确保团队理解客户的需求,并为后续的设计、开发和测试工作提供指导。以下是一个详细的需求分析流程: 一、确定项目目标 与利益相关者沟通:包括但不限于客户、最终用户、销售…...

idea连接SQL Server数据库_idea连接sqlserver数据库
4.设置密码(这一步可以在安装数据库时就可以完成),如果觉得用户名有问题,也可以修改用户名 5.查看SQL Server端口号(默认端口:1433),选择SQL Server2019配置管理器 6.打开SQL Server…...

Scala_【2】变量和数据类型
第二章 注释标识符的命名规范命名规则关键字 变量字符串输出数据类型关系变量和数据类型整数类型(Byte、Short、Int、Long)浮点类型(Float、Double)字符类型(Char)布尔类型(Boolean)…...

u3d中JSON数据处理
一.认识JSON 1.1 Json概述 JSON(JavaScript Object Notation,JavaScript对象表示法)JSON和XML是比较类似的技术,都是用来存储文本信息数据的;相对而言,JSON比XML体积更小巧,但是易读性不如XML…...

idea 安装插件(在线安装、离线安装)
目录 在线安装 离线安装 在线安装 1、打开IntelliJ IDEA 2024.x软件, 点击file-Settings 2、点击搜索框,输入plugins,找到plugins列,输入xxx软件--点击install 安装 3、重启idea 离线安装 1、在官网上下载插件包 (1&…...
springboot maven 构建 建议使用 --release 21 而不是 -source 21 -target 21,因为它会自动设置系统模块的位置
使用 --release 选项代替 -source 和 -target 是一种更安全、更兼容的方式,特别是在构建使用较新版本 JDK 的项目时。以下是详细解释和建议: 1. 为什么推荐使用 --release 问题点: 使用 -source 和 -target 标志时,仅设置了代码的语言级别和字节码目标版本,但编译器仍可…...

离散数学 复习 详细(子群,元素的周期,循环群,合同)
子群: 定义: 设(G,)是一个群,H属于G,如果(H,)仍是一个群,则(H,)叫做(G,)的子群。如果G的一个子群H不等于G,即H是G的真子集,则(H,)叫做(G,)的真子群 平凡子群和非平凡子群: 任意群都有两个子集一定是群 (平凡子群):{e} {G},其他…...

Java后端常见问题 (一)jar:unknown was not found in alimaven
1.安装配置maven时未将原来的 mirror 标签注释掉 解决方法:找到 mirrors 标签,先将原来配置的http://0.0.0.0给注释了,这个是高版本的maven增加的一个保护机制,如果不注释,那么使用的时候就下载不了jar包,如下图所示。…...

overleaf中文生僻字显示不正确,显示双线F
我是不想换全文字体的,只是一个生僻字显示不出来,就想要像word一样,把这个生僻字用包含这个生僻字的字体来显示就好了。 解决步骤: 1、使用如下宏包: \usepackage{xeCJK} %声明宏包,主要用于支持在XeTeX…...
C语言中的贪心算法
贪心算法(Greedy Algorithm)是一种在每一步选择中都采取当前最优解的算法,希望通过局部最优解的选择,最终得到全局最优解。它常用于解决最优化问题,如最小生成树、最短路径等。本文将从理论到实践,逐步引导…...

虚幻引擎结构之UWorld
Uworld -> Ulevel ->Actors -> AActor 在虚幻引擎中,UWorld 类扮演着至关重要的角色,它就像是游戏世界的总指挥。作为游戏世界的核心容器,UWorld 包含了构成游戏体验的众多元素,从游戏实体到关卡设计,再到物…...
太通透了,Android 流程分析 蓝牙enable流程(stack/hidl)
零. 前言 由于Bluedroid的介绍文档有限,以及对Android的一些基本的知识需要了(Android 四大组件/AIDL/Framework/Binder机制/JNI/HIDL等),加上需要掌握的语言包括Java/C/C++等,加上网络上其实没有一个完整的介绍Bluedroid系列的文档,所以不管是蓝牙初学者还是蓝牙从业人员…...
2.微服务灰度发布落地实践(agent实现)
前言 据上一篇,设计方案的分析,综合考虑,最终决定,客户端采用agent方案实现,具本原因不再赘述, 感觉兴趣的小伙伴可以回头了解一下.该篇主要讲java agent的实现,灰度agent客户端的基础框架实现 java agent的介绍 ja…...

(LeetCode 每日一题) 3442. 奇偶频次间的最大差值 I (哈希、字符串)
题目:3442. 奇偶频次间的最大差值 I 思路 :哈希,时间复杂度0(n)。 用哈希表来记录每个字符串中字符的分布情况,哈希表这里用数组即可实现。 C版本: class Solution { public:int maxDifference(string s) {int a[26]…...

接口测试中缓存处理策略
在接口测试中,缓存处理策略是一个关键环节,直接影响测试结果的准确性和可靠性。合理的缓存处理策略能够确保测试环境的一致性,避免因缓存数据导致的测试偏差。以下是接口测试中常见的缓存处理策略及其详细说明: 一、缓存处理的核…...

华为云AI开发平台ModelArts
华为云ModelArts:重塑AI开发流程的“智能引擎”与“创新加速器”! 在人工智能浪潮席卷全球的2025年,企业拥抱AI的意愿空前高涨,但技术门槛高、流程复杂、资源投入巨大的现实,却让许多创新构想止步于实验室。数据科学家…...

无法与IP建立连接,未能下载VSCode服务器
如题,在远程连接服务器的时候突然遇到了这个提示。 查阅了一圈,发现是VSCode版本自动更新惹的祸!!! 在VSCode的帮助->关于这里发现前几天VSCode自动更新了,我的版本号变成了1.100.3 才导致了远程连接出…...

理解 MCP 工作流:使用 Ollama 和 LangChain 构建本地 MCP 客户端
🌟 什么是 MCP? 模型控制协议 (MCP) 是一种创新的协议,旨在无缝连接 AI 模型与应用程序。 MCP 是一个开源协议,它标准化了我们的 LLM 应用程序连接所需工具和数据源并与之协作的方式。 可以把它想象成你的 AI 模型 和想要使用它…...

ESP32读取DHT11温湿度数据
芯片:ESP32 环境:Arduino 一、安装DHT11传感器库 红框的库,别安装错了 二、代码 注意,DATA口要连接在D15上 #include "DHT.h" // 包含DHT库#define DHTPIN 15 // 定义DHT11数据引脚连接到ESP32的GPIO15 #define D…...

屋顶变身“发电站” ,中天合创屋面分布式光伏发电项目顺利并网!
5月28日,中天合创屋面分布式光伏发电项目顺利并网发电,该项目位于内蒙古自治区鄂尔多斯市乌审旗,项目利用中天合创聚乙烯、聚丙烯仓库屋面作为场地建设光伏电站,总装机容量为9.96MWp。 项目投运后,每年可节约标煤3670…...
鸿蒙中用HarmonyOS SDK应用服务 HarmonyOS5开发一个生活电费的缴纳和查询小程序
一、项目初始化与配置 1. 创建项目 ohpm init harmony/utility-payment-app 2. 配置权限 // module.json5 {"requestPermissions": [{"name": "ohos.permission.INTERNET"},{"name": "ohos.permission.GET_NETWORK_INFO"…...

学校时钟系统,标准考场时钟系统,AI亮相2025高考,赛思时钟系统为教育公平筑起“精准防线”
2025年#高考 将在近日拉开帷幕,#AI 监考一度冲上热搜。当AI深度融入高考,#时间同步 不再是辅助功能,而是决定AI监考系统成败的“生命线”。 AI亮相2025高考,40种异常行为0.5秒精准识别 2025年高考即将拉开帷幕,江西、…...

html css js网页制作成品——HTML+CSS榴莲商城网页设计(4页)附源码
目录 一、👨🎓网站题目 二、✍️网站描述 三、📚网站介绍 四、🌐网站效果 五、🪓 代码实现 🧱HTML 六、🥇 如何让学习不再盲目 七、🎁更多干货 一、👨…...