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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM