Linux系统下查找安装包所在目录
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</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(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
Linux系统下查找安装包所在目录的更多相关文章
- Linux 查找安装包所在目录的常用方法
1. which命令查找出相关命令是否已经在搜索路径中: $which gcc //显示出GNC的C编译器安装在哪个目录 返回: /usr/bin/gcc 注意:如果which没有找到要找的命令,可以 ...
- Linux系统下查找文件的方法
Linux系统下查找文件的方法 作者:Vashon 时间:20150419 方法一.在当前目录里查找所有名为以 java 开头的文件: find ./ -name "java*" ...
- Linux系统下查找最近修改过的文件
Linux的终端上,没有windows的搜索那样好用的图形界面工具,但find命令确是很强大的. 比如按名字查找一个文件,可以用 find / -name targetfilename . 唉,如果只 ...
- mac系统下通过安装包的形式安装mongdb
下载地址 mongoDB mongoDB 图形化管理软件 MongoDB Compass 下载完成后,进行解压,解压后的文件进行重命名 mongodb 然后前往/usr/local,将mongodb文 ...
- CentOS Linux系统下更改Apache默认网站目录
引言: Apache默认的网站目录是在/var/www/html,我们现在要把网站目录更改到/home/wwwroot/web1/htdocs,操作如下 准备工作: 创建目录: cd /home mk ...
- redis在windows和Linux系统下的下载、安装、配置
1.下载redis安装包 在redis的官网只有Linux系统下的安装包,微软的GitHub上有提供windows版本的redis安装包 redis中文网:http://www.redis.cn/ 微 ...
- linux系统下怎么安装.deb文件
linux系统下怎么安装.deb文件? deb 是 ubuntu .debian 的格式.rpm 是 redhat .fedora .suse 的格式. 他们不通用(虽然可以转换一下). deb是de ...
- linux系统下怎么安装.deb文件?
linux系统下怎么安装.deb文件? deb 是 ubuntu .debian 的格式. rpm 是 redhat .fedora .suse 的格式. 他们不通用(尽管能够转换一下). deb是d ...
- Linux系统下第三方软件安装实例
在第三方软件安装的时候,首先要有自己的rpm安装包!然后要有可以使用的yum源(前面有关于yum源的介绍) 一.安装wps步骤如下: 1)首先进入安装包所在目录,并查看有没有要安装的软件 2)然后,对 ...
- linux下各安装包的安装方法
<转>linux下各安装包的安装方法 一.rpm包安装方式步骤: 1.找到相应的软件包,比如soft.version.rpm,下载到本机某个目录: 2.打开一个终端,su -成root ...
随机推荐
- NOIP模拟70
T1 暴雨 解题思路 \(f_{i,j,k,0/1}\) 表示前 i 个铲平 j 个当前最高的是 k 并且当前是 奇数/偶数 的方案数. 由于只可以铲平 k 块,因此对于同一种 \(i,j\) 而言高 ...
- itest(爱测试) 4.5.7 发布,开源BUG 跟踪管理 & 敏捷测试管理&极简项目管理软件
itest 简介 itest 开源敏捷测试管理,testOps 践行者,极简的任务管理,测试管理,缺陷管理,测试环境管理,接口测试5合1,又有丰富的统计分析.可按测试包分配测试用例执行,也可建测试迭代 ...
- JavaSE数组
目录 数组 概念 如何创建数组 数组的访问与迭代 二维数组 定义: 数组的声明 数组创建(会自动进行初始换为0) 数组遍历 数组 概念 在Java中,数组是一种用于存储多个相同类型元素的数据结构. ...
- LeetCode 409. Longest Palindrome 最长回文串(C++/Java)
题目: Given a string which consists of lowercase or uppercase letters, find the length of the longest ...
- CentOS7打开终端快捷键
点击右上角的用户名,选择设置>>键盘>>快捷键,然后点+,名称自己写,命令是"/usr/bin/gnome-terminal",这个是不能改的,再点应用,这 ...
- Spring源码——详细流程图(超详细)
Spring源码流程图
- JS 过滤掉两个数组中对象id值相等的项
const arr1 = [{ id: 1, name: '老二' }]; const arr2 = [{ id: 1, name: '网' }, { id: 2, name: '二位' },{ id ...
- 函数式表达式基本类型及固定类型 demo
1.常见类型及使用 import java.util.function.BiConsumer; import java.util.function.BiFunction; import java.ut ...
- Mysql行转列,列转行 WITH ROLLUP 统计
Mysql行转列,列转行 WITH ROLLUP 统计 DROP TABLE IF EXISTS tb_score; CREATE TABLE tb_score( id INT(11) NOT NUL ...
- spring与设计模式之五委派模式
一.定义 主要突出一个安排,派遣. 这个设计模式非常常见,不需要学习也能自然而然地用上. 从广义的角度出发,一个对象用另外一个对象就是委派. 二.经典实现 略. 三.spring实例代码 https: ...