Linux系统下查找安装包所在目录

想知道Linux系统下安装了哪些软件包,以及软件包安装在哪个目录下,可以用以下命令

1. which

which命令查找出相关命令是否已经在搜索路径中,例子如下:

$which gcc //显示出GNC的C编译器安装在哪个目录

返回结果为:

/usr/bin/gcc

注意:如果which没有找到要找的命令,可以试试whereis,该命令搜索更大的范围的系统目录。有些系统上的which命令不显示用户没有执行权限的文件。例如

$which ipppd

/usr/bin/which :no ipppd in (/bin: /usr/bin: /sbin:/usr/sbin)

$whereis ipppd

ipppd: /usr/sbin/ipppd

$ls -l /usr/sbin/ipppd

-rwx------ 1 root root 124924 Feb 3 2000 /usr/sbin/ipppd

2. locate

locate命令用于查找文件,它比find命令的搜索速度快,它需要一个数据库,这个数据库由每天的例行工作(crontab)程序来建立。当我们建立好这个数据库后,就可以方便地来搜寻所需文件了。

即先运行:updatedb(无论在那个目录中均可,可以放在crontab中 )后在 /var/lib/slocate/ 下生成 slocate.db 数据库即可快速查找。在命令提示符下直接执行#updatedb 命令即可。

$locate signal.h

/usr/include/asm/signal.h

/usr/include/linux/signal.h

/usr/include/signal.h

/usr/include/sys/signal.h

3. rpm (centos)

如果用户知道自己要查找到软件包的名字,可以直接使用下面的命令。这个命令只在支持rpm的linux版本上有效,如redhat,centos,fedora和suse等。

$ rpm -q python //查找检查系统是否安装了python

python-1.5.2-27

或者:$rpm -qa| grep python //这是两个命令的结合

rpm的其他用法:

rpm -qa (列出所有安装了的包)

rpm -e package (删除某个包)

rpm -qi package (查询某个包)

rpm -qf command (根据程序查询包的名字)

rpm -ql package (查询某个包所有的安装文件)

4.yum(centos)

yum的参数很多,以下是用于查找软件包的命令。但是也只支持特定的发型版本,centos下最常用的命令

$yum list //列出所指定的软件包,后可以加上你想查找的软件包的名字

$yum list installed //列出所有已安装的软件包

$yum info installed //列出所有已安裝的软件包信息

5,dpkg  (Ubuntu)

查看安装的所有软件    dpkg -l

查看安装的某个软件    例如:dpkg -l | grep ftp

查看软件安装的路径    dpkg -L | grep ftp

6,apt  (Ubuntu)

更新软件源: apt update

搜索软件: apt search package_name

软件列表: apt list

已安装软件: apt list --installed

安装软件: apt install package_name

修复软件依赖: apt install -f

升级软件: apt upgrade package_name

卸载软件: apt remove package_name

卸载软件及依赖: apt autoremove package_name

删除配置: apt purge package_name

7.whereis

whereis是查找文件或者命令的所在目录

#whereis pwd //查找pwd命令所在的目录

8.  find

这个命令可用来查找系统是否安装了指定的软件包,更重要的是也可以查找自己对软件包名称记忆不是很清晰的软件包。而且我想是这是所有linux和unix都支持的。find的查找范围很广,功能强大,再搭配用正则表达,效果很好,不过建议尽量缩小搜索范围,减少系统压力,毕竟,当系统文件多了,搜索耗费时间和资源的。

$find / -name "python" //从根目录开始查找包含”python“这个字符的文件和文件夹。

find的详细使用有如下例子:

# find . -maxdepth 1 -name *.jpg -print -exec convert  在当前目录下查找,查找深度为一,查找以.jpg结尾文件,并将其转化

# find / -name *.rpm -exec chmod 755 ‘{}‘ \;  搜索以 ‘.rpm‘ 结尾的文件并定义其权限

# find / -name file1  从 ‘/‘ 开始进入根文件系统搜索文件和目录

# find / -perm -u+s  罗列一个系统中所有使用了SUID控制的文件

# find / -user user1  搜索属于用户 ‘user1‘ 的文件和目录

# find / -xdev -name \*.rpm  搜索以 ‘.rpm‘ 结尾的文件,忽略光驱、捷盘等可移动设备

# find /home/user1 -name ‘*.txt‘ | xargs cp -av --target-directory=/home/backup/ --parents  从一个目录查找并复制所有以 ‘.txt‘ 结尾的文件到另一个目录

# find /home/user1 -name \*.bin  在目录 ‘/ home/user1‘ 中搜索带有‘.bin‘ 结尾的文件

# find /usr/bin -type f -atime +100  搜索在过去100天内未被使用过的执行文件

# find /usr/bin -type f -mtime -10  搜索在10天内被创建或者修改过的文件

# find /var/log -name ‘*.log‘ | tar cv --files-from=- | bzip2 > log.tar.bz2  查找所有以 ‘.log‘ 结尾的文件并做成一个bzip包

原文链接:https://blog.csdn.net/bbwangj/article/details/80346924

