在linux环境中,判断系统是否已经安装了ftp服务端或客户端程序,是运维和开发中的常见需求。我们可以根据自己所用的发行版,选择对应的方式来做检查。

使用包管理器查询已安装的ftp包
大部分linux发行版都提供了包管理工具,能直接列出已安装软件。下面给出常见系统的做法。
CentOS或RHEL系列
可以使用rpm命令搜索ftp相关的包名:
# 查看是否安装了ftp客户端 rpm -qa | grep ftp # 查看vsftpd服务端是否安装 rpm -qa | grep vsftpd
如果命令有输出,说明对应包已安装;没有输出则表示未安装。
Ubuntu或Debian系列
使用dpkg来查询:
# 查询ftp客户端包 dpkg -l | grep ftp # 查询vsftpd服务端包 dpkg -l | grep vsftpd
直接执行ftp命令检测客户端
若只是想确认能否使用ftp命令,可直接在终端输入:
which ftp ftp -v
当系统返回ftp的版本信息或路径时,代表客户端已存在;若提示command not found,则未安装。
检查ftp服务进程与文件
对于服务端,可以看是否有vsftpd等进程在运行:
ps aux | grep vsftpd
同时也可检查常见的二进制文件位置:
ls -l /usr/sbin/vsftpd ls -l /usr/bin/ftp
| 检查目标 | 推荐命令 | 未安装表现 |
|---|---|---|
| ftp客户端 | which ftp | 无路径输出 |
| vsftpd服务端 | rpm -qa | grep vsftpd | 无结果返回 |
小结
通过上述包查询、命令探测和文件检查三类方法,就能清楚知道linux主机里是否装了ftp。实际排查时,建议先确认发行版,再用对应包管理器查一遍,基本不会漏判。