查找Linux系统中某个软件是否安装/存在

  • 通用方法--不区分Linux版本
    • 从进程查看
    • 用which查看
    • type定位命令行
    • 从用户自定义的变量中查询
    • whereis查找
    • locate查找
    • find--终极办法
  • Cetnos系统
    • 用yum查看--仅适用于yum安装
    • 用rpm查看
  • Ubuntu系统
    • 用dpkg查看
    • find加强

通用方法–不区分Linux版本

参考 https://blog.csdn.net/weixin_39611754/article/details/113328255

从进程查看

ps aux   | grep nginx## 打印结果
[root@liqiaofei-test ~]# ps aux|grep nginx
root       414  0.0  0.0  39304   960 ?        Ss   09:51   0:00 nginx: master process /usr/sbin/nginx
nginx      415  0.0  0.1  39724  2328 ?        S    09:51   0:00 nginx: worker process
nginx     8833  0.0  0.2 232664  4080 ?        S    09:58   0:00 php-fpm: pool www
nginx     8834  0.0  0.2 232664  4664 ?        S    09:58   0:00 php-fpm: pool www
nginx     8835  0.0  0.3 232664  5480 ?        S    09:58   0:00 php-fpm: pool www
nginx     8836  0.0  0.2 232664  4080 ?        S    09:58   0:00 php-fpm: pool www
nginx     8837  0.0  0.2 232664  4664 ?        S    09:58   0:00 php-fpm: pool www
root     18586  0.0  0.0 112812   976 pts/3    R+   10:31   0:00 grep --color=auto nginx

用which查看

which命令的作用是在PATH变量指定的路径中,搜索某个系统命令的位置,并且返回第一个搜索结果。
原理同下.

[root@liqiaofei-test ~]# which nginx
/usr/sbin/nginx

type定位命令行

# 定位dig命令
type -a dig

从用户自定义的变量中查询

用户用源码或二进制包安装的程序,为了便于操作,一般都会设置变量

# 查看/etc/prifle
cat /etc/profile |grep nginx# 查看~/.bashrc
cat ~/.bashrc |grep nginx# 查看~./bash_profile
cat ~/.bash_profile |grep nginx

whereis查找

whereis依赖于数据库文件,每天更新一次,所以今天添加的文件可能找不到。
Whereis和which功能类似,但是它不仅能找到程序路径,还会列出程序的man手册

# 手动更新索引数据库
updatedb# 查找nginx
whereis nginx

locate查找

locate基于find,locate有个缺点,就是基于数据库,这个数据库每天更新一遍.所以可能找不到最新的文件

# 安装mlocate
yum install mlocate -y
# 手动更新索引数据库
updatedb# 查找nginx
locate nginx

find–终极办法

效率最低的方式,不推荐

find / --name nginx

Cetnos系统

用yum查看–仅适用于yum安装

# 从yum已安装列表中过滤
yum list installed|grep nginx## 打印结果
[root@liqiaofei-test ~]# yum list installed|grep nginx
nginx.x86_64                         1:1.20.1-2.el7                    @epel
nginx-filesystem.noarch              1:1.20.1-2.el7                    @epel

用rpm查看

# rpm-qa模糊查询
##rpm -qa | grep “软件或者包的名字”。
rpm -qa|grep ngin## 打印结果
[root@liqiaofei-test ~]# rpm -qa|grep ngin
nginx-filesystem-1.20.1-2.el7.noarch
nginx-1.20.1-2.el7.x86_64

Ubuntu系统

查看文件由哪个包提供

用dpkg查看

# 用dpkg -l 过滤
dpkg-l|grep nginx# 查看安装位置
dpkg -L | grep nginx

find加强

在系统中查找具有指定特征的文件或者路径
-name 根据文件名进行查找
例如; find -name “.txt" 在当前目录下查找出所有以.txt结尾的文件
-perm
find -perm 775 在当前目录下查找权限是775的所有文件
-user 根据当前用户来,按照文件拥有者查找
find -user 用户名
find -user root
查询属主为root的文件
-nouser 查找没有用户的文件
find -nouser
查询无属主的文件
-group 按照文件所属组进行查找
find -group test3
-type,根据类型来查找
find -type f
f代表文件
find -type d
d代表路径
不想查找用感叹号 !
find ! -type f 不查找文件
等价于find -type d
-exec
系统调用exec是以新的进程去代替原来的进程,但进程的PID保持不变。因此,可以这样认为,exec系统调用并没有创建新的进程,只是替换了原来进程上下文的内容。原进程的代码段,数据段,堆栈段被新的进程所代替。
find -name "
.txt” -exec rm -rf {} ;
最后面是分号
find -name “.sql" -exec ls -la {} ;
查找文件名后缀以.sql结尾,的文件的详细信息
{}用来存放前面find出来的结果
find . -name "
.txt” -exec cp {} /opt ;
-ok
用法跟exec完全一致,区别在与会询问你是否执行
whereis 命令名
查找系统二进制文件的位置 例如whereis find
which
在系统的环境变量中查找
which python
alias
给命令 取别名 例如:alias la=‘ls -a’
unalias la
一般在~/.bashrc中的alias中添加
添加完执行sourc ~/.bashrc生效

