which命令查找出相关命令是否已经在搜索路径中,例子如下:
//显示出ping安装在哪个目录
[root@xamppr10 bin]# which ping 返回结果为: /usr/bin/ping
locate命令用于查找文件,它比find命令的搜索速度快,它需要一个数据库。
[root@xamppr10 ~]# updatedb [root@xamppr10 ~]# locate php.ini /opt/zbox/etc/php/php.ini /opt/zbox_old/etc/php/php.ini
如果用户知道自己要查找到软件包的名字,可以直接使用下面的命令。
//查找检查系统是否安装了 [root@xamppr10 ~]# rpm -q python python-2.7.5-90.el7.x86_64
或者:
$rpm -qa| grep python //这是两个命令的结合 [root@xamppr10 ~]# rpm -qa| grep python langtable-python-0.0.31-4.el7.noarch python-IPy-0.75-6.el7.noarch python2-futures-3.1.1-5.el7.noarch python-jwcrypto-0.4.2-1.el7.noarch python-iniparse-0.4-9.el7.noarch python-backports-1.0-8.el7.x86_64 libstoragemgmt-python-clibs-1.8.1-2.el7_9.x86_64 python-firewall-0.6.3-13.el7_9.noarch python-kitchen-1.1.1-5.el7.noarch python-2.7.5-90.el7.x86_64 abrt-python-2.1.11-60.el7.centos.x86_64 python-ipaddress-1.0.16-2.el7.noarch python-gobject-3.22.0-1.el7_4.1.x86_64 python-enum34-1.0.4-1.el7.noarch python-urwid-1.1.1-3.el7.x86_64 python-netaddr-0.7.5-9.el7.noarch python-requests-2.6.0-10.el7.noarch python-javapackages-3.4.1-11.el7.noarch python2-ipaclient-4.6.8-5.el7.centos.6.noarch python-deltarpm-3.6-3.el7.x86_64 dbus-python-1.1.1-9.el7.x86_64 libselinux-python-2.5-15.el7.x86_64 python-augeas-0.5.0-2.el7.noarch python-pwquality-1.2.3-5.el7.x86_64 python-netifaces-0.10.4-3.el7.x86_64 python-dateutil-1.5-7.el7.noarch libuser-python-0.60-9.el7.x86_64 python-urllib3-1.10.2-7.el7.noarch python-schedutils-0.4-6.el7.x86_64 python2-ipalib-4.6.8-5.el7.centos.6.noarch python-pyblock-0.53-6.el7.x86_64 python-ethtool-0.8-8.el7.x86_64 python-setuptools-0.9.8-7.el7.noarch python-pyudev-0.15-9.el7.noarch python-sssdconfig-1.16.5-10.el7_9.8.noarch python-yubico-1.2.3-1.el7.noarch python-ntplib-0.3.2-1.el7.noarch python-ply-3.4-11.el7.noarch python-rtslib-2.1.74-1.el7_9.noarch python2-subprocess32-3.2.6-14.el7.x86_64 python-slip-0.4.0-4.el7.noarch libreport-python-2.1.11-53.el7.centos.x86_64 python-configobj-4.7.2-7.el7.noarch python-gobject-base-3.22.0-1.el7_4.1.x86_64 policycoreutils-python-2.5-34.el7.x86_64 python-perf-3.10.0-1160.31.1.el7.x86_64 python-gssapi-1.2.0-3.el7.x86_64 liblouis-python-2.5.2-12.el7_4.noarch python-libipa_hbac-1.16.5-10.el7_9.8.x86_64 python-configshell-1.1.26-1.el7.noarch python-inotify-0.9.4-4.el7.noarch python-kmod-0.9-4.el7.x86_64 python-lxml-3.2.1-4.el7.x86_64 python2-blockdev-2.18-5.el7.x86_64 python-linux-procfs-0.4.11-4.el7.noarch cryptsetup-python-2.0.3-6.el7.x86_64 python-slip-dbus-0.4.0-4.el7.noarch python-smbc-1.0.13-8.el7.x86_64 python-dns-1.12.0-4.20150617git465785f.el7.noarch audit-libs-python-2.8.5-4.el7.x86_64 python-cffi-1.6.0-5.el7.x86_64 python2-cryptography-1.7.2-2.el7.x86_64 python-blivet-0.61.15.76-1.el7_9.noarch python-chardet-2.2.1-3.el7.noarch python-pycurl-7.19.0-19.el7.x86_64 rpm-python-4.11.3-45.el7.x86_64 python-backports-ssl_match_hostname-3.5.0.1-1.el7.noarch python-brlapi-0.6.0-16.el7.x86_64 libsemanage-python-2.5-14.el7.x86_64 systemd-python-219-78.el7_9.3.x86_64 python-meh-gui-0.25.3-1.el7.noarch python2-pyasn1-modules-0.1.9-7.el7.noarch speech-dispatcher-python-0.7.1-15.el7.x86_64 python-pycparser-2.14-1.el7.noarch python-idna-2.4-1.el7.noarch libstoragemgmt-python-1.8.1-2.el7_9.noarch python-urlgrabber-3.10-10.el7.noarch abrt-addon-python-2.1.11-60.el7.centos.x86_64 python2-pyasn1-0.1.9-7.el7.noarch python-ldap-2.4.15-2.el7.x86_64 python-qrcode-core-5.0.1-1.el7.noarch python-decorator-3.4.0-3.el7.noarch python-cups-1.9.63-6.el7.x86_64 newt-python-0.52.15-4.el7.x86_64 python-meh-0.25.3-1.el7.noarch python-sss-murmur-1.16.5-10.el7_9.8.x86_64 python-nss-0.16.0-3.el7.x86_64 python-di-0.3-2.el7.noarch python-libs-2.7.5-90.el7.x86_64 python2-pyatspi-2.26.0-3.el7.noarch libpeas-loader-python-1.22.0-1.el7.x86_64 libxml2-python-2.9.1-6.el7.5.x86_64 python-coverage-3.6-0.5.b3.el7.x86_64 python-six-1.9.0-2.el7.noarch rpm的其他用法: rpm -qa (列出所有安装了的包) rpm -e package (删除某个包) rpm -qi package (查询某个包) rpm -qf command (根据程序查询包的名字) rpm -ql package (查询某个包所有的安装文件)
yum的参数很多,以下是用于查找软件包的命令。
$yum list //列出所指定的软件包,后可以加上你想查找的软件包的名字
$yum list installed //列出所有已安装的软件包
$yum info installed //列出所有已安裝的软件包信息
whereis是查找文件或者命令的所在目录
//查找pwd命令所在的目录 [root@xamppr10 ~]# whereis pwd pwd: /usr/bin/pwd /usr/share/man/man1/pwd.1.gz /usr/share/man/man1p/pwd.1p.gz
这个命令可用来查找系统是否安装了指定的软件包,更重要的是也可以查找自己对软件包名称记忆不是很清晰的软件包。find的查找范围很广,功能强大,再搭配用正则表达,效果很好,不过建议尽量缩小搜索范围,减少系统压力,毕竟,当系统文件多了,搜索耗费时间和资源的。
//从根目录开始查找包含”python“这个字符的文件和文件夹
$find / -name "python"
[root@xamppr10 ~]# find / -name "python" /etc/python /usr/bin/python /usr/lib64/libreoffice/share/Scripts/python /usr/share/gcc-4.8.2/python /usr/share/gdb/python
find的详细使用有如下例子:
//在当前目录下查找,查找深度为一,查找以.jpg结尾文件,并将其转化 find . -maxdepth 1 -name *.jpg -print -exec convert //搜索以 '.rpm' 结尾的文件并定义其权限 find / -name *.rpm -exec chmod 755 '{}' \ //从 '/' 开始进入根文件系统搜索文件和目录 find / -name file1 //罗列一个系统中所有使用了SUID控制的文件 find / -perm -u+s //搜索属于用户 'user1' 的文件和目录 find / -user user1 //搜索以 '.rpm' 结尾的文件,忽略光驱、捷盘等可移动设备 find / -xdev -name \*.rpm //从一个目录查找并复制所有以 '.txt' 结尾的文件到另一个目录 find /home/user1 -name '*.txt' | xargs cp -av --target-directory=/home/backup/ --parents //在目录 '/ home/user1' 中搜索带有'.bin' 结尾的文件 find /home/user1 -name \*.bin //搜索在过去100天内未被使用过的执行文件 find /usr/bin -type f -atime +100 //搜索在10天内被创建或者修改过的文件 find /usr/bin -type f -mtime -10 //查找所有以 '.log' 结尾的文件并做成一个bzip包 find /var/log -name '*.log' | tar cv --files-from=- | bzip2 > log.tar.bz2