出于各种原因,要判断实际需要的东西在哪个软件包里,需要有点儿小技巧。
可以使用which
命令来查找相关的二进制程序是否在搜索路径中:
$ which gcc
/opt/pware/bin/gcc
如果which
没有找到要找的命令,那么可以试试whereis
;该命令可以搜素更大范围的系统目录,与shell的搜索路径无关。
另外可以使用locate
命令,它参照预先编译好的一个文件系统索引,以此确定与特定模式相匹配的文件名。locate
的搜索并不只针对命令或者软件包,而是能够找到任何类型的文件。例如,如果读者不知道头文件signal.h
在哪里:
$ locate signal.h
/usr/include/signal.h
/usr/include/asm/signal.h
/usr/include/asm-generic/signal.h
/usr/include/linux/signal.h
locate
命令需要维持一个数据库,这个数据库通常由updatedb
命令定期更新,这条命令由cron
运行。因此,执行locate的结果并不总是能反应最近文件系统的变化。
如果用户知道要查找的软件包的名字,也可以使用系统上的软件包工具来直接检查是否存在该软件包。例如,在Red Hat或者SUSE系统上,可以使用鲜面的命令检查是否有Python:
$ rpm -q python
python-2.4.3-21.e15
如果使用Debian系统,可以使用dpkg -s
或者dpkg-query
命令.
网友评论