查找Linux系统中某个软件是否安装/存在相关推荐

  1. Linux系统中常用软件的安装(os7)

    # Linux系统中常用软件的安装(os7) 文章目录 1 `JDK`安装 2 `tomcat`安装 (1) 解压缩tomcat.tar.gz (2) 运行tomcat/bin/startup.sh ...

  2. Linux系统中的软件管理

    Linux系统中的软件管理 1 Linux中软件包的类型 2 软件包的名称结构 3 rpm命令管理软件包 4 本地软件仓库的搭建 4.1 系统软件仓库的作用 4.2 搭建方法 5 dnf 软件管理命令 ...

  3. Linux系统中的软件管理详解(下)—搭建网络软件仓库及第三方软件仓库

    Linux系统中的软件管理详解(下) 5.软件仓库管理命令 a)dnf 命令: 管理软件仓库中的安装包 dnf repolist ##列出仓库信息clean all ##清除系统中已经加载的仓库缓存信 ...

  4. 12.linux系统中的软件管理

    12.linux系统中的软件管理 1.Linux中软件包的类型 1.DEB UBlinux DEBlinux 2.RPM redhat centOS fadora 3.bz2|gz|xz 1)需要源码 ...

  5. Linux软件卸载器,linux系统中卸载软件的方法

    linux系统中卸载软件的方法 发布时间:2020-06-21 12:03:01 来源:亿速云 阅读:102 作者:元一 Linux操作系统是基于UNIX操作系统发展而来的一种克隆系统,它诞生于199 ...

  6. 详解Linux系统中的软件管理及软件仓库

    目录 一.Linux中软件包的类型 二.软件包的名称结构 三.rpm命令管理软件包 四.本地软件仓库的搭建 五.dnf软件管理命令 总结 一.Linux中软件包的类型 DEB UEBlinux DEB ...

  7. RH124 第十二章 Linux系统中的软件管理

    RH124 第十二章 Linux系统中的软件管理 1.Linux中软件包的类型 1.DEB #UBlinux DEBlinux 2.RPM #redhat centOS fc 3.bz2|gz|xz ...

  8. Php 安装 zend_loader,在Linux系统中为PHP5.x安装Zend Guard Loader

    从PHP5.3开始如果要支持ZendGuard加密的PHP代码,必须安装Zend Guard Loader,老的zend optimizer将不被支持,如使用了ZendGuard加密的PHP代码的网站 ...

  9. Linux系统下工具软件的安装

    Linux系统下软件的几种安装方法 1 背景 2 环境 3 安装工具 3.1 准备工作 3.1.1 更新系统 3.2 系统工具 3.2.1 elementary-tweaks 工具 3.2.3 Edd ...

  10. Part1.8——Linux系统中的软件管理

    目录 一.Linux中软件包的类型 二.软件包的名称结构 三.rpm命令管理软件包 四.本地软件仓库的搭建 1.系统软件仓库的作用是什么? 2.搭建方法 (1)在系统中加载安装系统时使用的安装镜像 ( ...

最新文章

  1. 极光推送后台php接口,极光推送Jpush(v2)接口 服务端PHP版本的REST API推送类
  2. 卷积神经网络CNN 手写数字识别
  3. 使用GetProcAddress获取ZwUnmapViewOfSection函数指针
  4. linux系统从开机到登录之前的启动流程
  5. android 首选项框架,Android:创建自定义首选项
  6. Python数据分析模块 | pandas做数据分析(二):常用预处理操作
  7. 微信小程序|开发实战篇之十-一些细节处理
  8. python打包exe黑框一闪而过,解决pyinstaller打包exe文件出现命令窗口一闪而过的问题...
  9. CentOS7.5安装MySql8.0
  10. Guitar Pro如何更改五线谱的符杆方向
  11. 利用微软输入法 入侵2003服务器,打开Word或Excel也可被攻击 金山卫士推送微软补丁...
  12. 【专栏必读】软件工程导论第六版(张海藩)专栏学习笔记目录导航
  13. 手机当启动U盘DriveDroid 版本 0.10.3 功能无限制版使用教程
  14. Linux如何增加SSH端口号
  15. 欧姆龙PLC的FINS协议解释(实测通过)
  16. RTL8812AU/21AU and RTL8814AU drivers and linux driver
  17. TencentOS-tiny 时间管理(十 六)- 时间片轮转机制
  18. 如何使用html实现在线秒表,js实现简单的秒表
  19. 【转】搜狗开源内部项目管理平台Cynthia意欲何为
  20. 使用navicat连接腾讯云mysql数据库

热门文章

  1. 半导体物理学习札记1
  2. python如何屏幕截图_Python实现屏幕截图的两种方式
  3. 【转】知识图谱构建全过程
  4. vue 下载pdf文件
  5. 人类简史下载pdf_《人类简史:从动物到上帝》高清扫描版pdf下载
  6. 泛微自带第三方短信接口
  7. scratch作品_孩子的scratch作品只能演示?教你把它三步变为电脑软件
  8. el-select默认选中第一个,设置默认值
  9. wireshark之npcap-1.50及以上版本在winserver2008-r2-sp1和win7上的问题
  10. Hadoop之纠删码