服务器之家:专注于服务器技术及软件下载分享
分类导航

Linux|Centos|Ubuntu|系统进程|Fedora|注册表|Bios|Solaris|Windows7|Windows10|Windows11|windows server|

服务器之家 - 服务器系统 - Linux - Linux系统下查找安装包所在目录的方法汇总

Linux系统下查找安装包所在目录的方法汇总

2019-09-17 14:36大步's Blog Linux

这篇文章主要介绍了Linux系统下查找安装包所在目录的方法汇总,总共介绍了六条相关命令,需要的朋友可以参考下

linux的text模式下,想知道系统下安装了哪些软件包,以及软件包安装在哪个目录下,可以用以下命令,当然,可能还不止,我所知道的目前就是下面的这些。如果你还有新的,可以留言告诉我。

1. 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

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

 

复制代码
代码如下:
$ rpm -q python //查找检查系统是否安装了python</p> <p>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

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

 

复制代码
代码如下:

$yum list //列出所指定的软件包,后可以加上你想查找的软件包的名字
$yum linst installed //列出所有已安装的软件包
$yum info installed //列出所有已安裝的软件包信息

 

 

5.whereis

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

 

复制代码
代码如下:
#whereis pwd //查找pwd命令所在的目录

 

6.  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包

延伸 · 阅读

精彩推荐
  • Linux理解 Linux/Unix 登录脚本的技巧

    理解 Linux/Unix 登录脚本的技巧

    有一些常见的情况,例如从Debian的包管理程序到Iaas的管理中,很多任务需要设置环境变量才能正常运行。 有时,程序通常只需要在 登陆时运行一次,例如...

    未知1042023-05-12
  • Linuxlinux驱动程序开发详细介绍

    linux驱动程序开发详细介绍

    前提,一般来说内核代码的错误可能会引起一个用户进程的死亡,或者整个系统的瘫痪,更严重的后果,可能导致磁盘损伤~因此建议最好有一台实验机进行...

    Linux教程网5392019-12-17
  • Linuxlinux top命令详解

    linux top命令详解

    这篇文章主要介绍了linux top命令详解,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧...

    sparkdev5622022-03-01
  • Linuxlinux设置tomcat自启动的方法

    linux设置tomcat自启动的方法

    这篇文章主要介绍了linux设置tomcat自启动的方法,需要的朋友可以参考下...

    Linux教程网8512021-10-10
  • Linux将 Linux 终端与 Nautilus 文件管理器结合起来

    将 Linux 终端与 Nautilus 文件管理器结合起来

    Nautilus 是 GNOME 桌面环境中的图形化文件浏览器。你可以使用它来访问和管理系统中的文件和文件夹。 尽管并非所有人都喜欢使用终端来管理文件和目录,...

    未知812023-08-08
  • Linuxssh 登录很慢该如何解决

    ssh 登录很慢该如何解决

    这篇文章主要介绍了ssh 登录很慢该如何解决的相关资料,这里提供了两种方法,DNS反向解析及关闭ssh的gssapi认证的解决办法,需要的朋友可以参考下...

    linuxeye9922021-12-16
  • Linux在Linux系统中创建新的亚马逊AWS访问密钥的方法

    在Linux系统中创建新的亚马逊AWS访问密钥的方法

    如何在Linux系统中创建新的亚马逊AWS访问密钥?我在配置一个需要访问我的亚马逊AWS帐号的应用时被要求提供AWS访问密钥ID和秘密访问密钥,我怎样创建一个...

    Linux教程网6182019-10-30
  • LinuxLinux系统下无法卸载挂载的目录怎么办?

    Linux系统下无法卸载挂载的目录怎么办?

    我们在日常运维中经常性会遇到需要进行磁盘的扩容、卸载、挂载等操作,但是有时候这个系统上跑的应用并没有停止或者有其他的运维同事在操作这个目...

    今日头条10302020-12-30