linuxwhich命令安裝,linux利用whereis,which查找文件

 2023-10-27 阅读 53 评论 0

摘要:在linux上安裝了某個應用時,是否會偶爾找不到應用的某些文件位置??? 可以通過find命令查找,但是也可以通過whereis,which來快速定位。 whereis whereis可以定位二進制文件,源文件,說明文件,查找時不需要文件的

在linux上安裝了某個應用時,是否會偶爾找不到應用的某些文件位置???
可以通過find命令查找,但是也可以通過whereis,which來快速定位。

whereis

whereis可以定位二進制文件,源文件,說明文件,查找時不需要文件的前置路徑和后置擴展,whereis會嘗試在標準的linux位置,$PATH 和 $MANPATH中定位我們想要的程序。并且whereis可以同時分別查找多個文件。例如, 在man whereis有如下例子,

tangs@ubuntu:~$ whereis -bm ls tr -m gcc
ls: /bin/ls /usr/share/man/man1/ls.1.gz
tr: /usr/bin/tr /usr/share/man/man1/tr.1.gz
gcc: /usr/share/man/man1/gcc.1.gz

linuxwhich命令安裝。這就是查找ls,tr的二進制文件路徑和說明文件路徑,同時只查找gcc的說明文件路徑。

whereis提供以下可輸入參數:

參數說明
-b查找二進制位文件
-m查找說明文件
-s查找源文件
-u只顯示有不尋常的條目的命令;如果一個命令對于一個明確的請求類型不是只有一個條目(即0和多個),則稱這個命令是不尋常的。
-B directory指定目錄查找二進制文件
-M directory指定目錄查找說明文件
-S directory指定目錄查找源文件
-f將需要查找的路徑和需要查找的命令隔開,必須和 -B,-M,-S 一起使用
-l列出whereis查找命令時的有效的查找路徑
-h查看幫助信息
-V查看版本信息

以上參數中值得注意的是-f參數,它的原文解釋為:

Terminates the directory list and signals the start of filenames.  It must be used when any of the -B, -M, or -S options is used.

linux與unix,但是一些blog和教程網站的解釋為不顯示文件名前的路徑名稱,如下圖,我是覺得他們都解釋錯了。這應該是解釋為在使用 -B,-M,-S時指定的路徑是多個,查找的文件也是多個,那就需要一個-f參數將 查找的路徑和查找的文件隔開,形如:

# where -BMS 目錄 -f 文件名
tangs@ubuntu:/bin$ whereis -S /bin/ /usr/local -f ls ps
ls: /bin/ls /usr/share/man/man1/ls.1.gz /bin/ls
ps: /bin/ps /usr/share/man/man1/ps.1.gz /bin/ps

在這里插入圖片描述

which

which是一個很簡單的命令,它就是在當前環境變量中查找可被執行文件或者可被執行文件鏈接的路徑,最終就是在$PATH中查找路徑,whereis命令已經可以做到這一點了。
實例:

tangs@ubuntu:/bin$ which ls ps
/bin/ls
/bin/ps

版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。

原文链接:https://808629.com/166468.html

发表评论:

本站为非赢利网站,部分文章来源或改编自互联网及其他公众平台,主要目的在于分享信息,版权归原作者所有,内容仅供读者参考,如有侵权请联系我们删除!

Copyright © 2022 86后生记录生活 Inc. 保留所有权利。

底部版权信息