python 安装包查询_Linux系统下查找安装包所在目录相关推荐

  1. python禁用键盘鼠标_linux系统下,python 调用终端禁用鼠标键盘

    一.在linux系统下使用终端禁用设备 二.使用python调用终端禁用设备. 三.完整的代码 一.在linux系统下使用终端禁用设备 1.在终端中输入 xinpot list   会显示所有的输入设 ...

  2. Linux系统下查找最近修改过的文件

    Linux的终端上,没有windows的搜索那样好用的图形界面工具,但find命令确是很强大的. 比如按名字查找一个文件,可以用 find / -name targetfilename . 唉,如果只 ...

  3. linux 打印当前系统环境_Linux系统下搭建python环境

    首先linux系统下一般是自带python2环境的,但是目前大多数项目工程python2是不适用的,今天我们就来讲解下如何在linux系统下搭建python3! 以上是自带的python2,接下来搭建 ...

  4. python安装docx库_linux 环境下的python 安装 docx 的过程

    由于linux 系统环境下的python是系统管理员安装好的,所安装的库也是固定的. 如果环境中没有自己要用的库,则需要自己安装.并且只能自己新建一个虚拟环境,让python 运行在新建的虚拟环境中. ...

  5. linux下mysql无法访问_Linux系统下无法访问mysql怎么办

    ysql是一个关系型数据库管理系统,但最近有用户反映,在Linux系统下无法访问mysql,相信不少用户都有遇到过这个问题,这是怎么回事呢?Linux系统下无法访问mysql该怎么办呢?接下来是小编为 ...

  6. linux tomcat连接mysql步骤_linux系统下tomcat的安装步骤

    1.从网上下载tomcat linux的安装包 如:apache-tomcat-7.0.79.tar.gz 2.通过Xftp 将此安装包复制到linux下的指定位置上 3. cd /usr/local ...

  7. python下载opencv库_Window系统下Python如何安装OpenCV库

    关于OpenCV简介 OpenCV是一个基于BSD许可(开源)发行的跨平台计算机视觉库,可以运行在Linux.Windows.Android和Mac OS操作系统上.它轻量级而且高效--由一系列 C ...

  8. 如何将exe文件在linux下执行,如何在Linux系统下查找可执行文件

    可执行文件是指可移植可执行的文件,用于程序的执行,那么Linux下要如何查找可执行文件呢?下面小编就给大家介绍下Linux中查找可执行文件的方法,一起来了解下吧. linux下查找可执行文件 ls - ...

  9. linux下java多线程_Linux系统下Java问题排查——cpu使用率过高或多线程锁问题

    原标题:Linux系统下Java问题排查--cpu使用率过高或多线程锁问题 一个系统.特别是多线程并发的后台系统,在某些特定场景下,可能触发系统中的bug:导致cpu一直居高不下.进程hang了或处理 ...

最新文章

  1. B 站神曲damedane:精髓在于换脸,五分钟就能学会
  2. 乐迪机器人正确操作_什么是机器人示教器?
  3. 关于Window操作系统中对Oracle的性能监控
  4. 获取客户端浏览器信息
  5. c++11新特性_【C++11新特性】 C++11智能指针之weak_ptr
  6. 研发解决方案介绍#Tracing(鹰眼)
  7. moonmq: 用go实现的高性能message queue
  8. 高并发架构系列:Redis并发竞争key的解决方案详解
  9. Vue2 + ElementUI登录界面模板
  10. RGCF: Refined Graph Convolution Collaborative Filering withConcise and Expressive Embedding
  11. mac无法验证此app不包含恶意软件
  12. 【数据库系统】——经典示例University数据库建表代码和添加数据(大学系统)
  13. 让我十二点催她睡觉,我用 Python 轻松解决
  14. 声源定位matlab模拟,毕业论文-基于MATLAB的声源定位系统.doc
  15. 【前端】JS的BOM和DOM,事件,表单验证案例
  16. java init方法
  17. oracle字段长度不足位数补零
  18. 解决-Dmaven.multiModuleProjectDirectory system property is not set. Check $M2_HO问题
  19. ‘dict_keys‘ object does not support indexing错误解决
  20. 泛融科技CEO王小彬:区块链技术创造新商业模式

热门文章

  1. 在Eclipse中使用SDK中的@hide函数
  2. MariaDB 10之并行复制--延迟测试结果
  3. keepalived+lvs+nginx高可用
  4. Effective C++读书摘要--Implementations二
  5. BestCoder15 1002.Instruction(hdu 5083) 解题报告
  6. windows sdk 学习笔记(8)
  7. 通过Content Editor来增加页面的控制
  8. 大数据之-Hadoop3.x_MapReduce_ReduceTask源码解析---大数据之hadoop3.x工作笔记0127
  9. C++_程序内存模型_内存四区_代码区_全局区_每种区域都存放什么样的变量---C++语言工作笔记028
  10. 大数据之-Hadoop完全分布式_集群时间同步---大数据之hadoop工作笔记0043